SproutCore: webové aplikace podle Apple nastupují? - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Kompakty

SproutCore: webové aplikace podle Apple nastupují?

17. června 2008, 00.00 | Na nedávno skončené vývojářské konferenci WWDC poodhalila společnost Apple některé své plány spojené s JavaScript frameworkem SproutCore, inspirovaným prostředím Cocoa. SproutCore dovoluje tvořit webové aplikace, jenž vypadají a fungují jako aplikace desktopové, a Apple jej již použila například ve Web Gallery služby .Mac či službě MobileMe. Co dalšího může SproutCore přinést v oblasti vývoje webových aplikací?

V pátek v San Franciscu skončila vývojářská konference WWDC. Apple sice po účastnících konference vyžaduje utajení většiny informací, jež se tam probírají, ale nemohl zatajit jednu významnou novinku odhalenou právě v pátek.

Jde o SproutCore, otevřený, na JavaScriptu postavený, prostředím Cocoa inspirovaný vývojový rámec (framework) pro tvorbu webových aplikací, jež vypadají a fungují jako vlastní aplikace osobních počítačů. Právě kvůli tomu, že se jedná o otevřený projekt, nemohl Apple zabránit zveřejnění informací o něm. Na konferenci WWDC se probíralo, jak při tvorbě webových aplikací spojit SproutCore s technologiemi lokálního ukládaní dat definovanými standardem HTML5.

sproutcore2f.jpg

Původ SproutCore

První informace o SproutCore se objevily již loni na podzim, kdy se ukázalo, že webová galerie (Web Gallery) služby .Mac byla vytvořena s pomocí tohoto vývojového rámce. Základ SproutCore položil Charles Jolley z firmy SproutIt, kdy ho užil pro svého webového správce pošty Mailroom, dalším vývojem se z něj stal rámec převyšující všechny ostatní javascriptové vývojové rámce v tom, že je navržen pro sestavování celých rozsáhlých bohatých webových aplikací.

JavaScript versus Flash

JavaScript, jehož podpora se nachází ve všech moderních webových prohlížečích, toho umožňuje docela hodně, přesto to ne vždy stačí, a tak vývojáři sahají po jiných prostředcích, například po Flashi od Adobe.

Apple a konkrétně Steve Jobs ovšem Flash zrovna v oblibě nemá (i kvůli tomu, že Adobe dlouho upřednostňovala potřebný zásuvný modul ve verzi pro Windows a s mobilní verzí Flashe není Jobs vůbec spokojen, podporu Flashe pro iPhone přímo odmítl).

Apple proto začal pracovat na náhradě Flashe pro svůj web, využíval řadu otevřených skriptovacích rámců jako jsou třeba Prototype a Script.aculo.us. Tyto rámce nabízejí prefabrikovaný kód odladěný pro fungování ve všech prohlížečích, designér stránky se tak může soustředit hlavně na to, co má stránka dělat, aniž by musel znovu vymýšlet potřebný kód. Takto lze nahradit Flash, přičemž není potřebný žádný dodatečný zásuvný modul, protože JavaScript prohlížeče podporují přímo.

Architektura a přednosti SproutCore

SproutIt se rozhodla jít ještě dále a počala vyvíjet rámec pro vývoj celé aplikace postavený na architektuře MVC ( Model View Controller – model, zobrazení, řadič). V této architektuře oddělená data modelu a zobrazení uživatelského rozhraní spojuje logika samostatného řadiče. Tím se liší od obvyklých webových nástrojů směšujících logiku, data a prezentaci, což vede k nepřehlednému a těžko udržovatelnému kódu.

sproutcore1f.jpg

Jednoduchý správce fotografií vytvořený ve SproutCore

SproutCore díky tomu dovoluje sestavovat javascriptové aplikace pozoruhodně malým množstvím programového kódu. Dají se takto vytvářet aplikace typu „tlustého“ klienta, jež běží v prohlížeči, se serverem komunikují prostřednictvím technologie AJAX jen tehdy, když potřebují nahrávat nebo ukládat data. Oproti AJAX aplikacím tak aplikace vytvořené pomocí SprutCore běží rychleji, snáze se používají a mnohem snáz se píšou.

SproutCore tedy přenáší větší část aplikace do samotného prohlížeče, ta se pak chová více jako skutečná vlastní aplikace počítače, protože skutečně běží na lokálním počítači, v mnohem menší míře čeká na odezvy vzdáleného serveru. Tvorba takovýchto „tlustých“ klientů se však stala praktickou až v poslední době, díky rozvoji webových prohlížečů v oblasti podpory JavaScriptu.

Apple začal SproutCore nejenom využívat, ale též přispěl významnými aktualizacemi ke zvýšení výkonu a přidal mnoho nových funkcí. Příspěvky Applu učinily ze SproutCore ideální prostředek tvorby webových aplikací fungujících podobně jako aplikace prostředí Cocoa. Sdílejí mnohé programovací konvence, například vazby (bindings). Vazby ve SproutCore umožňují psát skripty, které se automaticky spustí vždy, když se změní hodnota vlastnosti. Takto lze psát složité aplikace se stabilním chováním s pomocí velmi malého objemu „spojovacího“ kódu.

Dění na klientské straně

Samozřejmě, čím rychleji bude webový prohlížeč zpracovávat JavaScript, tím výkonnější budou také aplikace napsané s pomocí SproutCore. Není tedy divu, že se Apple snaží vylepšit javascriptové jádro v Safari. V tomto směru by velké zlepšení mělo přinést nové jádro SquirrelFish, nedávno integrované do WebKitu, to by se mělo stát součástí Safari 4.

S pomocí SproutCore se tak dají vyvíjet na platformě nezávislé aplikace podobné těm vyvíjeným v prostředí Cocoa. Vlastně se tak vrací plány na přenos Cocoa na jiné platformy (typu Cocoa pro Windows), nyní ovšem namísto běhového prostředí Cocoa bude stačit webový prohlížeč s odpovídající podporou JavaScriptu, tedy Safari, Mobile Safari na iPhonu, Firefox a Internet Explorer 6 či 7.

SproutCore a MobileMe

Prostřednictvím SproutCore byly vytvořeny webové aplikace služby MobileMe, představené na zahájení konference WWDC. Lze předpokládat, že Apple časem přidá ke službě další podobné aplikace, například obdoby programů kancelářského balíku iWork. SproutCore se ovšem nabízí pod otevřenou licencí MIT, takže takovéto webové aplikace může vyvíjet každý, Apple by tedy teoreticky mohl dovolit vývoj aplikací MobileMe i třetím stranám, podobně jako brzy umožní vývoj aplikací pro iPhone.

sproutcore3f.jpg

To jsou však jenom spekulace, zatím Apple službu MobileMe představuje hlavně jako „Exchange pro nás ostatní“, důraz klade na podporu push technologií, podpora pro MobileMe se objeví jak ve firmwaru 2.0 pro iPhone, tak v chystané nové verzi Mac OS X 10.6 „Snow Leopard“ (a Snow Leopard Server by měl do značné míry nahrazovat Exchange Server).

V každém případě představuje SproutCore zajímavý prostředek tvorby účinných, dobře ovladatelných webových aplikací nezávislých na platformě, pro něž Apple nepochybně najde vhodné využití.

Bližší podrobnosti o rámci SproutCore se nacházejí na jeho oficiálním webu.

Poznámka: Text tohoto článku původně vyšel coby součást rozsáhlejšího zpravodajství na serveru MujMac.

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » Go verze  

 » Rubriky  » Apple  

 » Rubriky  » Webdesign  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: