Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по программированию » .NET - Framework »

Обсудить на форуме Обсудить на форуме

Что такое .NET
Kомпания Microsoft 6 февраля 2002 г. в Санкт-Петербурге провела семинар «.NET как платформа разработки XML Web-сервисов» с докладом известного специалиста Дэвида Чаппела (David Chappel), автора книги «Understanding .NET». Мне посчастливилось посетить это мероприятие, и выбор темы этой статьи обязан исключительму презентационному мастерству Дэвида и его очень интересному и содержательному докладу.
Kомпания Microsoft 6 февраля 2002 г. в Санкт-Петербурге провела семинар «.NET как платформа разработки XML Web-сервисов» с докладом известного специалиста Дэвида Чаппела (David Chappel), автора книги «Understanding .NET». Мне посчастливилось посетить это мероприятие, и выбор темы этой статьи обязан исключительму презентационному мастерству Дэвида и его очень интересному и содержательному докладу.

В своем выступлении Дэвид Чаппел несколько раз подчеркнул, что он не является сотрудником Microsoft и выражает исключительно свое личное мнение. Аналогично, спешу заверить, что все изложенное ниже является исключительно моим взглядом на мир .NET, сформировавшимся под воздействием доклада Дэвида и личных впечатлений.

.NET — это взгляд в будущее

Прежде всего, Microsoft .NET — это мечта о светлом информационном будущем. Создание платформы .NET меняет все в мире Windows: языки программирования, библиотеки и интерфейсы, способы выполнения приложений. И все это ради того, чтобы выйти за рамки сложившейся практики использования приложений и сетей, локальных и глобальных, для предоставления новых возможностей по интеграции приложений, бизнеса, услуг.

.NET — это брэнд

.NET — это брэнд, раскручиваемая товарная марка, которая ставится на все, что продается, даже если технологий .NET в этих продуктах еще нет. Так, на сегодняшний день на рынке уже присутствует целое семейство серверных программных продуктов Microsoft, называемых серверами .NET: Windows 2000 Server и Advanced Server, Application Center 2000, BizTalk Server 2000, SQL Server 2000 и т. д. Впрочем, во многих из этих серверов присутствует поддержка XML, а это уже близко к стратегии .NET. Как выразился Дэвид Чаппел в своем выступлении, Microsoft несколько лет назад приняла религию XML.

Основные продукты, поставляемые сегодня под маркой .NET

