Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

. NET Framework


Логотип. NET Framework

План:


Введення

. NET Framework - програмна платформа, випущена компанією Microsoft в 2002. Основою платформи є виконуюча середа Common Language Runtime (CLR), здатна виконувати як звичайні програми, так і серверні веб-додатки. NET Framework підтримує створення програм, написаних на різних мовах програмування.

Вважається, що платформа. NET Framework стала відповіддю компанії Microsoft на набрала на той час велику популярність платформу Java компанії Sun Microsystems (нині належить Oracle).

Хоча. NET є патентованої технологією корпорації Microsoft і офіційно розрахована на роботу під операційними системами сімейства Microsoft Windows, але існують незалежні проекти (перш за все це Mono і Portable.NET), що дозволяють запускати програми. NET на багатьох інших операційних системах.


1. Розробка

Розробка платформи почалася в 1999 році [1]. Офіційно про розробку нової технології було оголошено 13 січня 2000 року, в день коли Білл Гейтс офіційно оголосив про передачу поста глави Microsoft Стіву Балмеру. У цей день керівництвом корпорації була озвучена нова стратегія компанії, яка отримала назву Next Generation Windows Services (скор. NGWS, рус. Нове покоління служб Windows ). Нова стратегія повинна була об'єднати в єдиний набір існуючі та майбутні розробки Microsoft для надання можливості користувачам працювати з Всесвітньою павутиною з бездротових пристроїв, що володіють доступом в Інтернет, як зі стаціонарних комп'ютерів [2].


1.1. Цілі і завдання

Під час проходить в той день прес-конференції Балмер заявив, що незважаючи на величезні можливості домашніх комп'ютерів, корпорація вважає важливим забезпечення гарантованої роботи служб нового покоління і на пристроях, відмінних від ПК. Що стосується Гейтса, то аналітик компанії Patricia Seybold Group Енн Томас Мейнс, проаналізувавши його слова, заявила про те, що компанії буде корисний відхід від орієнтації виключно на стаціонарні комп'ютери і перехід до розробки під мобільні пристрої. За її оцінкою Гейтс проголосив курс на перехід до нової ери роботи з комп'ютером, що не буде жорстко прив'язана до Windows [2].

Зважаючи невеликої потужності джерел живлення мобільних пристроїв, зберігання і передача програм повинна здійснюватися серверами, тоді як на той момент практично вся інформація користувача, ПЗ зберігалися на стаціонарних комп'ютерах локально. Тоді ідея переходу до "сервероцентріческой" моделі мала міцну підтримку серед керівників найбільших IT-компаній. Так, наприклад, Скотт МакНілл, глава Sun Microsystems оголосив про придбання компанії офісного ПЗ, конкурувати з Microsoft Office, щоб перейти до сервер-клієнтського ПЗ [2].

У Microsoft на той момент було безліч причин переходу до нової стратегії. Компанія домінувала на ринку операційних систем і веб- браузерів, володіла безліччю напрацювань у галузі ПЗ для Інтернету, включаючи портали MSN і WebTV, а також мала частку в компаніях, що займалися наданням ПЗ в прокат через Інтернет [2]. Крім того, як пізніше згадував Андерс Хейлсберг, у корпорації було безліч різних (і часто несумісних між собою) середовищ і технологій програмування, оскільки розробка інструментів для програмістів була язикооріентірованной, тобто для Visual Basic існував свій набір додатків, а для C + + - свій. Тому однією з цілей розробки нової платформи, було об'єднання всіх найбільш вдалих напрацювань в рамках єдиної платформи та їх уніфікація. Крім того, ставилося завдання проходження усіх актуальних тенденцій в області програмування на той момент. Так, наприклад, нова платформа повинна була безпосередньо підтримувати об'єктно-орієнтованість, безпека типів, збірку сміття і структурну обробку виключень. Крім того, корпорації необхідно було надати свою відповідь набирала популярність платформі Java від Sun [3].

Згідно з озвученими на той момент планам, в них входила розробка нової версії операційної системи, а також нової версії середовища розробки для програмістів, яка була б призначена для розробки веб-орієнтованих додатків. Крім того, переведений на нову платформу мав бути і Microsoft Office. Пол Морітц, віце-президент Microsoft, в якості однієї з майбутніх служб нової стратегії привів у приклад службу Passport, що являла собою електронний гаманець, що дозволяє користувачам зареєструвавшись одного разу здійснювати онлайн-покупки без необхідності введення на різних сайтах номерів кредитних карт і персональних даних. Тоді ж, на конференції, Балмер привів приклад реалізації нової стратегії, яка дозволить пацієнтам вирішувати безліч їх проблем через Інтернет починаючи читанням їх медичної карти і закінчуючи оплатою рахунків від лікарів [2].

За словами Морітц, основою для нової стратегії компанії послужила розробка Windows DNA 2000, представлена ​​у вересні 1999 року. Windows DNA 2000 об'єднала в собі нову версію СУБД SQL Server і нові програмні інструменти для полегшення розробки веб-додатків [2].


1.2. Концепція

У лютому 2000 року Стів Балмер, виступаючи на конференції VBITS 2000 в Сан-Франциско, розповів про нову версію Visual Basic і Visual C + +, що були до того часу наріжними каменями Visual Studio. Оскільки графік виходу версій Visual Studio до того моменту був неабияк порушений (Visual Studio 6.0 вийшла у вересні 1998 року, а до цього випуски входять до її складу інструментів відбувалися щорічно), то інформація про нововведення викликала неабиякий інтерес [4].

Тоді ж Балмер і представив концепцію стратегії NGWS (робоча назва якої Балмер визнав вельми жахливим і пообіцяв змінити його до моменту випуску) у вигляді якоїсь програмної платформи, яка дозволить користувачам Windows отримувати доступ до безлічі веб-служб. Для цього Microsoft розраховувала значно змінити Windows-платформу. Першим кроком до нової версії платформи стала Windows 2000, яку Балмер назвав основою "користувацького знайомства з Інтернет". Windows 2000 була однією з частин технології Windows Distributed interNet Applications (DNA) 2000, в рамках якої була представлена ​​остання на той момент схема трирівневої моделі програмування, вперше представлена ​​на Windows NT 4.0 [4].

На той момент ця схема складалася з клієнтської частини (Windows-або веб-додаток), середнього рівня, що базувався на компонентах COM +, і бази даних (як правило SQL Server. NGWS повинна була змінити шлях розробки Windows DNA на виняткове використання XML як стандарту обміну даними. XML був обраний тому, що був розвитком мови розмітки HTML, що став основною мовою розмітки у Всесвітній павутині, а крім того він надавав зручний спосіб опису даних. У моделі NGWS кожна частина триланкової структури (клієнтський додаток, проміжний шар і база даних) повинна була взаємодіяти з іншими за допомогою XML-пакетів. Для спрощення розробки коду з використанням XML передбачалося, що нова версія Visual Studio буде генерувати XML-код, звільняючи розробників від необхідності ручного написання XML-коду [4].

Так, наприклад, планувалося, що розробники зможуть писати веб-сайт для електронної комерції цілком на новій версії Visual Basic, а завдяки тому, що обмін інформацією відбуватиметься за допомогою XML, розробники зможуть створювати клієнтські програми, що функціонують на Linux, Solaris і Mac OS. Тобто, для того, щоб програму або операційна система могли взаємодіяти один з одним потрібна була лише підтримка стандарту з їхнього боку [4].

Для демонстрації свого задуму Microsoft запустила веб-сайт Passport, зайшовши на який, користувачі могли заводити собі безкоштовний електронні гаманці (eWallet), спрощує покупку в онлайн-магазинах [4].


1.3. Зміна назви

22 червня 2000 на що проходив у Редмонді Forum 2000 Білл Гейтс заявив про перейменування платформи в Microsoft.Net, оголосивши при цьому, що "стратегія корпорації цілком і повністю буде визначатися платформою. Net", а всі продукти Microsoft з часом будуть переписані для підтримки цієї платформи. Також, за його словами, протягом найближчих двох років Microsoft планувала випуск нової версії своєї ОС (було озвучено передбачуване назва Windows.Net, пізніше реалізований як Microsoft Singularity) і комплекту засобів розробки, який повинен був називатися Visual Studio.Net. Крім цього зміни повинні були торкнутися і серверні програми - Microsoft SQL Server, Exchange, BizTalk, а офісний пакет Microsoft Office мав бути перетворений в Office.Net [5].

До виступу Гейтса на червневому Forum 2000 було приурочено і опублікування документа під назвою Microsoft. NET: Realizing the Next Generation Internet ( англ. Microsoft. NET: Створюючи Інтернет наступного покоління ) На офіційному сайті Microsoft. У ньому наводився загальний огляд нової платформи, а сама поява нової платформи описувалося як якась "революція". У цьому документі вперше було наведено опис (хоча і короткий) технічної реалізації платформи. Так, розробникам пропонувалося замість ручного набору великої маси коду збирати свої програми з готових блоків, що мало прискорити розробку ПЗ. До таких "будівельним блокам" ставилися, зокрема, наступні модулі:

  • Identity ( рус. Особистість ) - Технологія, яка об'єднує Windows-аутентифікацію і Microsoft Passport, створена для забезпечення різних рівнів безпеки, починаючи від паролів і "гаманців" і закінчуючи смарт-картами та біометричними пристроями [6].

1.4. Презентація попередньої версії. NET

11 липня 2000 на PDC під Флориді відбулася презентація попередньої версії. NET Framework, яка була представлена ​​як "частина. NET Platform" [7].

1.5. Випуск перших версій

12 листопада 2000 Microsoft опублікувала на своєму сайті. NET Framework SDK Beta 1, який містить все необхідне для перших дослідів з новою платформою. Однак, через "вогкості" програми компанія рекомендувала ставити його тільки на комп'ютери, призначені виключно для тестів. Даний SDK міг працювати лише в Windows 2000, Windows NT 4.0 (що містить NTOP для підтримки ASP.NET), Windows 98 і Windows ME, причому стабільна робота з незадовго до цього вийшов SQL Server 2000 зовсім не гарантувалася [8]. Дана версія містила величезну кількість помилок, починаючи з проблем при установці і закінчуючи не повною підтримкою власних просторів імен в залежності від версії Windows [9].


2. Базові принципи проектування

Основною ідеєю при розробці. NET Framework було забезпечення свободи розробника за рахунок надання йому можливості створювати додатки різних типів, здатні виконуватися на різних типах пристроїв і в різних середовищах [10].

Другим принципом стало орієнтування на системи, що працюють під управлінням сімейства операційних систем Microsoft Windows [10].

3. Архітектура. NET

Програма для. NET Framework, написана на якому підтримуваному мовою програмування, спочатку переводиться компілятором в єдиний для. NET проміжний байт-код Common Intermediate Language (CIL) (раніше називався Microsoft Intermediate Language, MSIL). У термінах. NET виходить збірка, англ. Assembly. Потім код або виповнюється віртуальною машиною CLR, або транслюється утилітою NGen.exe в виконуваний код для конкретного цільового процесора. Використання віртуальної машини переважно, оскільки позбавляє розробників від необхідності піклуватися про особливості апаратної частини. У разі використання віртуальної машини CLR, вбудований в неї JIT-компілятор "на льоту" (just in time) перетворює проміжний байт-код в машинні коди потрібного процесора. Сучасна технологія динамічної компіляції дозволяє досягти високого рівня швидкодії. Віртуальна машина CLR також сама піклується про базову безпеки, управлінні пам'яттю і системі винятків, позбавляючи розробника від частини роботи.

Архітектура. NET Framework описана та опублікована в специфікації Common Language Infrastructure (CLI), розробленої Microsoft та затвердженої ISO і ECMA. У CLI описані типи даних. NET, формат метаданих про структуру програми, система виконання байт-коду і багато іншого.

Об'єктні класи. NET, доступні для всіх підтримуваних мов програмування, містяться в бібліотеці Framework Class Library (FCL). У FCL входять класи Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation та інші. Ядро FCL називається Base Class Library (BCL).


4. Середовища розробки

Середовища розробки, що підтримують. NET:

Програми. NET також можна розробляти в текстовому редакторі, просто викликаючи компілятор з командного рядка.


5. Версії

Microsoft почала розробляти. NET Framework в кінці 1990-х під ім'ям "Next Generation Windows Services" (NGWS). В 2000 була випущена перша бета-версія. NET 1.0.

Стек технологій. NET Framework
Версія Номер версії Дата виходу Visual Studio За замовчуванням у Windows
1.0 1.0.3705.0 1 травня 2002 Visual Studio. NET
1.1 1.1.4322.573 1 квітня 2003 Visual Studio. NET 2003 Windows Server 2003
2.0 2.0.50727.42 11 липня 2005 Visual Studio 2005
3.0 3.0.4506.30 6 листопада 2006 Visual Studio 2005 + розширення Windows Vista, Windows Server 2008
3.5 3.5.21022.8 9 листопада 2007 Visual Studio 2008 Windows 7, Windows Server 2008 R2
4.0 4.0.30319.1 12 квітня 2010 Visual Studio 2010

5.1. . NET Framework 1.0

Перший реліз. NET Framework вийшов 5 січня 2002 для Windows 98, NT 4.0, 2000 і XP. Загальна підтримка, здійснювана компанією Майкрософт, закінчилася 10 липня 2007, розширена підтримка закінчилася 14 липня 2009. [11]

5.2. . NET Framework 1.1

Наступний реліз. NET Framework вийшов 1 квітня 2003. Це була перша версія, автоматично встановлюється разом з операційною системою ( Windows Server 2003). Для більш старих операційних систем. NET Framework 1.1 була доступна у вигляді окремого установчого пакета. Загальна підтримка, здійснювана компанією Майкрософт, закінчилася 14 жовтня 2008, а розширена підтримка закінчиться 8 жовтня 2013. [11].


5.3. . NET Framework 2.0

Версія 2.0 була випущена одночасно з Visual Studio 2005, SQL Server 2005 і BizTalk 2006. З виходом версії 2.0 була додана підтримка узагальнених ( англ. generic ) Класів, анонимных методов, полная поддержка 64-битных платформ x64 и IA-64.

5.4..NET Framework 3.0

Первоначально .NET Framework 3.0 носила имя WinFX, что отражало её суть: расширение .NET Framework 2.0 с сохранением всех библиотек и добавлением четырёх новых компонентов:

5.5..NET Framework 3.5

Как и версия 3.0, .NET 3.5 использует CLR версии 2.0. Новшества по сравнению с .NET Framework 3.0 включают в себя:

  • C# 3.0 и VB.NET 9.0
  • Добавлен язык LINQ и провайдеры LINQ to Objects, LINQ to XML и LINQ to SQL
  • ASP.NET AJAX включён в поставку
  • Расширена функциональность WF и WCF
  • Добавлено пространство имён System.CodeDom

5.6..NET Framework 4.0

Microsoft анонсировала .NET 4.0 29 вересня 2008 года. [12] Первая бета-версия появилась 20 мая 2009 года, вместе с бета-версией Visual Studio 2010. [13] Нововведения включают в себя:

  • Parallel Extensions - PLINQ (Parallel LINQ) и Task Parallel Library, предназначенные для упрощения программирования для многопроцессорных и распределённых систем
  • Нововведения в Visual Basic и C#
  • Технология Managed Extensibility Framework (MEF)
  • Полная поддержка IronPython, IronRuby и F#
  • Поддержка подмножеств .NET Framework и ASP.NET в варианте "Server Core"
  • Поддержка Code Contracts
  • Средства моделирования Oslo и язык программирования M, предназначенный для создания предметно-ориентированных языков и моделей

Окончательная версия .NET Framework 4.0 была выпущена 12 квітня 2010 года вместе с окончательной версией Visual Studio 2010.


6. Языки программирования в .NET

Одной из основных идей Microsoft .NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на C++ для Microsoft .NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic .NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.

Языки, поставляемые вместе Microsoft Visual Studio :

  • C #
  • J# - последний раз был включён в Visual Studio 2005
  • VB .NET
  • JScript .NET
  • C++/CLI - новая версия Managed C++
  • F# - член семейства языков программирования ML, включён в Visual Studio 2010

Не встроенные, но активно поддерживаемые:


7. Критика

Реализация платформы .NET Framework вызывала и вызывает множество нареканий. Одним из главных объектов критики является менее рациональное использование ресурсов системы по сравнению с другими технологиями. Так, например, несколько приложений, выполняющихся в управляемой среде стремятся захватить больше ресурсов чем приложения того же типа, но обладающие более прямым доступом к ресурсам компьютера.

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

Новые версии платформы (3.5 и далее) вызвали новую волну недовольства тем, что они не предустанавливаются в версии Windows, предшествовавшие выходу Windows 7, что вынуждает пользователей тратить значительное время на их установку [14].

З технічної точки зору платформа також піддається критиці через відсутність підтримки викликів Streaming SIMD Extensions (SSE) в керованому коді. Правда, в Mono вирішили цю проблему, додавши підтримку SIMD Extensions версії 2.2 в простір імен Mono.Simd. Ще одним приводом для критики є підтримка стандартів, фактично обмежують крос-платформену реалізацію. NET Framework, в результаті чого повноцінна реалізація платформи присутня лише для Windows. Частково подібна труднопереносима компенсується розробкою кількох версій платформи для мобільних пристроїв, а також урізаними версіями. NET Framework для інших операційних систем. Однак, незважаючи на близькість стандартів, прийнятих при розробці цих версій, кінцеві реалізації повну сумісність не володіють [14].


8. Mono

Mono - проект зі створення повноцінного втілення системи. NET Framework на базі вільного програмного забезпечення. Основний розробник проекту Mono - компанія Xamarin, раніше Novell. Після укладення Microsoft домовленості з Novell [15], платформа Mono була офіційно визнана реалізацією. NET на Unix-подібних операційних системах : Linux, Mac OS X та інших. (Хоча Mono успішно працює і під Microsoft Windows). Проте домовленість стосується тільки Novell і клієнтів Novell; також технології ASP.NET, ADO.NET і Windows Forms не були стандартизовані ECMA / ISO, і використання їх в Mono знаходиться під загрозою юридичних претензій з боку Microsoft (претензії можливі тільки в країнах, де існують патенти на програмне забезпечення [16]). Mono надає реалізацію ASP.NET, ADO.NET і Windows.Forms, але в той же час рекомендує не використовувати ці API. [16]


Примітки

  1. Стів Резник, Річард Крейн, Кріс Боуен Вступ / / Основи Windows Communication Foundation для. NET Framework 3.5 = Windows Communication Foundation for. NET Framework 3.5 / Пер. з англ. Слінкіна А. А. - М .: ДМК Пресс, 2008. - С. 16. - 480 с. - ISBN 978-5-94074-465-8.
  2. 1 2 3 4 5 6 Redmond maps plans for life after the PC - news.cnet.com/2100-1001-235651.html (Англ.)
  3. The AZ of Programming Languages: C # - www.computerworld.com.au/article/261958/-z_programming_languages_c (Англ.)
  4. 1 2 3 4 5 An Early Look at Microsoft's Next Generation Windows Services - (Англ.)
  5. Windows розділять на послуги - www.osp.ru/cw/2000/25/5618/
  6. Microsoft. NET: Realizing the Next Generation Internet - web.archive.org/web/20000815055022/http: / / www.microsoft.com / net / whitepaper.asp (Англ.)
  7. Microsoft. NET Framework Unites Programming Languages ​​For Web-Based Future - (Англ.)
  8. MSDN Online Downloads. . NET Framework SDK Beta 1 - (Англ.)
  9. . NET Framework SDK: Late-Breaking Known Issues - (Англ.)
  10. 1 2 Principal Design Features of. NET Framework - www.zabalnet.com / overview-highlight-principal-design-features.html (Англ.)
  11. 1 2 Відомості про життєвий цикл різних версій. NET Framework - support.microsoft.com / lifecycle / search /? sort = PN & alpha =. NET Framework
  12. CNews: Microsoft анонсувала Visual Studio 2010 і. NET Framework 4.0 - www.cnews.ru/news/line/index.shtml?2008/09/30/320602
  13. Visual Studio 2010 and. NET FX 4 Beta 1 ships! - blogs.msdn.com/somasegar/archive/2009/05/18/visual-studio-2010-and-net-fx-4-beta-1-ships.aspx
  14. 1 2 Criticism Of Microsoft. NET Framework - www.zabalnet.com / discussion-criticism-microsoft-net.html (Англ.)
  15. Спільний лист Novell і Microsoft Спільноти Open Source - www.novell.com / ru-ru / linux / microsoft / openletter.html
  16. 1 2 FAQ: Licensing - Mono - link19

Література

  • Джеф Просіз Програмування для Microsoft. NET = Programming Microsoft. NET - М .: Російська редакція, 2003. - С. 704. - ISBN 5-7502-0217-8.
  • Ендрю Троелсен. С # 2008 і платформа. NET Framework 3.5 = Pro C # 2008 and the. NET Framework 3.5 - 4-е изд. - М .: Вільямс, 2009. - С. 1168. - ISBN 978-5-8459-1589-4.
  • Крістіан Нейгел, Білл Івьен, Джей Глінн, Карлі Уотсон, Морган Скіннер. C # 2005 і платформа. NET 3.0 для професіоналів = Professional C # 2005 with. NET 3.0 - М .: Діалектика, 2007. - ISBN 978-5-8459-1317-3.

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
ADO.NET Entity Framework
Метаконтент Framework
Mozilla application framework
Resource Description Framework
Microsoft Solutions Framework
. Net
GameDev.net
Battle.net
ADO.NET
© Усі права захищені
написати до нас
Рейтинг@Mail.ru