Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

.NET Framework

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

На цій сторінці показано неперевірені зміни

.NET Framework

Стек технологій .NET Framework
Типпрограмна платформа
РозробникиMicrosoft
Стабільний випуск4.8 (18 квітня2019; 6 років тому (2019-04-18))
ПлатформаWindows Редагувати інформацію у Вікіданих
Операційна системадля версії 4.0 —Windows XP,Windows Vista SP2,Windows 7 SP1; для версії 4.5.2 —Windows Vista SP2,Windows 7 SP1,Windows 8,Windows 8.1; для версії 4.6.1 —Windows 7 SP1 і вище.
Ліцензіявласницьке програмне забезпечення з деякимивідкритими компонентами
Вебсайтdotnet.microsoft.com/en-us/download/dotnet-framework/net40

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

Однак, важливо зазначити, що.NET Framework є орієнтованим виключно на операційну систему Windows і не підтримує кросплатформенність. Для вирішення цієї проблеми Microsoft розробила.NET Core, який став першим кроком до підтримки кількох операційних систем, включаючи Linux та macOS. У 2020 році ці дві платформи були об'єднані в єдину кросплатформну екосистему —.NET, що дозволяє створювати сучасні застосунки для різних пристроїв і платформ, використовуючи одну і ту ж кодову базу.

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

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

Історія

[ред. |ред. код]

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

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

[ред. |ред. код]
Частини платформи .NET

Під час конференції, що проходила в цей деньСтів Балмер заявив, що незважаючи на великі можливості домашніх комп'ютерів, корпорація вважає важливим гарантувати забезпечення роботи служб нового покоління і на пристроях, відмінних від ПК. Аналітик компанії 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 Native, що відрізняється підтримкою компіляції .NET проєктів на мові C# в подання на мові C++, яке можна скомпілювати увиконуваний файл за допомогою звичайного C++ компілятора. При цьому, у застосунку зберігаються такі засоби якприбирання сміття, підтримка генериків і віддзеркалень, але скомпільовані програми демонструють на 60 % вищу продуктивність і на 15 % менше споживають пам'яті.

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

У листопаді 2014 компанія Microsoft оголосила про переведення серверної частини платформи .Net в розряд відкритих проєктів та забезпеченні підтримкиLinux іMac OS X[6]. Відкритими стають не усі частини платформи .Net, а лише три компоненти: .NET Framework Libraries, .NET Core Framework Libraries і RyuJit VM[7]. Компоненти .Net для побудови користувацьких застосунків відкривати не планується.Сирцеві тексти будуть опубліковані наGitHub і будуть розвиватися в рамках відкритого процесу розробки, в якому зможе взяти участь кожен охочий.Початковий код відкритий підліцензією MIT, документація буде поставлятися під ліцензієюCreative Commons Attribution 4.0.

У травні2015Microsoft оголосила[8] про публікацію на GitHubпочаткових текстів набору бібліотекWindows Communication Foundation. Код відкритий підліцензією MIT. Слід зазначити, що відкритий не повний набір бібліотек WCF для робочого столу, а тільки його підмножина, орієнтована на взаємодію з сервісами для мобільних і серверних систем. Зокрема, відкриті бібліотеки System.ServiceModel.Primitives.Provides, System.ServiceModel.Http, System.ServiceModel.NetTcp, System.ServiceModel.Duplex і System.ServiceModel.Security. Для порівняння, всього в наборі WCF налічується більше 30 компонентів System.ServiceModel.*.Всього під управління .NET Foundation переданий код 24 пов'язаних з .NET проєктів, шість з яких раніше розвивалися компанією Xamarin. Крім раніше відкритих проєктів, таких якASP.NET MVC, Mimekit і Mailkit, під заступництво нової організації переданіпочаткові коди пакета .NET Compiler Platform («Roslyn»), що включаєкомпілятори для мов C# і Visual Basic, а також набір компонентів для побудови статичних аналізаторів коду. Код Roslyn відкритий підліцензією Apache.

Координацією проєкту займеться незалежна некомерційна організація .NET Foundation, створена Microsoft у співпраці зі створеною Мігелем де Ікаса компанією Xamarin. Починаючи з наступного випуску планується повністю відкрити весь серверний стек .NET, включаючи ASP.NET, JIT-компілятор, .NET Core Runtime, Common Language Runtime і основні бібліотеки класів. Крім того, всі компоненти серверної платформи .Net будуть портовані для операційних систем Linux і OS X, які будуть готові для промислового застосування і будуть підтримуватися поряд з Windows.

Для спрощення участі в розробці Microsoft надасть нову редакцію середовища розробкиVisual Studio Community 2013, яку зможуть безкоштовно використовувати невеликі команди розробників, в яких налічується 5 і менше учасників. На відміну від безкоштовної версії Express нова редакція дозволить використовувати доповнення та надасть комплексний набір засобів для розробки програм для десктопа,веб-застосунків і мобільних програм.

Версії

[ред. |ред. код]

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

ВерсіяНомер версіїДата виходуVisual StudioЗа замовчуванням у Windows
1.01.0.3705.01 травня 2002Visual Studio. NET
1.11.1.4322.5731 квітня 2003Visual Studio. NET 2003Windows Server 2003
2.02.0.50727.4211 липня 2005Visual Studio 2005
3.03.0.4506.306 листопада 2006Visual Studio 2005 + розширенняWindows Vista,Windows Server 2008
3.53.5.21022.89 листопада 2007Visual Studio 2008Windows 7,Windows Server 2008 R2
4.04.0.30319.112 квітня 2010Visual Studio 2010
4.54.5.50709.1792915 серпня 2012Visual Studio 2012Windows 8,Windows Server 2012
4.5.14.5.50938.1840817 жовтня 2013Visual Studio 2013Windows 8.1,Windows Server 2012 R2
4.5.24.5.51209.342095 травня 2014
4.64.6.1038.020 липня 2015Visual Studio 2015Windows 10,Windows Server 2016
4.6.14.6.23123.017 листопада 2015Visual Studio 2015 Update 1Windows 10 v1511
4.6.24.6.23907.02 серпня 2016[9]Windows 10 v1607
4.74.7.020465 квітня 2017[10]Visual Studio 2017Windows 10 v1703
4.7.117 жовтня 2017[11]
4.7.230 квітня 2018[12]
4.818 квітня 2019[13]Windows Server 2019

.NET Framework 1.0

[ред. |ред. код]

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

.NET Framework 1.1

[ред. |ред. код]

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

.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, що спочатку називавсяWinFXпрограмний інтерфейспрограмуваннязастосунків, який входить до складу операційної системиWindows Vista і майбутньоїWindows Server Longhorn. Старий інтерфейс,Windows API, буде як і раніше доступний, але з нього не буде прямого доступу до всієї нової функціональності, що з'явилася в .NET Framework 3.0.Фінальна версія .NET Framework 3.0 була випущена6 листопада2006 року.

У основі .NET Framework 3.0 лежать в точності ті ж компілятори та бібліотеки (CLR), що і в.NET Framework 2.0. Цим створюється деяка плутанина, оскільки попередні версії .NET Framework (1.0, 1.1, 2.0) завжди містили свої власні версії компіляторів і CLR.

Крім того, .NET Framework 3.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.029 вересня2008 року[15]. Перша бета-версія з'явилася 20 травня 2009 року, разом з бета-версієюVisual Studio 2010[16]. Нововведення включають в себе:

  • Parallel Extensions —PLINQ (ParallelLINQ) і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 року[17] Відсутня офіційна підтримка Windows XP.

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

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

  • Зміни в ядрі

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

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

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

.NET Framework 4.5.1

[ред. |ред. код]

Оновлена версія фреймворку .Net 4.5.1 була презентована разом ізVisual Studio 2013 та вийшла у світ 17 жовтня 2013-го року.

Основні нововведення торкались інструментарію налагоджування та покращення продуктивності застосунків[18]:

  • Налагоджування (debugging):
    • Підтримка Edit & Continue для 64-бітної архітектури.
    • Підтримка обриву та збою зв'язку вADO.NET.
    • Покращення асинхронного налагоджування.
  • Оптимізація продуктивності застосунків:
    • Механізм стиснення великих об'єктів у пам'яті по запиту[19].
    • Вдосконалення системи побудови програм Just-In-Time для підтримки багатьох платформ.
    • Новий функціоналASP.NET App Suspend, який дозволяє автоматично вимикати неактивні сайти та завантажувати їх по запиту[20].

.NET Framework 4.5.2

[ред. |ред. код]

.NET Framework 4.6

[ред. |ред. код]

.NET Framework 4.6.1

[ред. |ред. код]

.NET Framework 4.6.2

[ред. |ред. код]

.NET Framework 4.7

[ред. |ред. код]

.NET Framework 4.8

[ред. |ред. код]

Альтернативні версії

