.NET sięgnie poza Windows

Brak jest wersji .NET dla innych systemów niż Windows. Novell stworzył jednak alternatywę w postaci Mono 2.0, niezależnej od sprzętu, implementacji open source tego środowiska.

Platforma Mono 2.0 powstała jako uzupełnienie i alternatywa implementacji .NET. Przyczyną jej powstania były istotne ograniczenia licencyjne i sprzętowo-programowe, z których najważniejszymi są utrudnienia w opracowywaniu komercyjnych projektów oraz przywiązanie do najnowszych wersji Windows. Projekt Mono - zarządzany i firmowany przez Novella - został wydany jako projekt FLOSS (Free Libre/Open Source Software). Od 2004 r., gdy ukazało się pierwsze wydanie platformy, dookoła projektu utworzyła się kreatywna grupa entuzjastów zainteresowanych tworzeniem aplikacji w oderwaniu od systemu operacyjnego.

Podstawową przewagą Mono 2.0 nad innymi wersjami .NET jest wsparcie różnych platform sprzętowych. Programy utworzone i skompilowane w dedykowanych środowiskach programistycznych (IDE) mogą pracować pod Linuxem, Windows (obojętnie, czy zainstalowany jest .NET, czy Mono 2.0), OS.X czy FreeBSD. Aktualnie wspieranych jest wiele platform sprzętowych, łącznie z Wii i PDA. Środowisko Mono można przygotować do działania także w systemach osadzonych (embedded), ze względu na niewielkie wymagania sprzętowe i programowe.

Budowa platformy

Środowisko Mono 2.0 składa się z: kompilatora języka C# zgodnego ze standardami ECMA tego języka w wersjach 1.0 i 2.0, zawierającego także wiele funkcjonalności wersji 3.0 oraz Mono runtime - czyli zestawu bibliotek odpowiedzialnych za wykonywanie programów CLI (Common Language Infrastructure), czyli kodu wykonywalnego niezależnie od instrukcji procesora. Do takiej postaci kompilowane są programy pisane dla .NET i Mono 2.0.

Należy tu także wymienić technologie: JIT (Just-in-time compilation) - sposób wykonywania kodu CLI polegający na kompilacji bloku instrukcji do postaci kodu wykonywalnego przez procesor tuż przed ich wykonywaniem, AOT (Ahead-of-time compilation) - sposób wykonywania kodu CLI polegający na kompilacji bloku instrukcji do postaci kodu wykonywalnego przez procesor, zanim blok będzie bezpośrednio wykonywany, loader bibliotek, garbage collector, system wielowątkowości i inne.

Dodatkowo, biblioteka klas bazowych (czyli podstawowy zbiór klas i funkcji w pełni zgodny z .NET i Mono Class Library) zawiera funkcjonalności nieznane w oficjalnej wersji Microsoftu. Przykładowo są to klasy GTK, plików ZIP, LDAP czy OpenGL. Użytkowników rozwiązań Microsoftu ucieszy też obsługa Silverlight w wersjach 1.0 i 2.0.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200