•  .NET Framework — среда выполнения, в которой работают созданные программные компоненты. Среда обеспечивает безопасность выполнения кода, автоматическую сборку мусора, контроль версий модулей и предоставляет библиотеки классов, заменившие и расширившие стандартные интерфейсы прикладного программирования (API).
• Visual Studio.NET — флагманский продукт Microsoft для разработчиков, одна из лучших интегрированных сред разработки. Теперь содержит только один компилятор, способный порождать обычный двоичный код для процессоров Intel — компилятор C/C++. Предоставляет набор новых и измененных языков программирования для создания программных компонентов для .NET Framework: Visual Basic.NET, C# (произносится «Си-шарп»), C++ с дополненным синтаксисом — C++ managed extentions и JScript.NET. Ожидается поддержка множества других языков программирования от независимых производителей.
•  .NET Enterprise servers (корпоративные сервера .NET) — SQL Server 2000, Exchange 2000 и т. д. (http://www.microsoft.com/net/products/servers.asp).

.NET — платформа для построения приложений

В чем проблема современных приложений? Мы им не верим. Откуда администратору знать, что пробная версия архиватора, бесплатная программа обмена сообщениями или проигрыватель видеофильмов не содержат в себе невыявленных проблем безопасности: программных закладок, ошибок переполнения буфера, неизвестных вирусов, которые могут нарушить нормальную работу других программ пользователя или даже операционной системы. Да, линейка Windows NT/2000 является защищенной операционной системой, но не бывает абсолютно защищенных систем, всегда будет оставаться шанс, что в системе остались невыявленные проблемы безопасности, которыми смогут воспользоваться чьи-то программы. Кроме того, ошибки бывают не только в программных системах, но и в аппаратуре, например
в процессоре. Некоторые процессоры семейства Pentium содержали ошибку, получившую название F00F-bug, приводившую к полной блокировке процессора при попытке выполнить несуществующую инструкцию, код которой начинался с F00F.

Тем не менее, выход из данной ситуации тотального недоверия чужому коду есть, и заключается он в исполнении кода в виртуальной среде выполнения, позволяющей контролировать и ограничивать права выполняемого кода в отношении абсолютно всех ресурсов: памяти, процессора, сети, файловой системы, других программ. Такой виртуальной средой является .NET Framework.

.NET Framework

.NET Framework — это среда выполнения для приложений нового поколения. Эта среда может быть установлена в любые версии Windows, начиная с Windows 98, и обеспечить виртуальную систему исполнения (Virtual Execution System) для приложений, созданных с помощью Visual Studio.NET.

Особенность приложений для .NET Framework заключается в том, что они, подобно приложениям Java, содержат не инструкции процессоров Intel, а инструкции виртуальной машины. В случае Java эти инструкции называются байт-код, в случае .NET — Microsoft Intermediate Language (MSIL). Как показал опыт Java, вместо интерпретации кода виртуальной машины лучше транслировать его в инструкции реального процессора, такого как Intel Pentium, даже если это приходится делать непосредственно при исполнении приложения (Just In Time — JIT). Поэтому .NET Framework вместо интерпретатора MSIL содержит его JIT-компилятор. Кроме того, существует возможность однократно выполнить прекомпиляцию (например, при установке программы) и пользоваться ее результатами в будущем.

Формат исполняемых файлов .NET Framework расширяет спецификацию PE (Portable Executable), так что мы по-прежнему имеем дело с EXE и DLL-файлами, но содержание у них новое.
Среда выполнения кода MSIL называется Common Language Runtime (CLR) и обеспечивает реализацию общих возможностей всех языков программирования .NET, что устраняет проблему взаимодействия компонентов, написанных на разных языках. Эта среда также обеспечивает возможность взаимодействия с компонентами COM+, что обеспечивает возможность доступа к прежним библиотекам компонентов.

.NET Framework SDK

Разработка приложений, создание качественных новых программ — один из самых трудоемких и сложных процессов в современном мире информационных технологий. Один из лучших в мире инструментов для разработчика — Microsoft Visual Studio. Уже завершена разработка Visual Studio.NET — последней версии среды, предназначенной для создания новых приложений для среды исполнения .NET Framework и обычных Win32 приложений.

На самом деле, вовсе не обязательно использовать могущественную среду Visual Studio.NET для создания простых приложений .NET Framework. Кроме того, Visual Studio.NET доступна на сайте msdn.microsoft.com только подписчикам MSDN, а .NET Framework SDK может загрузить с сайта каждый (тем более, что его размер гораздо меньше: 130 МБ вместо 2 ГБ Visual Studio.NET).
Для установки .NET Framework SDK необходима система не младше Windows NT SP6a (рекомендуется Windows 2000) с Internet Explorer 5.5.

По умолчанию программа установки предлагает поместить .NET Framework SDK в каталог %ProgramFiles%\Microsoft.Net\FrameworkSDK\, но лично мне удобнее выбрать для этого каталога имя покороче, например, C:\NetFXSDK. После установки в нашем распоряжении оказываются следующие основные средства.

В каталоге %ProgramFiles%\Microsoft.Net\FrameworkSDK\ (или в C:\NetFXSDK соответственно):
•  Ассемблер MSIL (ilasm.exe).
Позволяет превратить текстовый файл с кодом на MSIL в PE-файл (EXE или DLL), который будет выполняться при наличии совместимой версии .NET Framework.
• Дизассемблер MSIL (ildasm.exe). Используется для дизассемблирования и просмотра MSIL-кода, содержащегося в PE-файле.
• Отладчик с консольным (текстовым) интерфейсом (cordbg.exe).
• Отладчик с графическим интерфейсом (DbgUrt.exe) (не устанавливается в Windows 98/ME).

В каталоге %windir%\ Microsoft.NET\Framework\v1.0.2914 (цифры будут меняться от версии к версии):
• Компилятор языка C# (csc.exe).
• Компилятор языка VB.NET (vbc.exe).
• Компилятор языка JScript.NET (jsc.exe).

Конечно, это далеко не полный список утилит, на самом деле инструментарий несколько сложнее.

По старой традиции, освоение системы программирования начнем с создания программы, выводящей на консоль строку приветствия. Вот как это будет выглядеть на C# (листинг 1):

using System;
class HelloWorld {
public static void Main(){
Console.WriteLine(«Hello World of C#!»);
}}
Листинг 1. hellocs.cs

Как видно, синтаксис C# подражает синтаксису Java. На VB.NET тот же фрагмент кода будет выглядеть так (Листинг 2):

Imports System
Public Module HelloWorld
Sub Main()
Console.WriteLine («Hello World of VB.NET!»)
End Sub
End Module
Листинг 2. hellovb.vb

Разберем, из чего состоит наша программа:
1) Подключаем пространство имен System, чем упрощаем ссылки на методы библиотечных классов, которые являются продолжением пространства имен System.
2) Объявляем публичный класс с произвольным именем.
3) Заводим в нем метод без параметров со специальным названием Main, не возвращающий значения.
4) В методе производим вызов метода WriteLine класса Console для вывода строки.
Заставим работать обе реализации, выполнив компиляцию (в MSIL):

C:\>csc –nologo hellocs.cs
C:\>vbc –nologo hellovb.vb
C:\>hellocs.exe
Hello World of C#!

C:\>hellovb.exe
Hello World of VB.NET!

Таким образом, первый шаг сделан, мы создали приложение для .NET Framework
с использованием .NET Framework SDK. Следующие шаги подразумевают написание более сложных программ, освоение языка и библиотек классов. Изрядным подспорьем здесь могут служить примеры и документация из комплекта .NET Framework SDK.

Кроме самостоятельной подготовки рекомендуется обратить внимание на авторизованные учебные курсы фирмы Microsoft, посвященные .NET Framework:

2124b: Introduction to C# Programming for the Microsoft .NET Platform;
2349a: Programming the Microsoft .NET Framework with C#;
2350a: Securing and Deploying Microsoft .NET Assemblies;
2373a: Programming with Microsoft Visual Basic .NET;
2415a: Programming the Microsoft .NET Framework with Visual Basic .NET;
2500a: Introduction to XML and the Microsoft .NET Platform.

На сегодняшний день еще не все из этих курсов выпущены в продажу, самую свежую информацию можно получить в разделе Training & Certification сайта Microsoft:
http://www.microsoft.com/traincert/training/ и на сайте Учебного Центра компании ЭВРИКА: http://www.eureca.ru/education/.


Может пригодится:


Автор: vashik
Прочитано: 4845
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру