Hlavní navigace

Vývoj aplikací ve webovém prohlížeči

11. 1. 2013
Doba čtení: 4 minuty

Sdílet

Cloud a web jsou všude kolem nás. Pohlcují správu fotografií, komunikaci mezi uživateli, ukládání souborů nebo i knihy. Pořád jim ale uniká vytváření nového obsahu nebo dokonce vývoj nových aplikací. Webová IDE a editory se už objevily, ale aby mohly být skutečnými univerzálními nástroji, čeká je ještě dlouhá cesta.

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:

CS24_early

  • 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ů.

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.