[ред. |ред. код]

.NET Compact Framework

[ред. |ред. код]

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

Mono

[ред. |ред. код]

Mono — багато-платформовевільнавідкрита реалізация .NET Framework, що відповідає стандартамECMA, включаючи серед іншого ікомпіляторC#, іCommon Language Runtime.

Мови програмування в .NET

[ред. |ред. код]

Див. також

[ред. |ред. код]

Джерела

[ред. |ред. код]
  1. Crane, Richard; Resnick, Steve; Bowen, Chris (11 лютого 2008).Essential Windows Communication Foundation (WCF): For .NET Framework 3.5(англ.). Pearson Education.ISBN 978-0-13-270160-0.
  2. абвгдеRedmond maps plans for life after the PC[Архівовано 15 березня 2014 уWayback Machine.](англ.)
  3. The AZ of Programming Languages: C #[Архівовано 18 лютого 2009 уWayback Machine.](англ.)
  4. Microsoft открыл код компилятора Roslyn и пытается привлечь сообщество к участию в развитии .NET[Архівовано 7 квітня 2014 уWayback Machine.] //opennet.ru 04.04.2014
  5. Roslyn Update[Архівовано 29 квітня 2014 уWayback Machine.] // tirania.org/blog/
  6. Microsoft takes .NET open source and cross-platform, adds new development capabilities with Visual Studio 2015, .NET 2015 and Visual Studio Online. Архіворигіналу за 6 грудня 2014. Процитовано 14 грудня 2014.
  7. Microsoft откроет серверную часть платформы .Net и портирует её для Linux. Архіворигіналу за 9 грудня 2014. Процитовано 14 грудня 2014.
  8. WCF Client is Open Source. Архіворигіналу за 22 травня 2015. Процитовано 21 травня 2015.[Архівовано 2015-05-22 уWayback Machine.]Архівована копія. Архіворигіналу за 22 травня 2015. Процитовано 21 травня 2015.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)[Архівовано 2015-05-22 уWayback Machine.]
  9. Announcing .NET Framework 4.6.2..NET Blog. Microsoft. Архіворигіналу за 24 жовтня 2016. Процитовано 20 грудня 2016.
  10. Announcing the .NET Framework 4.7..NET Blog. Microsoft. Архіворигіналу за 10 липня 2018. Процитовано 19 травня 2017.
  11. Announcing the .NET Framework 4.7.1..NET Blog(амер.). 17 жовтня 2017. Архіворигіналу за 14 березня 2020. Процитовано 30 жовтня 2019.
  12. Announcing the .NET Framework 4.7.2..NET Blog(амер.). 30 квітня 2018. Архіворигіналу за 15 грудня 2019. Процитовано 30 жовтня 2019.
  13. Announcing the .NET Framework 4.8..NET Blog(амер.). 18 квітня 2019. Архіворигіналу за 19 квітня 2019. Процитовано 30 жовтня 2019.
  14. абСведения о жизненном цикле различных версий .NET Framework. Архіворигіналу за 6 вересня 2009. Процитовано 21 січня 2012.
  15. CNews: Microsoft анонсировала Visual Studio 2010 и .NET Framework 4.0. Архіворигіналу за 27 липня 2014. Процитовано 2 грудня 2018.[Архівовано 2014-07-27 уWayback Machine.]
  16. Visual Studio 2010 and .NET FX 4 Beta 1 ships!. Архіворигіналу за 27 травня 2009. Процитовано 21 січня 2012.
  17. What's Announcing the release of .NET Framework 4.5 RTM — Product and Source Code[Архівовано 17 серпня 2012 уWayback Machine.](англ.)
  18. What's New in .NET Framework 4.5.1.www.dotnetcurry.com. Архіворигіналу за 21 березня 2016. Процитовано 3 квітня 2016.
  19. GCSettings.LargeObjectHeapCompactionMode Property (System.Runtime).msdn.microsoft.com. Архіворигіналу за 5 квітня 2016. Процитовано 3 квітня 2016.
  20. ASP.NET App Suspend – responsive shared .NET web hosting.blogs.msdn.microsoft.com. Архіворигіналу за 26 травня 2016. Процитовано 3 квітня 2016.
Інструменти керування
Програми
Shell
Сервіси
Файлові системи
Сервер
Архітектура
Безпека
Сумісність
API
Ігри
Відкинуті
Інше
Отримано зhttps://uk.wikipedia.org/w/index.php?title=.NET_Framework&oldid=45130058
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp