Microsoft .NET Framework
.NET Framework | |
![]() | |
Информация | |
---|---|
Разработчик | Microsoft |
Последна версия | Версия 4.6 / 20 Юли, 2015 |
Операционна система | Windows 98 и нагоре |
Статус | Програмна платформа |
Лиценз | MS-EULA (BCL е под Microsoft Reference License) |
Уебсайт | www.microsoft.com/net/ |
Microsoft .NET Framework в Общомедия |
Microsoft .NET Framework е платформа, създадена от Microsoft, която предоставя програмен модел, библиотека от класове (FCL, Framework Class Library) и среда за изпълнение на написан специално за нея програмен код (CLR, Common Language Runtime).[1] Тя е ключов елемент от стратегията за развитие на Microsoft, чиято цел е повечето нови приложения за Windows да бъдат базирани на .NET Framework.
.NET приложенията се пишат на езици от високо ниво (C#, VB.NET, C++/CLI и други) и се компилират до платформено-независим междинен език, наречен CIL (Common Intermediate Language). По време на изпълнение CIL кодът (т. нар. „управляван код“) бива автоматично компилиран от CLR за конкретната хардуерна платформа и операционна система, с която работи потребителят.
.NET Framework се разпространява с Windows Server 2003, Windows Server 2008, Windows Vista и Windows 7 като може да бъде инсталиран и на по-стари версии на Windows. Целта на проекта Mono, спонсориран от Novell, е да даде възможност програми, написани на .NET Framework, да работят и на други операционни системи, като Linux, Solaris, Mac OS, BSD и др.
Компоненти на .NET Framework
.NET Framework включва два основни компонента:
- Common Language Runtime (CLR) – програмната среда, в която се изпълнява кодът на .NET приложенията. Представлява виртуална машина, която компилира междинния код CIL (Common Intermediate Language) за конкретната хардуерна платформа и операционна система, с която работи потребителят. В допълнение средата осигурява редица услуги, като управление на паметта, вкл. автоматична система за почистване на паметта, управление на прекъсванията, многонишковост ('multithreading') и други.
- Framework Class Library (FCL) – това е пълната колекция от класове, които .NET Framework предлага. Частта от FCL, известна като BCL (Base Class Library, 'стандартна библиотека от класове'), е разработената от Microsoft имплементация на стандарта ECMA-335, Common Language Infrastructure. BCL осигурява голям набор базови функционалности, които програмистите могат да използват директно, например за мрежова комуникация, криптографски услуги и други. В допълнение FCL предлага компоненти за изграждане на потребителския интерфейс (Windows.Forms и ASP.NET), уеб приложения и уеб услуги, достъп до бази данни и др.
Основни принципи и цели
В основата на философията на .NET Framework са залегнали следните основни цели и идеи:
- Платформена независимост – Една от основните цели на .NET Framework е да даде възможност за създаването на платформено независими приложения, т.е. на приложения, които могат да работят на различни операционни системи и хардуерни конфигурации. До този момент Microsoft са създали имплементации на .NET Framework, които работят на x86 и x64 персонални компютри, Windows CE базирани устройства (PDA, SmartPhone, Tablet PC), както и игровата конзола XBox 360. Спецификациите на CLI (Common Language Infrastructure, което обхваща BCL, CTS и CIL), както и езиците C# и C++/CLI са предадени на ECMA и ISO и са отворени стандарти. По този начин независими разработчици могат да поставят .NET Framework и прилежащите му езици на други софтуерни и хардуерни платформи.
- Съвместимост с вече съществуващите технологии – .NET Framework дава възможност за достъп до функционалност, реализирана в приложения извън .NET средата. Пространствата System.Runtime.InteropServices и System.EnterpriseServices дават възможност за достъп до COM компоненти, докато с P/Invoke може да се извиква неуправляван код (native code).
- Common Runtime Engine – Програмните езици, които се поддържат от .NET Framework биват компилирани в междинен код известен като CIL (Common Intermediate Language) а по-рано и като MSIL (Microsoft Intermediate Language). При изпълнението си този междинен код не бива интерпретиран като при други виртуални машини, а вместо това компилиран по начин, известен като JIT (Just In Time) компилация в платформено-зависим машинен код (native code).
- Езикова независимост – Приложения за .NET Framework могат да бъдат създавани на няколко съвместими програмни езици, сред които C#, VB.NET и C++/CLI. Това е възможно благодарение на съвместимостта на типовете данни, които отделните езици поддържат. CTS (Common Type System) дефинира всички базови типове данни, както и начинът, по който те могат да бъдат конвертирани един в друг. Тези типове са споделени между всички .NET езици и са стандартизирани в CLI.
- Улеснена инсталация – Програмите, създадени на .NET Framework, както и техните компоненти, могат да бъдат инсталирани с просто копиране в желаната директория – процес, известен като XCopy Deployment.
- Сигурност – Програмният код, написан на .NET, се нарича управляван код, а също и защитен код, тъй като е изолиран от хардуерната среда, в която оперира, и това го предпазва от някои видове програмни грешки, които правят кода уязвим за атаки, например препълването на буфера (buffer overflow). Също така .NET Framework предлага система за сигурност, която може да се използва от всички .NET приложения.