Microsoft .NET Framework

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
.NET Framework
Информация
Разработчик Microsoft
Последна версия Версия 4.5 / 15 Август, 2012
Операционна система Windows 98 и нагоре
Статус Програмна платформа
Лиценз MS-EULA (BCL е под Microsoft Reference License)
Уебсайт www.microsoft.com/net/

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

Компоненти на .NET Framework[редактиране | edit source]

.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), уеб приложения и уеб услуги, достъп до бази данни и др.

Основни принципи и цели[редактиране | edit source]

Следните основни цели и идеи са в основата на философията на .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 приложения.

Версии[редактиране | edit source]

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


.NET Framework 1.0[редактиране | edit source]

.NET Framework 1.1[редактиране | edit source]

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

Промени спрямо версия 1.0[редактиране | edit source]

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

.NET Framework 2.0[редактиране | edit source]

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

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

Промени спрямо версия 1.1[редактиране | edit source]

  • Множество подобрения по базовите класове
  • Поддръжка на 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[редактиране | edit source]

.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[редактиране | edit source]

Версия 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[редактиране | edit source]

  • Нови версии на най-популярните .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

.NET Framework 4.0[редактиране | edit source]

Версия 4.0 се разпространява заедно с Visual Studio 2010. Версията на CLR е сменена на 4.0

Промени спрямо версия 3.5[редактиране | edit source]

  • Parallel Extensions — вградена поддръжка на изпълнение на паралелни изчисления върху многоядрени процесори.
  • dynamic ключова дума (при обръщения към COM обекти)
  • Наименования и незадължителни параметри.
  • Нови типове за работа с цели числа с произволна точност (System.Numerics.BigInteger) и комплексни числа (System.Numerics.Complex).