Dnešní IT prostředí je velmi heterogenní. Máme co do činění s různými platformami, typy zařízení, formáty, operačními systémy a programovacími jazyky. Velmi zajímavý přehled k tomu poskytuje State of the Developer Nation Q1 2016 Report<\/A> na visionmobile.com. Plná dostupnost vlastní aplikace pro všechny uživatele v tomto prostředí již není reálně dosažitelná. Čím vyšší má být dostupnost, tím dražší to je nebo je třeba dělat více kompromisů.<\/P>Pro dosažení optimální dostupnosti mobilní Native-App by bylo nutné ji vyvinout minimálně třikrát! pro momentálně dominantní mobilní platformy iOS, Android a Windows Phone. To je nákladné. Aby vývojář ušetřil náklady na vývoj, mohl by se rozhodnout pro méně platforem, ale tím také osloví méně uživatelů.<\/P>Již na tomto příkladu je zřejmé, že ve fázi plánování aplikace by měly být vyvinuty koncepty, jak s nízkým vývojovým úsilím – a tedy nižšími náklady – dosáhnout co nejvyšší dostupnosti aplikací na různých platformách. Tím se dostáváme k tématu Cross-platformní vývoj, jednoho z nejdůležitějších problémů, kterým se vývojáři dnes musí věnovat.<\/P>Cross-platformní vývoj znamená vyvinout kód pro aplikaci pouze jednou a nasadit ji na více, většinou vzájemně nekompatibilních platformách. Cross-platformní vývoj také vždy znamená najít kompromis mezi cílovou skupinou, náročností vývoje, uživatelským zážitkem (UI\/UX) a funkcionalitou.<\/P> <\/P><\/A><\/P> <\/P>Jak je vidět na obrázku, existují různé přístupy s jejich výhodami a nevýhodami pro multiplatformní programování. Dobrou možností je určitě poskytnutí jako Web-App. Kód se píše pouze jednou a hostuje na webovém serveru. Web-App pak běží v prohlížeči téměř na všech současných zařízeních. Pomocí JavaScriptu\/HTML5 lze dnes vytvářet velmi silné a výkonné aplikace. Vedle trvalé nutnosti online připojení je technickou hranicí samotný prohlížeč, který neumožňuje přístup k mnoha senzorům zařízení, adresářům kontaktů, celému lokálnímu úložišti atd. Například takto nelze realizovat aplikace pro terén s offline využitím větších objemů dat.<\/P>Naopak Native-Apps jsou speciálně přizpůsobené dané platformě a mohou tak využít plný výkon hardwaru, UI komponenty, paměť a funkcionalitu zařízení. To by byl správný přístup pro mobilní aplikaci s offline funkcionalitou pro terénní práci. Kvůli této „specializaci“ je multiplatformní vývoj Native-Apps možný pouze se speciálními nástroji jako např. Qt\/QML<\/A>, Microsoft UWP<\/A> nebo Xamarin<\/A>. Kód aplikací vyvinutých pomocí nativních SDK již následně nelze udělat cross-platformním. To by mělo být tedy dobře promyšleno předem.<\/P>Hybridní aplikace jsou kompromisem mezi oběma možnostmi. Pomocí frameworků jako PhoneGap<\/A> nebo Titanium Appcelerator<\/A> apod., lze JavaScriptový kód zkompilovat do Native-Apps pro různé platformy a tím překonat omezení prohlížeče. Hybridní aplikace sice vypadají a působí jako Web-Apps, ale mohou přistupovat k více zdrojům zařízení.<\/P>Vývoj Geo-Apps s Esri technologií samozřejmě touto problematikou není vyjmutý. V Části 2<\/A><\/SPAN> tohoto blogu jsou vysvětleny řešení a nástroje pro ArcGIS vývojáře pro Cross-platformní vývoj.<\/P><\/BODY><\/HTML>
Pro dosažení optimální dostupnosti mobilní Native-App by bylo nutné ji vyvinout minimálně třikrát! pro momentálně dominantní mobilní platformy iOS, Android a Windows Phone. To je nákladné. Aby vývojář ušetřil náklady na vývoj, mohl by se rozhodnout pro méně platforem, ale tím také osloví méně uživatelů.<\/P>
Již na tomto příkladu je zřejmé, že ve fázi plánování aplikace by měly být vyvinuty koncepty, jak s nízkým vývojovým úsilím – a tedy nižšími náklady – dosáhnout co nejvyšší dostupnosti aplikací na různých platformách. Tím se dostáváme k tématu Cross-platformní vývoj, jednoho z nejdůležitějších problémů, kterým se vývojáři dnes musí věnovat.<\/P>
Cross-platformní vývoj znamená vyvinout kód pro aplikaci pouze jednou a nasadit ji na více, většinou vzájemně nekompatibilních platformách. Cross-platformní vývoj také vždy znamená najít kompromis mezi cílovou skupinou, náročností vývoje, uživatelským zážitkem (UI\/UX) a funkcionalitou.<\/P>
<\/P>
Jak je vidět na obrázku, existují různé přístupy s jejich výhodami a nevýhodami pro multiplatformní programování. Dobrou možností je určitě poskytnutí jako Web-App. Kód se píše pouze jednou a hostuje na webovém serveru. Web-App pak běží v prohlížeči téměř na všech současných zařízeních. Pomocí JavaScriptu\/HTML5 lze dnes vytvářet velmi silné a výkonné aplikace. Vedle trvalé nutnosti online připojení je technickou hranicí samotný prohlížeč, který neumožňuje přístup k mnoha senzorům zařízení, adresářům kontaktů, celému lokálnímu úložišti atd. Například takto nelze realizovat aplikace pro terén s offline využitím větších objemů dat.<\/P>
Naopak Native-Apps jsou speciálně přizpůsobené dané platformě a mohou tak využít plný výkon hardwaru, UI komponenty, paměť a funkcionalitu zařízení. To by byl správný přístup pro mobilní aplikaci s offline funkcionalitou pro terénní práci. Kvůli této „specializaci“ je multiplatformní vývoj Native-Apps možný pouze se speciálními nástroji jako např.
Hybridní aplikace jsou kompromisem mezi oběma možnostmi. Pomocí frameworků jako
Vývoj Geo-Apps s Esri technologií samozřejmě touto problematikou není vyjmutý. V
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.