.NET Framework

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
.NET Framework
Розробник(и) Microsoft
Стабільний випуск 4.5.1 (4.5.50938.18408) (15 жовтня 2013; 404 дні тому)
Операційна система для версії 2.0 — Windows 98 або старша, для версії 3.0 і вище — Windows XP SP2, Windows Vista або Windows 7
Тип програмна платформа
Ліцензія власницьке програмне забезпечення з деякими відкритими компонентами
Сайт www.microsoft.com/net

Microsoft .NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft як платформа для створення як звичайних програм, так і веб-застосунків. Багато в чому є продовженням ідей та принципів, покладених в технологію Java. Одною з ідей .NET є сумісність служб, написаних різними мовами. Хоча ця можливість рекламується Microsoft як перевага .NET, платформа Java має таку саму можливість.

Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

.NET — крос-платформова технологія, в цей час існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і варіант технології для ОС Linux в проекті Mono (в рамках угоди між Microsoft з Novell), DotGNU [1].

Захист авторських прав відноситься до створення середовищ виконання (CLR — Common Language Runtime) для програм .NET. Компілятори для .NET випускаються багатьма фірмами для різних мов вільно.

.NET поділяється на дві основні частини — середовище виконання (по суті віртуальна машина) та інструментарій розробки.

Середовища розробки .NET-програм: Visual Studio .NET (C++, C#, J#), SharpDevelop, Borland Developer Studio (Delphi, C#) тощо. Середовище Eclipse має додаток для розробки .NET-програм. Застосовні програми також можна розроблювати в текстовому редакторі та використовувати консольний компілятор.

Як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати крос-платформовість на рівні скомпільованого проекту (в термінах .NET: збірка), а не на рівні сирцевого тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.

Слід зазначити, що один з перших JIT-компіляторів для Java був також розроблений фірмою Microsoft (тепер в Java використовується досконаліша багаторівнева компіляція — Sun HotSpot). Сучасна технологія динамічної компіляції дозволяє досягнути аналогічного рівня швидкодії з традиційними «статичними» компіляторами (наприклад, С++) і питання швидкодії часто залежить від якості того чи іншого компілятора.

Історія[ред.ред. код]

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

Цілі і завдання[ред.ред. код]

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

Зважаючи на невелику потужність джерела живлення мобільних пристроїв, зберігання і передача програм повинна здійснюватися серверами, тоді як на той момент практично вся інформація користувача, ПЗ зберігалися на стаціонарних комп'ютерах локально. Тоді ідея переходу до «сервероцентричної» моделі мала міцну підтримку серед керівників найбільших IT-компаній. Так, наприклад, Скотт МакНілл, голова Sun Microsystems оголосив про придбання компанією офісного програмного забезпечення (StarOffice), щоб конкурувати з 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].

Перехід до відкритішої моделі розробки[ред.ред. код]

Революції смартфонів і планшетів внесла корективи у комп'ютерний світ. Платформа Windows перестала домінувати у світі операційних систем, поруч з апаратною архітектурою x86 значну долю ринку зайняли інші рішення. Крос-платформовість та відкритість, які до того свідомо обмежувалася у Microsoft, вийшла на перший план і стала питанням виживання.

Навесні 2014 компанія Microsoft зробила спробу відродити інтерес розробників до платформи .NET шляхом переходу до відкритого процесу розробки деяких компонентів .NET. Для координації розвитку відкритих компонентів .NET у співпраці із створеною Мігелем де Ікаса компанією Xamarin заснована незалежна некомерційна організація .NET Foundation, націлена на організацію спільної розробки та залучення співтовариства в розвиток платформи .NET.[4]

Всього під управління .NET Foundation переданий код 24 пов'язаних з .NET проектів, шість з яких раніше розвивалися компанією Xamarin. Крім раніше відкритих проектів, таких як ASP.NET MVC, Mimekit і Mailkit, під заступництво нової організації передані сирцеві коди пакета .NET Compiler Platform («Roslyn»), що включає компілятори для мов C# і Visual Basic, а також набір компонентів для побудови статичних аналізаторів коду. Код Roslyn відкритий під ліцензією Apache.

Примітно, що одночасно був представлений новий власницький компілятор .NET Native, що відрізняється підтримкою компіляції .NET проектів на мові C# в подання на мові C++, яке можна скомпілювати у виконуваний файл за допомогою звичайного C++ компілятора. При цьому, у застосунку зберігаються такі засоби як прибирання сміття, підтримка генериків і віддзеркалень, але скомпільовані програми демонструють на 60% вищу продуктивність і на 15% менше споживають пам'яті.

Вже у квітні 2014 Мігель де Ікаса представив[5] варіант компілятора Roslyn, адаптований для роботи в Unix і використанні з платформою Mono.

Версії[ред.ред. код]

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
4.5 4.5.50709.17929 15 серпня 2012 Visual Studio 2012 Windows 8, Windows Server 2012

.NET Framework 1.0[ред.ред. код]

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

.NET Framework 1.1[ред.ред. код]

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

.NET Framework 2.0[ред.ред. код]

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

.NET Framework 3.0[ред.ред. код]

Докладніше: .NET Framework 3.0

Спочатку .NET Framework 3.0 носила ім'я WinFX, що відображало її суть: розширення .NET Framework 2.0 із збереженням всіх бібліотек і додаванням чотирьох нових компонентів:

  • Windows Presentation Foundation (WPF) — система для побудови клієнтських програм з привабливою візуальною можливістю взаємодії з користувачем, тобто графічна підсистема
  • Windows Communication Foundation (WCF) — підсистема для обміну даними між програмами
  • Windows Workflow Foundation (WF) — підсистема візуального програмування
  • Windows CardSpace — технологія для керування індентифікацією при роботі в інтернет

.NET Framework 3.5[ред.ред. код]

Як і версія 3.0, .NET 3.5 використовує CLR версії 2.0. Відсутня офіційна підтримка Windows 2000, проте є не офіційна інструкція по встановленню пакета для цієї версії ОС. Нововведенням в порівнянні з .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

.NET Framework 4.0[ред.ред. код]

Microsoft анонсувала .NET 4.0 29 вересня 2008 року.[7] Перша бета-версія з'явилася 20 травня 2009 року, разом з бета-версією Visual Studio 2010.[8] Нововведення включають в себе:

  • 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.5[ред.ред. код]

4.5 версія вийшла 15 серпня 2012 року[9] Відсутня офіційна підтримка Windows XP.

  • .NET для Metro додатків

Підмножина в пакеті яка надає можливість для мов C# та VB.NET писати Metro додатки.

  • Зміни в ядрі

Консоль тепер повністю підтримує кодування в Юнікоді UTF-16

  • Асинхронні операції

В 4.5 версії додано нові асинхронні можливості. В основних мовах C# та VB.NET це здійснено через ключеві слова await та async.

.NET Compact Framework[ред.ред. код]

Окрім повної версії .Net, компанією Microsoft також випускається так званий «.Net Compact Framework». .Net Compact Framework є обрізаною версією повного фреймворка і несумісний з ним на рівні виконання (програми, написані для Compact Framework не можуть виконуватись виконавчим середовищем від повної версії фреймворка, для їх виконання необхідно встановити виконавче середовище саме від Compact Framework). Внутрішньо Compact Framework працює дещо інакше, ніж повний фреймворк, наприклад «збирач сміття» працює значно більш агресивно, не розділяючи об'єкти на покоління. Відмінності здебільшого обумовлені особливостями роботи компактних пристроїв: меншими розрахунковими можливостями, значно вищими вимогами до низьких енергозатрат, обмеженими графічними можливостями.

Мови програмування в .NET[ред.ред. код]

Див. також[ред.ред. код]

Посилання[ред.ред. код]



Примітки[ред.ред. код]

  1. Стив Резник, Ричард Крейн, Крис Боуэн Вступление // Основы Windows Communication Foundation для .NET Framework 3.5 = Windows Communication Foundation for .NET Framework 3.5 / Пер. с англ. Слинкина А. А.. — ДМК Пресс. — М., 2008. — С. 16. — ISBN 978-5-94074-465-8.
  2. а б в г д е Redmond maps plans for life after the PC (англ.)
  3. The AZ of Programming Languages : C # (англ.)
  4. Microsoft открыл код компилятора Roslyn и пытается привлечь сообщество к участию в развитии .NET // opennet.ru 04.04.2014
  5. Roslyn Update // tirania.org/blog/
  6. а б Сведения о жизненном цикле различных версий .NET Framework
  7. CNews: Microsoft анонсировала Visual Studio 2010 и .NET Framework 4.0
  8. Visual Studio 2010 and .NET FX 4 Beta 1 ships!
  9. What's Announcing the release of .NET Framework 4.5 RTM — Product and Source Code (англ.)