Часть 1. Общая информация
Microsoft .NET Framework — это платформа для создания, развертывания и запуска web-сервисов и приложений. Она предоставляет высокопроизводительную, основанную на стандартах многоязыковую среду, которая позволяет интегрировать существующие приложения с приложениями и сервисами следующего поколения, а также решать задачи развертывания и использования интернет-приложений. .NET Framework состоит из трех основных частей — общеязыковой среды выполнения (common language runtime), иерархического множества унифицированных библиотек классов и компонентной версии ASP, называемой ASP .NET.
ASP .NET — это часть технологии .NET, используемая для написания мощных клиент-серверных интернет-приложений. Она позволяет создавать динамические страницы HTML. ASP .NET возникла в результате объединения более старой технологии ASP (активные серверные страницы) и .NET Framework. Она содержит множество готовых элементов управления, применяя которые, можно быстро создавать интерактивные web-сайты. Вы также можете использовать сервисы, предоставляемые другими сайтами, прозрачно для пользователей вашего сайта.
ASP ( англ. Active Server Pages — «активные серверные страницы») — первая технология компании Microsoft, позволяющая динамически создавать веб-страницы на стороне сервера. ASP работает на платформе операционных систем линейки Windows NT и на веб-сервере Microsoft IIS.
ASP не является языком программирования — это лишь технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования веб-страницы. Относительная популярность ASP основана на простоте используемых языков сценариев ( VBScript или JScript) и возможности использования внешних COM-компонентов.
Технология ASP получила своё развитие в виде ASP.NET — новой технологии создания веб-приложений, основанной на платформе Microsoft .NET.
Принципы ASP.NET
Хотя ASP.NET берёт своё название от старой технологии Microsoft ASP, она значительно от неё отличается. Microsoft полностью перестроила ASP.NET, основываясь на Common Language Runtime (CLR), который является основой всех приложений Microsoft .NET. Разработчики могут писать код для ASP.NET, используя практически любые языки программирования, в том числе, и входящие в комплект .NET Framework ( C#, Visual Basic.NET, и JScript .NET). ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями, так как при первом обращении код компилируется и помещается в специальный кэш, и впоследствии только исполняется, не требуя затрат времени на парсинг, оптимизацию, и т. д.
Вместе с тем следует учитывать, что указанное преимущество не всегда может быть реализовано. Это связано с тем, что на скорость работы реального проекта влияют множество факторов. В первую очередь это квалификация руководителей разработки и исполнителей: медленные алгоритмы легко сводят на нет незначительное преимущество скомпилированного кода перед интерпретацией серверных скриптов.
Преимущества ASP.NET перед ASP
Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки
Значительно улучшенная обработка ошибок времени выполнения, с использованием блоков try..catch
Пользовательские элементы управления (controls) позволяют выделять часто используемые шаблоны, такие как меню сайта
Использование метафор, уже применяющихся в Windows-приложениях, например, таких как элементы управления и события
Расширяемый набор элементов управления и библиотек классов позволяет быстрее разрабатывать приложения
ASP.NET опирается на многоязыковые возможности .NET, что позволяет писать код страниц на VB.NET, Delphi.NET, Visual C#, J# и т. д.
Возможность кэширования всей страницы или её части для увеличения производительности
Возможность кэширования данных, используемых на странице
Возможность разделения визуальной части и бизнес-логики по разным файлам («code behind»)
Расширяемая модель обработки запросов
Расширенная событийная модель
Расширяемая модель серверных элементов управления
Наличие master-страниц для задания шаблонов оформления страниц
Поддержка CRUD-операций при работе с таблицами через GridView
Встроенная поддержка AJAX
Здесь можно привести определённые сравнения. Так, ASP - производная от Win32, XML и HTML; PHP - от XML, HTML, Java и CDI, тогда ASP.NET - от HTML и .NET(XML и XAML соответственно). При этом, если обычно Rich Media Application создают при помощи Flash, теперь это делается с помощью модуля Silverlight, так же через сам ASP.NET. ASP.NET - богатейшая среда для разработки и развёртывания веб-ресурсов. В ASP.NET можно работать с любым .NET языком, вплоть до Managed C++ и Visual Basic, что позволяет не задумываться о переходе на C#.
Common Language Runtime (CLR) — «общеязыковая исполняющая среда» — компонент пакета Microsoft .NET Framework, виртуальная машина, исполняющий программы, написанные на .NET-совместимых языках программирования.
CLR интерпретирует и исполняет код на языке IL (реализация компиляции которого компанией Microsoft называется MSIL), а также предоставляет MSIL-программам (а следовательно, и программам, написанным на языках высокого уровня, поддерживающих .NET Framework) доступ к библиотекам классов .NET Framework, или так называемой .NET FCL (англ. Framework Class Library).
Среда CLR является реализацией спецификации CLI (англ. Common Language Infrastructure), спецификации общеязыковой инфраструктуры компании Microsoft.
Common Intermediate Language, сокращенно CIL — промежуточный язык, разработанный фирмой Microsoft для платформы .NET Framework. JIT-компилятор CIL является частью так называемой CLR (англ. Common Language Runtime) — общей среды выполнения языков .NET. Ранее язык назывался Microsoft Intermediate Language, однако был переименован для создания стандарта ECMA-335.
В код на языке CIL должны переводить код на языках высокого уровня все компиляторы, обеспечивающие поддержку платформы .NET. Код на CIL генерируют, в частности, все компиляторы для платформы .NET самой фирмы Майкрософт, входящие в среду разработки Visual Studio (C#, Managed C++, Visual Basic .NET, Visual J# .NET).
Язык CIL по синтаксису и мнемонике напоминает язык ассемблера. Его можно рассматривать как ассемблер виртуальной машины .NET. В то же время язык CIL содержит некоторые достаточно высокоуровневые конструкции, повышающие его уровень по сравнению с ассемблером для любой реально существующей машины, и писать код непосредственно на CIL легче, чем на ассемблере для реальных машин. Поэтому его можно рассматривать как своеобразный «высокоуровневый ассемблер».
Язык CIL также нередко называют просто IL (англ. Intermediate Language), то есть просто «промежуточный язык».
Синтаксис и мнемоника языка CIL описываются стандартом ECMA-335. Спецификация CIL является составной частью более общей спецификации CLI (англ. Common Language Infrastructure).
CLI (англ. Common Language Infrastructure) — спецификация общеязыковой инфраструктуры. Наиболее известными реализациями этого стандарта являются Microsoft .NET Framework, Mono, DotGNU Portable.NET. Спецификация CLI определяет, в частности, архитектуру исполнительной системы .NET — CLR и сервисы, предоставляемые CLR выполняемым программам, классы, предоставляемые библиотекой FCL, синтаксис и мнемонику общего промежуточного языка (IL).
Текущей версией (по состоянию на конец 2007 года) спецификации CLI является версия CLI 3.5.
|