Blog

Xamarin vs. nativní vývoj pro mobilní platformy

24. 08. 2017

Vývoj mobilních aplikací patří k velice lukrativním a zároveň riskantním oblastem.

Vývoj mobilních aplikací patří k velice lukrativním a zároveň riskantním oblastem. Jedním z největších úskalí je zejména nejistá návratnost prostředků investovaných do vývoje. Ale vývojáři se potýkají i s dalšími nástrahami. V současné době se mobilní aplikace vyvíjejí zejména pro platformy Android, iOS a Windows. Každý operační systém má svou vlastní architekturu, využívá specifické programovací jazyky a systémové vývojové nástroje. Vzhledem k tomu, že každý usiluje o maximální zásah, vycházejí aplikace obyčejně na všechny hlavní operační systémy. Mnoho vývojářských společností proto stojí před důležitou výzvou – jak co nejefektivněji postupovat, aby byla hotová aplikace k dispozici současně pro Android, iOS i Windows? Možným řešením jsou multiplatformové frameworky, které usnadňují přenos existujícího softwaru napříč rozdílnými platformami. Někteří programátoři se od podobných nástrojů distancují s odvoláním na nativní vývoj, který je podle nich jedinou zárukou správné funkčnosti výsledné aplikace. Často se také objevuje tvrzení, že výskyt chyb v nativních aplikacích je mnohonásobně nižší než v případě cross-platformové varianty.

Oba přístupy k vývoji mají svá specifika a je zapotřebí zvážit několik faktorů – rozhodnutí může mít zásadní dopad nejen na vývoj, ale ovlivní také obchodní cíle společnosti. Nativní vývoj s sebou nese řadu výhod – aplikace napsaná v jazyku, který je přímo určen pro konkrétní platformu, samozřejmě přináší rychlejší odezvu, vykazuje daleko méně chyb a minimalizuje konflikty. Hlavní nevýhodou nativního vývoje je pak jeho nerentabilita. Vyvíjet aplikaci jen pro jednu platformu si dnes téměř nikdo nedovolí, vyvíjet nativní aplikace pro tři různé systémy je pak pro vývojáře neefektivní.

Multiplatformová řešení umí pokrýt několik systémů, často bez nutnosti znovu dokončovat přenesený projekt. Aplikace vyvíjená cross-platformově vyžaduje oproti nativnímu vývoji odlišný přístup ke kódování. Samotné jádro aplikace musí být uzpůsobeno tak, aby byla schopna reagovat napříč systémy. Kód je tedy obsáhlejší, než by tomu bylo v případě nativního vývoje.

Mezi cross-platformovými aplikacemi je ale v posledních letech na vzestupu Xamarin, který zaujal vývojáře zejména tím, že upřednostnil vývoj v C# a .NET, zatímco konkurenční produkty vsázejí hlavně na Javu, JavaScript a Objective-C. Ukázalo se, že jde o krok správným směrem, neboť C# pokryje to samé, co lze napsat v Objective-C, Swiftu nebo Javě, která patří mezi hlavní jazyky v cross-platformovém vývoji.

Co se týče přenosu kódu psaného v C# na další platformu, nabízí Xamarin elegantní řešení –kód psaný v C# je kompilován do nativních API různých platforem. Výstupem kompilování v Xamarinu je pak totožný soubor jako při nativním vývoji. Díky tomu Xamarin neovlivňuje výkon výsledné aplikace. Možnosti C# v případě Xamarinu umožňují minimalizovat práci nutnou pro úpravu kódu aplikace pro jinou platformu – při přenosu aplikace zůstává až 100 % původního kódu.

Xamarin dovoluje efektivně vytvářet aplikace napříč platformami. V žádném případě však nejde o všespásné řešení, které jednoduše vyřeší všechny problémy s vývojem. Zcela nezanedbatelnou výhodou Xamarinu je dnes už také jeho dostupnost: Microsoft nástroj poskytuje všem vývojářům zdarma jako součást Visual Studio Community Edition.

I vzhledem k výše uvedenému se vývojáři ve společnosti Definity Systems rozhodli jít cestou vývoje v Xamarinu. Po absolvování vybraných školení a ověření požadovaných vlastností této cross-platformové technologie prostřednictvím interních prototypů dochází k reálnému využití na nových projektech v portfoliu Definity Systems. Pro zákazníky to znamená především snížení nákladů na vývoj aplikace a potenciální menší chybovost vznikající duplicitou kódu při odděleném vývoji jednotlivých platforem.


zpět

Reference

