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

Adam Štrauch 11. 1. 2013

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:

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

Našli jste v článku chybu?
DigiZone.cz: Jsou obchody připraveny na DVB-T2/HEVC?

Jsou obchody připraveny na DVB-T2/HEVC?

120na80.cz: Jaké plavecké pomůcky vaše dítě ochrání?

Jaké plavecké pomůcky vaše dítě ochrání?

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

Vitalia.cz: Mateřská - nejlepší období v životě ženy? Hahahaha

Mateřská - nejlepší období v životě ženy? Hahahaha

DigiZone.cz: Přechod na DVB-T2? Kolem miliardy...

Přechod na DVB-T2? Kolem miliardy...

Podnikatel.cz: Akční plán podpoří byznys padesátníků

Akční plán podpoří byznys padesátníků

Podnikatel.cz: Profese budoucnosti? Úředník nepřežije

Profese budoucnosti? Úředník nepřežije

DigiZone.cz: Skylink o půlnoci vypnul 12 525

Skylink o půlnoci vypnul 12 525

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

Podnikatel.cz: Polská vejce na českém pultu Albertu

Polská vejce na českém pultu Albertu

Root.cz: Bitcoin začal vyplácet jen půlku odměn

Bitcoin začal vyplácet jen půlku odměn

DigiZone.cz: Nestihli jste Bonda na ČT2? Zkuste RTVS

Nestihli jste Bonda na ČT2? Zkuste RTVS

Vitalia.cz: Taky je nosíte? Barefoot není pro každého

Taky je nosíte? Barefoot není pro každého

120na80.cz: SOS aneb spálená pokožka

SOS aneb spálená pokožka

DigiZone.cz: Skylink: do pátku může docházet k výpadkům

Skylink: do pátku může docházet k výpadkům

120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Vitalia.cz: Jak může být v uzenině 150 % masa?

Jak může být v uzenině 150 % masa?

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Podnikatel.cz: Prodej na Alibabě? Malí hráči utřou nos

Prodej na Alibabě? Malí hráči utřou nos

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta