Zavřít reklamu

Softwarový vývojář Laurent Sansonetti pracuje na aplikaci, která umožní programovat nativní aplikaci pro iOS pomocí jazyka Ruby. Zkušenosti má, v roce 2007 vydal opensourcový MacRuby, který umožnil to samé, ale pro Mac aplikace.

Sansonetti je bývalý zaměstnanec Applu, který opustil poměrně nedávno. Po sedmi letech ve společnosti založil vlastní startup, HipByte, který si klade za cíl vytvářet software pro Mac a prvním produktem má být právě RubyMotion. Na podobném projektu pracoval už před lety, jeho výsledkem byl nástroj MacRuby, interpreter pro programovací jazyk Ruby, který běžel nad runtimem Objective-C a překládal tak kód pro jazyk určený pro Cococa. Projekt byl úspěšný, a tak se Sansonetti rozhodl, že udělá to samé pro iOS.

RubyMotion má stejnou implementaci jako MacRuby, využívá však nový kompilátor, který velice efektně optimalizuje kód aplikace. Výsledek je srovnatelný s aplikacemi psanými přímo v Xcode po stránce rychlosti a odladěnosti a využívají přibližně stejné množství hardwarových zdrojů při běhu. Aplikace napsané v RubyMotion po kompilaci splňují všechny požadavky Applu a podle autora bylo již několik aplikací vytvořených tímto způsobem přijato do App Store. Ačkoliv je Ruby spíše skriptovacím jazykem, aplikace mohou vypadat stejně jako ostatní počiny v App Store, jelikož RubyMotion využívá stejné elementy grafického rozhraní, které nabízí Xcode.

Editor se nepodobá prostředí IDE (Integrated Development Environment) od Apple, místo toho se nabízí příkazová řádka, která je programátorům pracujícím v Ruby přeci jen bližší. Jedním z nejdůležitějších nástrojů je pak kompilátor Rake, který by měli programátoři Ruby rovněž znát. Umožňuje si vybrat které frameworky zahrnout do konečné kompilace plus nastavit další důležité aspekty, po kompilaci se pak aplikace spustí v iOS simulátoru. Celý proces trvá zhruba pět vteřin.

Sansonetti tvrdí, že plánuje integrovat RubyMotion přímo do Xcode, ale spíše v dlouhodobém měřítku. Místo toho zatím vytváří knihovny pro Ruby, které zjednoduší práci při sestavování grafického rozhraní. Ty nebudou dostupné pouze pro RubyMotion, Sansonetti zamýšlí je publikovat veřejně a umožní tak ostatním knihovny modifikovat s vlastními styly a interpretacemi. Mohou je pak pod určenou licencí šířit dále mezi komunitu a nebo je využít jen pro vlastní účely při programování v RubyMotion.

Proč vůbec Ruby?

Ruby má na rozdíl od Objective-C a dalších jazyků z rodiny C velice jednoduchou a přirozenou syntaxi. Pokud to přeženu, programovat v Ruby je skoro jako psát prosté věty v angličtině. Ruby je ve své podstatě především jazyk pro vytváření skriptů, podobně jako Python, nicméně jeho známější variace On Rails je adekvátní náhradou PHP. Díky RubyMotion by bylo možné mnohem snadněji vyvíjet aplikace pro iOS, jelikož naučit se Ruby je výrazně jednodušší než se naučit Objective-C. Sám jsem s Ruby strávil půl roku na vysoké škole a pochytit základy se dá opravdu za pár dní či týdnů. Vývoj RubyMotion má tak v programátorských kruzích velký význam a mohl by na platformu iOS přivést další šikovné jedince.

Zdroj: ArsTechnica.com
.