Systém HRA byl vyvinut pro HR oddělení za účelem přehledu o docházce a přítomnosti zaměstnanců, žádostí o dovolenou a plánování služebních cest. Na základě administrace lze vytvářet exporty pro další zpracování. Systém je vyvinut jako webová aplikace pro firemní intranet/extranet....

Tvorba rozsáhlého rezervačního, objednávkového, výměnného a prodejního systému pro nové vozy určeného pro zahraniční prodejní sítě Škoda Auto a SEAT. Poskytování komplexních služeb v oblasti systémového návrhu, vývoje a dlouhodobé údržby a rozvoje systému....

Tvorba systému BMS (Business Management Škoda) pro evidenci a následné zpracování ekonomických informací obchodníků prodejní sítě Škoda Auto externí poradenskou firmou. Princip systému spočívá ve sběru ekonomických dat jednotlivých prodejců, jejich vyhodnocení a porovnání s...

Tvorba intranetového systému SQS (Škoda Quality System), který je určen pro sběr a vyhodnocení dat o kvalitě aktuálně vyráběných vozů v reálném čase. Poskytli jsme služby v oblasti systémové analýzy, návrhu, vývoje, údržby a rozvoje systému. produktový list v PDF

Vývoj aplikace zajišťující kalkulaci cen střešních krytin, přípravu objednávek a faktur pro zákazníky. Systém je určen především pro smluvní partnery společnosti Bramac, kterým usnadňuje přípravu stavebních zakázek. 

Cílem projektu bylo vytvořit informační systém pro cenotvorbu, nastavení procesu pro prodej nových bytů, rodinných domů a parcel a poskytnutí second-level hotline, technické podpory a komplexního outsourcingu provozu softwarové a hardwarové infrastruktury systému. Informační systém...

Součástí informačního systému pro on-line prezentaci nejen produktů společnosti (domy, byty a parcely) je redakční modul, který čerpá data přímo z databáze systému CMS CG a umožňuje snadné nastavení zobrazovaných informací, správu verzování publikovaných dat. Umožňuje vytvoření...

Společnost DEFINITY Systems se podílela na vývoji extranetového řešení pro evidenci, zpracování a analýzu dat protikorozní katodové ochrany produktovodů společnosti Čepro. Přínosy řešení: Řešení přispívá k včasnému odhalování potenciálních defektů potrubí, čímž...

Implementace extranetového řešení pro evidenci, zpracování a analýzu dat protikorozní katodové ochrany plynovodů pro distribuční společnosti E.On. Systém sdružuje data z celé této oblasti s cílem usnadnit kontrolu a řízení procesů katodové ochrany na úrovni celé sledované soustavy. ...

Tvorba distribuovaného účetního a ekonomického systému pro jídelny sítě Eurest. Prostřednictvím systému se provádí sběr a zpracování účetních dat a příprava fakturace poboček sítě Eurest.  Přínosy: Umožnění elektronického sběru dat z jednotlivých závodů Eurest...

Specializovaný obchodní (B2B) a konfigurační systém vyvinula společnost DEFINITY Systems pro potřeby prodejní sítě Hewlett-Packard. Systém vytváří on-line kanál pro distribuci serverů HP ProLiant a veškerého příslušenství. Přínosy: Systém realizuje přímou vazbu mezi výrobním...

Společnost DEFINITY Systems vytvořila pro Konica Minolta specializovaný kalkulační nástroj pro výpočet tiskových nákladů a následný návrh jejich optimalizace.   Vyjádření klienta:   "Služba KM eDOC, která výrazně pomáhá našim konzultantům a obchodníkům...

Tým DEFINITY Systems vyvinul extranetové řešení pro evidenci, zpracování a analýzu dat protikorozní katodové ochrany plynovodů pro distribuční společnosti RWE Energy Czech Republic. Přínosy: Systém přispívá k včasnému odhalování potenciálních defektů potrubí, čímž...

Tým DEFIINITY Systems vyvinul extranetové řešení pro evidenci, zpracování a analýzu dat protikorozní katodové ochrany produktovodů společnosti MERO. Přínosy Systém přispívá k včasnému odhalování potenciálních defektů potrubí, čímž předchází potenciálním ekologickým a...

Rozsah projektu: Tvorba podnikového informačního systému pro sledování a vyhodnocování produktivity a efektivity výroby (pro výrobní závod Zruč). Poskytování second-level hot-line a technické podpory. Průběžná údržba a rozvoj software.

Rozsah projektu: Tvorba on-line rezervačního a prodejního systému pro celostátní prodejní sítě vstupenek TICKET ART CZ, PL a SK. Poskytování komplexních služeb v oblasti systémové analýzy, návrhu, vývoje a dlouhodobé údržby a rozvoje systému.  Vývoj...

Tvorba rozsáhlého rezervačního, objednávkového, výměnného a prodejního systému pro nové vozy určeného pro zahraniční prodejní sítě Škoda Auto a SEAT. Poskytování komplexních služeb v oblasti systémového návrhu, vývoje a dlouhodobé údržby a rozvoje systému....

Tvorba systému SEFI, který eviduje a zpracovává poruchy a problémy nových automobilů. Přínos systému spočívá ve schopnosti sledovat poruchovost v globálním měřítku, čímž umožňuje rychle analyzovat, jakým způsobem upravit výrobní postupy, aby se zjištěná poruchovost snížila. Přínos...

Projekt Web CCS: Web CCS je specializovaný systém, který zajišťuje podporu procesu tvorby rozpočtů a prognóz v elektronické podobě a jejich následný oběh mezi odpovědnými osobami, včetně zajištění schvalovacího procesu. Systém automaticky vyhodnocuje odchylky v rozpočtech jednotlivých...

Vytvoření informačního systému  AIS (Asset Management Information System) Budget  pro podporu procesů tvorby rozpočtů komerčních budov a jejich schvalování. Výchozí situace: Rozpočet byl schvalován pomocí komplexního excelovského souboru. Časově náročné ruční...

Mobilní verze projektu Karta života ZP211 umožňuje pojištěncům  Zdravotní pojišťovny ministerstva vnitra České republiky získat okamžitý přístup k informacím o svém zdravotním stavu. Každý vlastník Karty života zde má uložené záznamy o alergiích, chronických onemocněních,...

Základní funkcí systému SPH je administrace elektronických hodnotících formulářů pracovníků úseku letového provozu a jejich následné vyhodnocení na základě přidělených kompetencí. Systém je vyvinut jako kombinace webové aplikace pro sběr formulářů a desktopové aplikace pro jejich...

Nahrazení a rozšíření informačního systému AIS (Asset Management Information System) Report pro reporting finančních a provozních údajů z komerčních budov v centrální a východní Evropě. Výchozí situace: Již existoval systém vyvinutý najatým samostatným vývojářem....

Rozpočtování, controlling a forecasting je díky tomu dnes v CZ LOKO bezpečnější, s menší chybovostí a bez závislosti na MS Excel souborech. Finanční řízení není v rámci holdingu jednoduchou záležitostí. Musí pojmout 25 nákladových středisek a 200 rozpočtových účtů,...

Eurest řešil problémy s rozpočtovými a reportingovými procesy . Firma se potýkala se složitostí a chybovostí procesů, spojených s budgety a reporty pomocí souborů MS Excel. Závody posílaly svoje rozpočty vyplněné v Excelu, které pak musely být pracně nahrávány do informačního systému...

Vyjádření klienta: "Našemu kontrolingovému oddělení Fimis plně vyhovuje svojí přizpůsobivostí a mírou detailu zároveň. Plánování a řízení desítek nákladových středisek se tak stalo efektivnější díky okamžité konsolidaci a porovnání hodnot plánů a účetní skutečnosti."...

Společnost DEFINITY Systems provedla implementaci zakázkového informačního systému Lab Management Software ve společnosti EMERSON Climate Technologies s.r.o. Výsledkem je usnadnění a zefektivnění spolupráce mezi oddělením inženýringu a testovací laboratoří a snížení nákladů na zařízení a...

CMI Fakturační systém sloužící ke zpracování faktur, evidenci faktur a pokladních dokladů na základě objednávek vytvořených v systému PS2 popř. faktur doručených od klientů a dodavatelů. PS2 Provozní systém pro evidenci objednávek na základě plánování a pro...

Systém MEC Smart Metering vyřešil společnosti HEC Services, s.r.o. problém povinnostmi hlášení údajů o spotřebě elektrické energie. Usnadnil fakturaci odběratelům, přehled o vytížení distribuční sítě a odhalení kritických míst v rámci distribuce elektrické energie. Kromě toho systém...

Společnost Lundegaard hledala nástroj, se kterým by bylo možné mít firemní plánování pod kontrolou i po chystaném organizačním rozdělení společnosti na střediska.  Nasazení FIMISu zabránilo očekávané neúměrné náročnosti v plánování v MS Excel a hrozícímu nárůstu...

Realizovali jsme desítky SW řešení
v mnoha oborech.

S čím tedy můžeme pomoci vám?

*

Ještě otázečka...

O naše služby mají často zájem i roboti,
dejte nám vědět, že nejste jeden z nich.

Díky :)