Stane se Mono nejžádanější platformou pro vývoj Linuxu?

17. 5. 2004
Doba čtení: 6 minut

Sdílet

Překlad článku "Will Mono Become the Preferred Paltform for Linux Development?", který byl 11. 3. 2004 publikován serverem www.onlamp.com.

Jedná se o překlad článku Will Mono Become the Preferred Paltform for Linux Development?, který byl 11. 3. 2004 publikován serverem www.onlamp.com.

Cíl projektu Mono je velmi jednoduchý: stát se platformou č. 1 pro vývoj software na OS Linux. Vezmeme-li v úvahu, že Mono je vlastně implementací .NET frameworku od firmy Microsoft, může se tento cíl zdát mnoha fanouškům Linuxu přinejmenším odvážný. Zúčastnil jsem se dvoudenního setkání vývojářů, pořádaného bostonskou divizí Novell Ximian, s nadějí, že se tam dozvím více. Setkání bylo moderováno energickým a nenapodobitelným Miquelem de Icaza a poskytlo mnoho příležitostí nejen ke kontaktu s vývojáři Mono, ale i ke shlédnutí velkého množství prezentací zaměřených na různé části projektu.

Setkání proběhlo po týdenní spolupráci vývojářů jádra Mono. Mnozí z nich se poprvé potkali teprve tento týden. Další pozoruhodností je až překvapivě nízký počet členů celého týmu – vývojářů jádra je všehovšudy pouze dvanáct.

Setkání přitáhlo pozornost o něco více než padesáti nadšenců a vývojářů. Ačkoli je Mono ještě stále v intenzivním vývoji, již bylo několikrát nasazeno do praxe. Některé případy Miguel de Icaza připomněl již při úvodním proslovu, dále se věnoval enterprise řešením, systémové integraci a světu open source. Na závěr také zdůraznil zejména instalaci systému v Mnichově v Německu, kde se jednalo o více než 350 serverů a 150000 uživatelů.

Dva balíčky API

Nejdůležitější otázkou všech případných zájemců byl však způsob licencování Mona. Nehrozí mu nebezpečí převálcování patenty Microsoftu? Tuto problematiku však De Icaza objasnil. Runtime Mona je pouze jakousi implementací Common Language Infrastructure standardizovou pomocí ECMA. Microsoft povolil používání této technologie pod tzv. „rozumnými a nediskriminujícími“ podmínkami.

Nad jádrem systému jsou dva balíčky API. První je implementací microsoftích API pro uživatelské rozhraní, webové služby a přístup k databázím. Druhý balíček je v projektu Mono zcela jedinečný a obsahuje několik nástrojů jako např. propojení GTK uživatelského rozhraní, grafický systém Cairo a vlastní databázovou vrstvu Mono.

Snadno si lze představit, že se Microsoft pokusí o uplatnění licenčních podmínek v případě API, které nezačlenil do ECMA. Dle Icaza by to v nejhorším případě pro distributory těchto API znamenalo, že by museli Microsoftu zaplatit určitý poplatek. To by se ale netýkalo unikátních Mono API. Oba balíčky jsou tedy na sobě zcela nezávislé, aby se mohlo později rozhodnout, jak vše distribuovat. Mimo jiné i kvůli distributorům jako Red Hat, kteří velice neradi distribuují něco, kde se dají očekávat spory o patenty.

Vyvstává otázka, zda tedy vůbec implementovat microsoftí API. Odpověď je ale velice jednoduchá – je třeba, aby byl přechod z Windows na Linux co nejlehčí. S nástupem platformy Microsoft Longhorn je životnost Windows API velice omezená. De Icaza poodkryl své plány a představy, že by mohlo dojít k implementaci některých technologií z Longhornu jako např. Indiga, Avalonu, nové webové služby XML či uživatelského rozhraní.

Soudě dle několika rozhovorů s lidmi na setkání se dá říci, že zvolená strategie na odlákání uživatelů od Windows funguje. Vývojáři mohli vzít své ASP.NET webové aplikace a po úpravě části neportovatelných kódů je spustit pod Monem.

Přetažení vývojářů

Vedle implementace důvěrně známých API existuje ještě jeden klíčový faktor, který může přetáhnout windowsové vývojáře k Linuxu: IDE. Mono na to totiž má ve svém MonoDevelop dobrou odpověď. Jedná se o port oblíbené open source aplikace SharDevelop na Mono. Nicméně MonoDevelop má zcela nový interface a vypadá a chová se jako GNOME aplikace.

Todd Berman předvedl schopnosti MonoDevelop v praxi. Představil všechny výhody, které očekáváte od IDE, včetně technologie IntelliSense (např. doplňování kódu ?) a debugeru. Berman se vyloženě radoval z jednoduchosti, s jakou se dá pod Monem vyvíjet. Demonstroval to například na nové komponentě pro Mozillu, kterou velice rychle a snadno vytvořil během minulého týdne.

Pokud budete používat MonoDevelop při tvorbě webových stránek, můžete si vychutnat jednu lahůdku – v náhledové části vidíte vygenerovanou stránku, která se automaticky aktualizuje při každé vaší činnosti. MonoDevelop se velmi aktivně vyvíjí a již brzo by mělo být uvedeno s verzí Mono 1.0


Pokud windowsovým vývojářům ulehčuje práci kompatabilita a IDE, co by je mohlo přimět k přechodu na Mono? Odpovědí se zdá být produktivita. Většina linuxových aplikací pro koncového uživatele je naprogramována v C nebo C++. Pomocí Mono se dá zásadně zredukovat obalovací kód i množství bugů.

Rovněž se nesmí přehlédnout fakt, že kompilátor Mona je bleskově rychlý. Typická aplikace pro systém GNOME obsahuje řadu závislostí (např. libtool), které dokáží i velice výkonný počítač při kompilaci značně zatížit. Oproti tomu kompilace v Monu probíhá tak rychle, že je možné kompilovat za běhu programu.

Lidé kolem projektu Mono si rovněž uvědomují nutnost dobré dokumentace. Samozřejmě, výhodou Mona je, že se dá využít i dokumentace pro Microsoft .NET framework. Vedle toho ale běží i projekt zvaný Monodoc, který má za cíl zdokumentovat zejména ne-microsoftí API.

Doposud jsou Mono a C# přijímány s překvapivým nadšením. Možná že to, co způsobuje, že vývojáři alespoň zkouší Mono, je respekt z Miguela de Icazy a Nata Friemana. Ale z rozhovorů s některými z nich se zdá, že i samotná platforma je silným lákadlem.


Vedle aplikace MonoDevelop a Friedmanova Dashboardu bylo představeno i několik dalších open source Mono/GTK aplikací včetně chytrého přehrávače hudby Muine a RSS generátoru BLAM.

Výhled do budoucna

Hlavním úkolem vývojářů Mono je momentálně přivést projekt do verze 1.0. Release je plánovaný na červen 2004 a měl by obsahovat .NET 1.0 a 1.1 API a implementaci C# 1.0. Koncem roku by měl být uveřejněn další release obsahující C# 2.0, .NET 1.2, Microsoft ASP.NET verzi 2.0 a XML technologie.

Později, v plánované verzi Mono 1.4, která je slibována na srpen 2005, by měly být i ukázky Longhorn technologií Indigo a Avalon.

Vývoj na Linuxu se zcela určitě zásadně změní, pokud se vývojářům Mono podaří dosáhnout svých cílů. De Icaza si nepřipouští žádné pochybnosti: „Pro mě je programovací jazyk C mrtev, kromě využití pro JIT!“

A jak to vypadá s použitím Linuxu na desktopech, zejména s Icazovým projektem, který založil před pěti lety – GNOME?

GNOME momentálně zaznamenává dost úspěchů, zejména díky verzi 2.6. Od verze 3.0 se však logicky očekává, že bude využívat Mono místo doposud užívané C implementace. I když jsme doposud nezískali žádné oficiální prohlášení týkající se této změny, zdá se, že Ximian v tom vidí velkou naději.

Může se to stát ale ještě velmi zajímavé, protože za GNOME stojí ještě IBM a Sun. Postoj těchto společností k .NET je v současnosti nejistý, obě se spíše zaměřují na Javu. Ironická představa linuxové distribuce Java Desktop System firmy Sun užívající GNOME postavený na .NET může být pro vedení firmy už příliš nestravitelným soustem.

bitcoin_skoleni

Ambiciózní cíle

Projekt Mono rozhodně stojí za to sledovat. Odvaha a drzost nápadu použít vlastní nástroje Microsoftu k odlákání jeho uživatelů na platformu Linux slibuje ještě zajímavou podívanou. Pokud jsou opravdu připraveni zaútočit na softwarového giganta tímto způsobem, jsou zbytečné jakékoli pochybnosti o tom, že se Novell chystá postavit Linux na nohy.

Zdroje

  • Domovská stránka projektu Mono obsahující vše potřebné.
  • MonoDevelop je port populárního SharpDevelop IDE pro GNOME desktop.
  • Zápisky z Mono konference od Brian Jepson (O'Reilly )

Edd Dumbill je redaktor XML.com. Kromě toho píše free software a Bluetooth balíčky pro Debian GNU/Linux. Rovnež provozuje webblog zvaný Behind the Times.