Что такое .NET Framework и его значение для пользователей и программистов

Многие из пользователей нередко становились свидетелями тому, как при установке какой-нибудь программы система начинала просить установить какой-то Microsoft .NET Framework. Иногда в таких случаях Windows сама подключается к серверу Microsoft и скачивает требуемую версию фреймворка, но зачем этот компонент вообще нужен? Разве система не может без него обойтись?


В принципе может, но в этом случае её возможности оказались бы ограниченными. Чтобы понять, что такое .NET Framework и насколько важным он является, нужно вернуться назад к истокам создания Windows. Изначально эта операционная система проектировалась с учётом, что разрабатываемые для неё приложения будут создаваться на языке C.

.NET Framework

Разработка на C была малоприятным занятием по причине «перегруженности» языка, к тому же C не особо подходил для построения сложных конструкций. Процесс создания приложений несколько упростился с появлением ООП и понятия классов. При этом многие методы, используемые в Win 32 API стали объединяться в классы, в свою очередь стали создаваться новые классы и объединяться в библиотеки.

С одной стороны ООП и C++ упростило разработку приложений, с другой программистам всё чаще приходилось сталкиваться с проблемами совместимости. По идее, полученный в результате компиляции кода C++ EXE-файл можно было запустить на любой ОС, но оказалось, что не всё так просто. Дело в том, что в то время стало появляться много разных типов процессоров и операционных систем, и разработчикам приходилось всё это учитывать.

Не было никакой гарантии, что программа, написанная на компьютере с одной версией Windows и определённой маркой процессора, сможет корректно работать на другом ПК с другой версий ОС и другим процессором. Вторая проблема заключалась в самих поставляемых с Windows динамических библиотеках DLL. Большая часть этих библиотек опять же была ориентирована на поддержку приложений, разработанных на языке C, поэтому программистам приходилось подключать внешние библиотеки, что было связано с множеством неудобств.

Но, пожалуй, самым большим камнем преткновения был так называемый неуправляемый код, не позволяющий разграничивать права для приложений на C. Попытку найти решение предприняла компания Sun, создав виртуальную машину Java, которая управляла приложениями, правда, написанными только на Java. Виртуальная Java-машина служила своего рода прослойкой между приложениями, операционной системой и железом, беря на себя задачу по адаптации программного обеспечения.

Это решение оказалось настолько удачным, что очень скоро Java была принята на вооружение многими компаниями, включая саму Microsoft. Однако последовавший вскоре за этим судебный процесс между Sun и Microsoft положил конец их сотрудничеству и в Microsoft решили создать собственную платформу. И вот в 2001 году Microsoft анонсировала .NET Framework — платформу для разработки, отладки, тестирования и запуска приложений. Как и Java, .NET Framework служила прослойкой между приложениями и системой, а также играла роль компилятора.

Написанный на .NET Framework программный код сначала преобразовывался в некий промежуточный код, адаптировался под ОС и железо, а затем уже переводился в машинный язык, понятный процессору. В то же время в отличие от Java, .NET Framework обладала двумя важными преимуществами, в частности, автоматической очисткой памяти и возможностью выборочной компиляции, что позволяло существенно экономить ресурсы компьютера.

Что включает в себя .NET Framework

Common Language Runtime — основной компонент, ядро платформы NET Framework, отвечающее за компиляцию, запуск и управление приложениями.

Набор различных утилит, представленных компиляторами, дизассемблерами, генераторами сертификатов и т.д. Библиотеки, среди которых наибольшее значение имеют:

ADO.NET — набор классов для работы с базами данных.
Windows Form — библиотека позволяющая создавать окна Windows с классическими элементами управления.
Windows Presentation Foundation — Благодаря этой библиотеке разработчики могут создавать приложения с нестандартным интерфейсом.
Windows Communication Foundation — библиотека, предназначенная для разработки служб.
Windows Workflow — библиотека для разработки процессов.
ASP.NET — технология по разработке веб-приложений.

Значение .NET Framework сегодня

Помимо устранения проблем совместимости, неоспоримое достоинство .NET Framework заключается в его универсальности, позволяющей запускать поддерживающие технологию NET приложения не только на Windows, но и на других операционных системах. При этом разрабатываемое приложение может быть написано на любом языке программирования, даже том, который Windows «не понимает», правда при условии, что его исходный код можно перевести на промежуточный язык Microsoft MSIL или CIL. Переводя же этот код в понятный процессору язык, .NET Framework позволяет с лёгкостью запускать на Windows программы, напрямую для этой системы не предназначающиеся.

Простые пользователи видят в .NET Framework лишь некое средство, необходимое для запуска приложений. Это действительно так, но всё же фреймворк создавался не для пользователей, а для разработчиков. А уж кто-кто, а они цену ему знают, особенно же те из них, которые программируют на Visual Basic .NET и C#. Ведь обе эти среды программирования есть ни что иное, как удобная оболочка, содержащая лишь интерфейсы и базовые конструкции языка, а всё столь необходимое для создания приложений скрывается именно в глубинах платформы .NET Framework.

Теги: , , ,

Предыдущая/следующая

Вам может быть интересно:

Поделиться в соц сетях:

Twitter Facebook Vk Googlepluse Linkedin

Подпишитесь на обновления этого блога по RSSRSS, RSSMAILEmail или TwitterTwitter!

Случайная подборка из рубрики:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Обсуждаемые темы:

Авторизация
*
*
Войти с помощью: 
Регистрация
*
*
*
Войти с помощью: 
Генерация пароля