.NET Framework

Материал из Русский WINE
Перейти к: навигация, поиск

Net Framework — это платформа для разработки и исполнения приложений, которая создавалась с целью упрощения и ускорения написания программ. Одно из ключевых преимуществ данной технологии — возможность исполнения программ на любой ОС, для которой реализована .Net CLR.


Независимость .Net от ОС стала возможной благодаря тому, что .Net-программы компилируются в специальную форму, известную как универсальный промежуточный язык (CIL, common intermediate language), не привязанный к конкретному процессору. Когда программа запускается первый раз, .Net конвертирует CIL-код в оптимизированный машинный код для процессора, на котором он работает, и это объясняет, как один и тот же исполняемый файл можно поместить на какую угодно машину и оптимизировать для любой ситуации. Иными словами, .Net, так же как и Java, генерирует байт-код (IL), предназначенный для исполнения виртуальной машиной.


Наиболее распространенный .NET-язык называется С#, он был разработан для максимально удобного использования всех возможностей платформы. Но для .Net можно писать и на нескольких других языках программирования — Visual Basic, C++, Cobol, Eiffel, Perl, PHP, Python, Ruby, Tcl. Все они компилируются в тот же самый CIL-код, и полностью совместимы — над одним проектом может работать команда, где каждый программист пишет на своем любимом языке.


Первая версия Microsoft .NET Framework появилась в начале 2002 г., но её разработка велась с конца 1990-х годов под именем Next Generation Windows Services (NGWS). В октябре 2000 года корпорации Microsoft представила для сертификации в ЕСМА (Европейская Ассоциация Производителей Компьютеров) язык программирования С# (Стандарт ЕСМА-334) и команды универсального промежуточного языка CIL (Стандарт ЕСМА-335). А в 2003 году эти спецификации были приняты и в ISO (Международной организацией по стандартизации).


Очень часто, говоря об .Net, упоминается еще и проект Rotor. Rotor — усеченный вариант .Net CLR, который был адаптирован Microsoft для FreeBSD, Windows и Mac OS X. Исходные тексты Rotor распространяются на условиях Shared Source, которые явно запрещают его использование в коммерческих целях.


Основные компоненты платформы .Net — общеязыковая исполняющая среда (Common Language Runtime) и библиотека классов (Framework Class Library).


Common Language Runtime (CLR) — общеязыковая исполняющая среда, которая расположена поверх операционной системы и предоставляет виртуальную машину для исполнения байт-кода приложений — языка Common Intermediate Language (CIL или просто IL). Команды CIL компилируются в машинный код соответствующего типа процессора по запросу (JIT, just-in-time) в период выполнения. Обычно компиляция метода происходит один раз во время его первого вызова. Затем результат кэшируется в памяти, чтобы избежать задержек при повторных вызовах. ЛТ-компилятор выполняет оптимизацию кода специально для процессора, на котором исполняется этот код. Но существует возможность скомпилировать сборку и в родной (native) код для выбранной платформы.


В .NET включены сборки библиотеки классов .NET Framework Class library (FCL), содержащие определения нескольких тысяч типов, каждый из которых предоставляет некоторую функциональность. Наборы «родственных» типов собраны в отдельные пространства имен. Все .Net-приложения используют единую библиотеку классов FCL. Это упрощает интеграцию приложений и позволяет легче переносить приложения с одного языка на другой.


В ноябре 2014 года компания Microsoft объявила, что откроет серверную часть платформы (код - под лицензией MIT, документация - под Creative Commons Attribution 4.0.) и обеспечит поддержку Linux и OS X.

The open .Net ecosystem




















.NET/Mono
Search.png

.NET FrameworkMono

Другие проекты WineReactOSMicrosoft