Dot42 – s C# na androidí appky i bez Mona

4

Dot42

Ačkoliv by se mohlo na první pohled zdát, že jsou všechny aplikace pro Android psány pouze v Javě, v případě 3D her a dalších náročných aplikací pak v C++, tak tomu tak ani zdaleka není. I pokud totiž pomineme okrajové záležitosti, jako PlayStation Mobile Suite, tak tu stále existuje poměrně rozšířené MonoTouch, které, hodně zjednodušeně řečeno, přidává do Andoridu vedle standartního DalvikaVM, zpracovávajícího Javu, druhý virtuální stroj – Mono, který se stará o překlad a vykovávání C# a dalších . NET jazyků.

Nyní se nicméně objevil nový způsob, jak pro Android psát aplikace v C# bez nutnosti dalšího virtuálního stroje jako je Mono. Na rozdíl od Mona totiž projekt dot42 (ano, tvůrci jsou milovníci Stopařova průvodce) přímo převádí .NETí „binárky“ v IL do Android byte kódu dex. Hodně zjednodušeně řečeno prostě vezme, to co vypadne z kompilátoru .NETu a inteligentně to přeloží do jazyka, který pochopí i DalvikVM.

Stejně jako Mono, jde i dot42 plně integrovat do Visual Studia a to včetně podpory následného debugování aplikací. Výhodou navíc je, že z kódu jdou volat nejen části .NET frameworku (zatím není dostupný celý), ale i naprostá většina původních Javových API. Na druhou stranu díky této dvojatosti pak mohou vznikat problémy, například s rozhodováním, zda použít kolekci z .NETu nebo Javy.

Dot42 má bohužel jeden poměrně nepříjemný problém. Zatímco pro takovéto domácí zkoušení je dostupný zdarma, tak v případě zájmu vydávat aplikace na Google Play a to i zdarma (na aplikace, na kterých nechcete vydělávat free licence stačí), stojí licence 300 eur, přičemž neexistuje sleva pro studenty. Projekt navíc nefunguje s Express verzí Visual Studia, takže v případě že nejste student a nemůžete si vyšší edice získat zdarma třeba z Dreamsparku, tak musíte přičíst cenu vývojového prostředí. A ta také není zrovna nízká.

Zdroj: Dot42 – C# for Android, androidpolice

 

  • Tomáš Hubálek

    Community License – FREE

    The Community License is free. It does not permit any form of commercial use. Furthermore, the Community License does not allow you to publish your application on a public market place such as (but not limited to) Google Play or SlideME unless it is free

    http://www.thefreedictionary.com/unless

    • Damn, pravda. Nějak jsem nedočet‘ do konce. (a ještě je to podtržený, chjo 🙂 )

      //Mimochodem, tohle znamená, že se možná jako C# vrhnu na androidí appky 🙂

  • kober

    Tak nevim, ale i ta cena je na dot42.com jina, pro 1 vyvojare za 299€ s rocnim predplatnym novych verzi…

  • Nick

    Zatím je tam spousta bugů, padá to a bere s sebou Visual Studio, ale časem to vyladí.