Působení buzzwordu „cloud“ vidíme v každé oblasti IT. Zatímco domácnosti a vůbec vše určené pro zábavu a konzumaci obsahu si s cloudem rozumí a přináší vesměs mnoho dobrého, příprava obsahu si zatím do cloudu teprve cestu hledá, přitom má takový koncept řadu výhod:
- nezávislost na hardwaru a platformě,
- užší spolupráce vývojového týmu,
- možnost snadné práce mimo jednu stanici,
- kontrola nad tím, co který zaměstnanec odpracoval,
Není to ani tak o tom, že by neexistovaly nástroje. Dnes už je k dispozici vývojové prostředí napsané v JavaScriptu a běžící ve webovém prohlížeči a libovolný blogovací systém má svůj editor blogpostů. To platí i pro Root.cz, kde mi nic nebrání tento článek psát přímo v prohlížeči, ale i přes to, že tu tu možnost mám, že mohu tvorbu obsahu nebo i programování nových aplikací přenést do webového prohlížeče a na vzdálené servery, nedělám to.
U webových aplikací je velmi snadné udělat krok vedle. Navíc webový prohlížeč není všemocný a vývoj aplikací mimo lokální stroj s sebou přináší řadu problémů. Osobně si nedokáži představit hlavně testování takto vyvíjené aplikace. Na lokálním počítači mohu napsat program v mnoha programovacích jazycích a mám k dispozici prostředí, kde ho mohu rovnou otestovat. Zálohování na serveru je skript na několik desítek řádek, a když ho dopíšu, mohu ho spustit a zjistit, co dělá. Aplikace pro telefon s Androidem mohu napsat v libovolném textovém editoru a od Googlu mám emulátor, na kterém ji hned vyzkouším, a takto bych mohl pokračovat ještě dlouho.
U vývoje v cloudu to tak jednoduché není. Zatímco při vývoji na lokálním počítači se počítalo s tím, kde a pro co se bude kód vyvíjet, prostředí cloudu reprezentované většinou tím, co webový prohlížeč dovolí, je omezené ze všech možných směrů. Vývojové prostředí implementované ve webovém prohlížeči bude jen s obtížemi spouštět mobilní aplikace, webové aplikace napsané v Perlu nebo Pythonu, a když už se mu to povede, tak dřív nebo později narazí na omezené možnosti spolupráce s dalšími aplikacemi. Například grafický editor serveru A s technologií B, nemůže uložit upravený obrázek do adresářové struktury webu vyvíjeném v prostředí X, založeném na technologii Y.
I když se objevují nástroje, které se snaží jednotlivé body více či méně úspěšně vyřešit, na komplexní řešení si ještě budeme muset počkat.
První vlaštovky
I přes vcelku nepřátelské prostředí najdeme několik projektů, které můžeme označit za cloudové a které běží ve webovém prohlížeči. Jedním z otevřených zástupců je Eclipse Orion, který si můžete vyzkoušet na orionhub.org. Po registraci dostanete přístup do rozhraní, ve kterém je možné vytvářet projekty, pracovat s GITem, spouštět vývojový web server a provádět základní úkony přes velmi omezený integrovaný shell.
Prostředí se dá rozdělit na dvě části. První se stará o správu repositářů, souborového systému a vůbec vše kolem projektů. Druhou části je textový editor sloužící pro úpravu zdrojového kódu. Ani jeden z nástrojů se pohodlím nevyrovná dobře nastavenému operačnímu systému na lokálním stroji.
Scripted, editor napsaný v Node.js
Tam kde existují IDE, tedy velká vývojová prostředí, tam se najdou i příznivci opačného směru a to lehkých editorů. Jeden o sobě dal nedávno vědět vydáním nové verze 0.3.0 a nese název Scripted.
Pracují na něm vývojáři společnosti VMWare a pokud vás zajímá více, určitě si přečtěte blogpost Scripted: a JavaScript editor from vmware, od Andyho Clementa, jednoho z autorů tohoto editoru.
Scripted není problém rozjet lokálně i na serveru a umístit ho do vlastního cloudu. Pro svůj běh potřebuje pouze aktuální Node.js. Jeho instalace je tedy možná přes npm (NodeJS package manager), který byste měli mít v repositáři své distribuce. Jako root pak stačí spustit:
# npm install scripted
Editor v systému najdete jako scr a když se rozhodnete něco editovat, stačí napsat:
$ scr soubor.js
Po potvrzení se spustí webový server a otevře se vám prohlížeč na adrese localhost:7261. I po ukončení tabu běží webový server na pozadí a čeká, až ho budete znovu potřebovat.
Zase JavaScript
V odkazovaném blogpostu Andy o editoru říká, že se během jeho vývoje rozhodli soustředit pouze na podporu jednoho jazyka a tu dělat pořádně, než aby podporovali všechny jazyky jenom trochu. To znamená, že se Scripted můžete editovat zdrojové kódy napsané v Pythonu, C/C++, Javě nebo Go, ale editor vám nezvýrazní ani syntaxi.
Scripted používá některé komponenty z Orionu a stejně jako on umí plnohodnotně pracovat pouze s HTML, CSS a JavaScriptem. Jeho hlavní vlastnosti jsou:
- Rychlý start
- Zvýrazňování syntaxe
- Integrovaný JSLint pro analyzování JavaScriptového kódu
- Content assist pro HTML, CSS i JavaScript
- Snadné přepnutí na deklaraci
- Klávesové zkratky včetně zkratek na externí příkazy
Vzhledem k tomu, že Scripted běží v Node.js, má otevřené možnosti jak spolupracovat se souborovým systémem i s dalšími programy nainstalovanými na systému, kde běží. Je možné ho upravit tak, aby sedl potřebám vývojového týmu. Že je něco takového možné, dokazují i vývojáři samotného Scripted. Podle Andyho ho ve VMWare používají právě pro jeho vývoj.
Shrnutí
Scripted i Eclipse Orion jsou zatím jen první vlaštovky v tomto směru. Není snadné vytvořit webové vývojové prostředí, ať už pro vývoj webových aplikací nebo pro jinou platformu. Webové aplikace nemají možnosti nahradit prostředí, ve kterém běží nejpoužívanější IDE nebo i lehké editory. Nemohou se trefit do vkusu každého z vývojářů nebo do potřeb různých programovacích jazyků.