Security Bulgaria
Advertisement
.NET Framework
Разработчик: Microsoft
Последна версия: Версия 3.5 / 19 Ноември, 2007
Операционна система: Windows XP, Windows 2003, Windows Vista и нагоре
Жанр: Програмна платформа
Лиценз: MS-EULA (BCL е под Microsoft Reference License)
Уеб сайт: www.microsoft.com/net/


Microsoft .NET Framework е платформа, създадена от Microsoft, която предоставя програмен модел, библиотека от класове (FCL, Framework Class Library) и среда за изпълнение на написан специално за нея програмен код (CRL, Common Language Runtime). Тя е ключов елемент от стратегията за развитие на 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. Целта на проекта Mono, спонсориран от Novell, е да даде възможност програми, написани на .NET Framework, да работят и на други операционни системи, като Linux, Solaris, Mac OS, BSD и др.


Компоненти на .NET Framework[]

.NET Framework включва два основни компонента:

  • Common Language Runtime (CLR) – програмната среда, в която се изпълнява кодът на .NET приложенията. Представлява виртуална машина, която компилира междинния код CIL (Common Intermediate Language) за конкретната хардуерна платформа и операционна система, с която работи потребителят. В допълнение средата осигурява редица услуги, като управление на паметта, вкл. автоматично "събиране на боклуци" ('garbage collection'), управление на прекъсванията, многозадачност ('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 приложения.

Версии[]

Microsoft стартира разработката на .NET Framework в края на 90-те години, първоначално под името Next Generation Windows Services (NGWS). В края на 2000 г. е публикувана първата бета версия на .NET 1.0.


.NET Framework 1.0[]

Първата официална версия на .NET Framework е публикувана на 13 февруари 2002 г. и поддържа операционните системи Windows 98, NT 4.0, 2000 и XP. Приблизително по същото време Microsoft публикуват и първата версия на популярната среда за разработка на .NET приложения Visual Studio .NET.

.NET Framework 1.1[]

Публикуван на 3 април 2003 г., това е първият сериозен ъпгрейд на .NET Framework. Може да бъде изтеглен като самостоятелен пакет или инсталиран с втората версия на Visual Studio .NET, Visual Studio .NET 2003. Това е и първата версия на .NET Framework, вградена директно в Windows операционна система (Windows Server 2003).

Промени спрямо версия 1.0[]

  • Вградена поддръжка на мобилни ASP.NET контроли.
  • Подобрена сигурност, Code Access Security в ASP.NET приложенията.
  • Вградена поддръжка на ODBC и клиент за Oracle бази данни.
  • .NET Compact Framework - версия на .NET Framework за устройства с ограничени възможности.
  • Поддръжка на Internet Protocol version 6 (IPv6)
  • Многобройни подобрения по базовите класове

.NET Framework 2.0[]

Публикувана на 22 януари 2006, вградена във Visual Studio .NET 2005, Microsoft SQL Server 2005 и BizTalk 2006, както и в операционната система Windows Server 2003 R2. Достъпна за изтегляне от сайта на Microsoft, откъдето може да се свали и нейния SDK.

Следва да се отбележи, че версия 2.0 е последната, която поддържа Windows 2000.

Промени спрямо версия 1.1[]

  • Множество подобрения по базовите класове
  • Поддръжка на 64-битови хардуерни платформи (x64 и IA64)
  • Generics
  • Много нови и подобрени ASP.NET контроли
  • Declarative data binding
  • Нови възможности за персонализация на ASP.NET страниците: теми (themes), скинове (skins) и webparts.
  • .NET Micro Framework - версия на .NET Framework свързана с инициативата Smart Personal Objects Technology.

.NET Framework 3.0[]

.NET Framework 3.0, известен първоначално като WinFX, включва набор нови възможности и библиотеки, които са в основата на новите операционни системи Windows Vista и Windows Server 2008. .NET Framework 3.0 е достъпен и за операционните системи Windows XP SP2 and Windows Server 2003. В новата версия липсват сериозни архитектурни нововъведения: използва се CLR на .NET Framework 2.0. За версия 3.0 няма еквивалентна версия на .NET Compact Framework.

.NET Framework 3.0 се състои от 4 основни нови компонента:

  • Windows Presentation Foundation (WPF), известен по-рано като Avalon - нова система за графичен интерфейс и API базиран на XML и векторни графики, която използва възможностите на 3D графичните карти и Direct3D технологии. Множество статии и пълна документация на WPF са налични в WPF SDK.
  • Windows Communication Foundation (WCF), известен по-рано като Indigo - сервизно-ориентирана система за съобщения (service-oriented messaging system), която позволява на приложенията да комуникират локално или отдалечено подобно на уеб услуги.
  • Windows Workflow Foundation (WF) - Необходимо е описание на WF.
  • Windows CardSpace, известен по-рано като InfoCard осигурява надеждното съхранение на "дигитални самоличности" (digital identities) и предлага унифициран интерфейс за избор на подходящата самоличност за извършването на определена задача, напр. влизане в даден уебсайт.

.NET Framework 3.5[]

Версия 3.5 на .NET Framework използва същия CLR като версии 2.0 и 3.0. Тя автоматично инсталира .NET Framework 2.0 SP1, с което добавя някои нови функции в базовите класове на версия 2.0, необходими за работата на някои от новите компоненти, най-вече LINQ. Налице е пълна обратна съвместимост с версия 2.0, така че програмите, писани за версия 2.0 ще работят безпроблемно на версия 3.5. Пълна поддържка на .NET Framework 3.5 е осигурена във Visual Studio 2008.

Пълният сорс код на BCL ще бъде публикуван от Microsoft под лиценз Microsoft Reference License.

Скоро ще бъде публикувана .NET Compact Framework 3.5, която ще направи достъпни LINQ и другите нововъведения в .NET Framework 3.5 за мобилни устройства.

Промени спрямо версия 3.0[]

  • Нови версии на най-популярните .NET езици - C# 3.0 и VB.NET 9.0
  • Ламбда изрази
  • Разширяващи методи (extension methods)
  • Анонимни типове
  • LINQ (Language Integrated Query), включително компонентите:
    • LINQ to Objects
    • LINQ to XML
    • LINQ to SQL
  • ADO.NET paging
  • Методи за синхронизация на ADO.NET локални кешове със сървърни източници на данни
  • Асинхронно мрежово I/O API
  • Обвивки на интерфейсите на WMI и Active Directory
  • Подобрения по WCF and WF, които дават възможност на WCF да работи с POX и JSON, както и да представя WF workflows като WCF услуги.
  • Поддръжка на HTTP pipelining и syndication feeds
  • Вградена поддръжка на AJAX
Advertisement