Розробка програмного забезпечення

.Net

.net

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

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

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

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

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