Mono (platforma)

Z Multimediaexpo.cz


Mono je projekt vedený firmou Novell (dříve firmou Ximian). Jeho cílem je vytvořit sadu nástrojů kompatibilních s prostředím .NET, které splňují standardy ECMA (Ecma-334 a Ecma-335). K těmto nástrojům patří i překladač jazyka C# a Common Language Runtime. Mono může běžet na počítačích s operačními systémy Linux, FreeBSD, UNIX, Mac OS X, Solaris a Microsoft Windows. Za projektem po celou dobu stojí Miguel de Icaza, který byl zakladatelem společnosti Ximian a dnes působí ve společnosti Novell jako člověk zodpovědný mimo jiné i za projekt Mono.

Obsah

Historie

Autor se zajímal o technologii .NET prakticky již od jejího vydání v prosinci 2000. Poté, co zkoumal interpret bytekódu, zjistil, že nikde nejsou dostupné specifikace metadat. V únoru roku 2001 se poptával po chybějících informacích a ve stejné době začal pracovat na kompilátoru jazyka C#. Kompilátor psal rovněž v jazyce C#, aby si ho důkladně procvičil. V dubnu 2001 společnost ECMA publikovala chybějící informace, a tak na konferenci GUADEC (6. až 8. dubna 2001) mohl de Icaza předvést vlastnosti jeho kompilátoru (ten byl mimochodem schopen parsovat sám sebe). Uvnitř společnosti Ximian mezitím vznikaly diskuze ohledně vývojových nástrojů pro zvýšení produktivity, tedy jak vytvářet více aplikací v kratší době, a tím i levněji. Po studii, zda-li je vůbec možné takový plán provést, společnost Ximian přerozdělila zaměstnance. Tím vznikl Mono tým. Chybějící části nutné pro vývoj na platformě .NET tým doplnil vlastními, a tak se vyvinul Mono open source projekt. Vznik pojektu byl oficiálně oznámen na konferenci O'Reilly 19. června 2001. Logem projektu Mono je opičí tvář. Mono je totiž španělským výrazem právě pro opici. Ostatně logo příbuzné s opicí přímo zapadá do výčtu dalších. Sama společnost Ximian má ve svém hlavním symbolu bezocasou opici, podobně GNOME má jako znak otisk opičí tlapy nebo Bonobo projekt, který je pojmenovaný podle druhu šimpanze. V sekci FAQ projektu Mono je dokonce uvedeno "We like monkeys."

Verze a vývoj

Aktuální verzí projektu Mono je 2.8.1, která byla vydána 19. listopadu 2010. Tato verze poskytuje jádro API .NET Framework a podporuje Visual Basic .NET a C# verze 2.0, 3.0 a 4.0. Částí distribuce je i LINQ to Object a XML ale již ne LINQ to SQL. C# 4.0 je v této verzi defaultní mód kompilátoru. Windows Forms verze 2.0 je také podporován. Cílem MONO je plná podpora vlastností .NET Frameworku 4.0 kromě WPF, ADO.NET Entity Framework a WF, WFC pouze omezeně. Chybějící části projektu jsou vyvíjeny ve vlastním subprojektu se jménem Olive a je zatím ve stadiu experimentálního vývoje. Open source implementace pluginu Silverlight, která se zde nazýva Moonlight, je již vyřešena a podporována od verze 1.9. Moonlight 1.0, který podporuje API ze Silverlight 1.0, bylo vydané 20. ledna 2009. Moonlight 2.0, které zahrnuje podporu pro Silverlight 2.0 a některé prvky z 3.0, bylo vydáno v prosinci 2009.

Komponenty projektu

Mono se skládá ze tří částí:

Komponenty jádra
Komponenty jádra zahrnují kompilátor jazyka C#, virtuální stroj, a základní třídy knihoven. Tyto komponenty jsou založené na standardech Ecma-334 a Ecma-335.
Vývojový balík Mono/Linux/GNOME
Vývojový balík Mono/Linux/GNOME v součinnosti s existujícími knihovnami GNOME a Free and open Source knihovnami nabízí nástroje pro vývoj aplikací. Zahrnují Gtk# pro návrhy GUI, Mozilla knihovny pro práci s renderovacím enginem Gecko, Unixové knihovny, knihovny pro spojení s databází, bezpečnostní balík a editor XML schémat RelaxNG, Gtk# dovoluje, aby se aplikace tvořené v projektu Mono mohly plnohodnotně zaintegrovat do GNOME prostředí, stejným způsobem jako nativní aplikace. Knihovny pro práci s databázemi umožňují spojení s typy jako MySQL, SQLite, PostgreSQL, Firebird, Open Database Connectivity (ODBC), Microsoft SQL Server (MSSQL), Oracle, objektově orientované databázi db40 a dalšími.
Balík pro kompatibilitu s Microsoft Windows
Balík pro kompatibilitu s Microsoft Windows umožňuje přenos aplikací z prostředí Windows .NET na Linux. Kromě dalších částí obsahuje ADO.NET, ASP.NET a Windows.Forms.

Externí odkazy