Hlavní navigace

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?

12. 1. 2013 9:07

já si myslím, že jsou všichni rádi, že je jenom Javascript - minimálně ti, co ještě pamatují jakou paseku nadělala existence vbscriptu.

14. 1. 2013 8:22

vbscript byl jeden z nejhorších jazyků, se kterými jsem pracoval - sám o sobě téměř nic neuměl - na vše potřeboval COM objekty, byl nezabezpečený, nebezpečný, pomalý a chybové hlášky byly zhruba ve smyslu "spadlo ti to nebo nejde to přeložit". Do "multiplatformního" prostředí se to nemělo nikdy dostat, i když MS se to těžce vyplatilo. Vzhledem k tomu, že velká část firemních intranetů tuto technologii používala a byla na ni závislá, tak MS vyrobil vendor lock jak sviňa a velká část firemních uži…

Vitalia.cz: Jak koupit Mikuláše a nenaletět

Jak koupit Mikuláše a nenaletět

Podnikatel.cz: Platební brány a EET? Stále s otazníkem

Platební brány a EET? Stále s otazníkem

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Lupa.cz: E-shopy: jen sleva už nestačí

E-shopy: jen sleva už nestačí

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Podnikatel.cz: Dárky v podnikání. Jak je uplatnit v daních?

Dárky v podnikání. Jak je uplatnit v daních?

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

DigiZone.cz: Další dva kanály nabídnou HbbTV

Další dva kanály nabídnou HbbTV

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu