Věděli jste, že můžete vyvíjet aplikace ve frameworku od Google a dokonce svůj výtvor hostovat na jejich serverech ? A to není vše – nenáročné aplikace budou využívat hosting zcela zdarma !
Tyto výhody nabízí projekt Google App Engine. Zatím lze využívat programovací jazyky Java a Python, další možná časem přibudou. Přiznávám, že výběr jen z těchto dvou jazyků může být limitující, ale já jsem za Python rád a jeho volba může být lepší než všudypřítomné PHP. V dokumentaci jsou k dispozici i dobře napsané články, díky kterým se naučíte například vytvářet aplikace pro Facebook, používat XMPP, naprogramovat Google Desktop Gadget nebo zprovoznit výborný framework Django na Google App Engine.
To vše vypadá hezky, ale asi tušíte nějaký ten háček v hostingu zdarma – jsou to nastavené limity, které nenáročné aplikace budou určitě splňovat. Mezi kompletním rozpisem limitů naleznete třeba omezení milion požadavků na vaši aplikaci za celý den (tolik zobrazení stránek za den je však pro mnohé z nás jen pouhý sen). Kromě výběru jazyka je zde ještě jedno omezení, které spočívá v použití speciálního datového uložiště Bigtable – nečekejte tedy běžnou databázi typu MySQL. V oblasti výkonu se ale z tohoto omezení stává spíše výhoda.
Co se týče výsledné URL adresy, bude vypadat takto:
http://vaše-id.appspot.com/
Je tady ovšem i druhá možnost – Google App Engine můžete spojit s vaším účtem Google Apps pro doménu a lehce tak namapovat jakoukoliv adresu na aplikaci v App Engine.
U tohoto bodu jsem narazil na jednu nepříjemnost – lze použít tvar www.domena.tld, ale samostatnou doménu bez www (http://domena.tld) není možno namapovat na vaši aplikaci. V tomto případě nápověda doporučuje využít služby URL forwarding u vašeho správce domény. Je popsán postup pro registrátora GoDaddy.com, v ČR jsou podmínky horší a tuto službu poskytuje jen pár vyvolených – např.: kvapem.cz, ale ten zase neumožňuje editaci SRV záznamů (zkoušel jsem hledat registrátora pro cz doménu, který umožňuje přesměrování i změnu SRV a neměl by přitom nesmyslně vysoké ceny za doménu, ale zatím jsem nikoho takového nenašel – UPDATE 13.4.2010: našel, je to http://subreg.cz).
Na závěr ještě přikládám ukázku jednoduché stránky postavené na Google App Engine (psáno v Pythonu): http://martin.grames.cz. Mezi posílanými HTTP hlavičkami se vyskytuje i jedna zajímavá položka:
Server: Google Frontend
| Vloženo: 13. 2. 2010 13.34 | RSS komentářů tohoto článku |
| [1] v6ak (reknu@nic.cz) | 14. 2. 2010 09.53 |
Výběr jazyků je ve skutečnosti mnohem větší. Java totiž není jen jazyk, ale i platforma. (Možná trošku zvláštně bude znít přirovnání vztahu .NET – C# k Java – Java).
Mám-li přejít k věci, tak je možné hostovat aplikaci napsanou třeba v Ruby, Groovy nebo i PHP!
Podrobnosti jsou na http://groups.google.com/…n-app-engine (JVM-based languages).
Já ale dám přednost Javě, ještě bych mohl zvážit Scalu.
Omezení tam je víc, třeba nemožnost zapisovat do FS. Ale myslím, že většinou není problém s nimi počítat.
K limitům: u e-mailů asi nebude v některých případech (třeba fóra)
až takový problém přešvihnout: http://code.google.com/…/quotas.html#Mail 
| [2] Martin Grames (martin.grames@chapadlo.cz) | 14. 2. 2010 15.02 |
[1] v6ak: Děkuji za doplnění článku, sám jsem netušil, že existují implementace různých jazyků v Javě. Quercus – PHP 5 nad Javou – vypadá velmi dobře, dokonce v něm fungují různé redakční systémy.
Abych upřesnil představu o jiných jazycích „pod Javou“: Ačkoli je možné udělat například interpret (a třeba pro Smalltalk AFAIK existuje), je IMHO mnohem lepší zdroják zkompilovat do bytecode Javy. Výkon pak může být zhruba srovnatelný s Javou (týká se hlavně staticky typovaných jazyků). V takovém případě nemusí být cokoli z implementace jazyka napsáno v jazyce Java. Samozřejmě, dost často asi bude, už kvůli knihovnám na práci s bytecode. (Sice ani na platformě Java to s nimi není ideální, ale kde je to lepší?) Ale klidně můžeme psát ten kompilátor v C++.