Důležitým tématem před vývojem mobilní aplikace je volba technologie. Na trhu je dostupných hned několik možností. Některé již dosluhují, některé jsou dražší než jiné a některé již nemají žádnou podporu a vývoj v nich se tedy nevyplatí. Jakou technologii zvolit při vývoji mobilní aplikace?
Pro laické pochopení a velké zjednodušení rozdělíme možnosti vývoje do třech kategorií.
Nativní vývoj
Původní a nejstarší možností vývoje mobilní aplikace je nativní vývoj. Nativní vývoj probíhal pro iOS (Apple) dříve v jazyku Objective-C, později byl nahrazen jazykem Swift. Pro Android se nativně používá jazyk Kotlin.
Původní a nejstarší možností vývoje mobilní aplikace je nativní vývoj. Nativní vývoj probíhal pro iOS (Apple) dříve v jazyku Objective-C, později byl nahrazen jazykem Swift. Pro Android se nativně používá jazyk Kotlin.
Obrovskou výhodou nativního vývoje je možnost využití výkonu nebo hloubková integrace s hardwarem telefonu. Proto se nativní vývoj využívá pro vývoj složitých aplikací. Vývoj také probíhá pro každou platformu zvlášť, což má za výhodu perfektní odladění pro každou danou platformu.
Velkou nevýhodou nativního vývoje je oddělený vývoj, tedy o něco vyšší náklady než hybridní vývoj.
Pokud se nejedná vyloženě o složitou aplikaci, nativní vývoj nebývá efektivní a vyplatí se uvažovat o jiné variantě.
Za Pixelmate - na vývoj mobilních aplikací se specializujeme od roku 2014 a díky tomu máme plnohodnotný tým programátorů na nativní vývoj. Je to nejčistší a nejkvalitnější varianta. Nicméně v poměru cena/výkon je tato technologie ke zvážení. Bohužel se dnes od nativního vývoje upouští pro jeho náročnost.
Vývoj ve Flutteru nebo React Native
Alternativou k nativnímu vývoji je programování aplikace ve Flutteru, popřípadě v React Native.
Alternativou k nativnímu vývoji je programování aplikace ve Flutteru, popřípadě v React Native.
Oba jazyky podporují multiplatformní vývoj, může se tedy zdát, že obě varianty jsou na podobné úrovni.
V Pixelmate máme tým na vývoj ve Flutteru i na vývoj v React Native. Pokud bychom si ale mohli vybrat, v čem programovat novou mobilní aplikaci, tak by to bylo určitě ve Flutteru.
Flutter má narozdíl od React Native výrazně lepší výkonové možnosti, neboť nepotřebuje konvertovat do nativních komponent. Jinými slovy, v dnešní době, kdy se vyvíjí čím dál tím propracovanější aplikace, je sázka na Flutter jistotou, že bude vaše aplikace rychlá a uživatelsky přívětivější.
Výhodou React Native je bezpochyby to, že je nejsnazší pro naučení pro frontend developera. Díky využívání JavaScriptu mnoho vývojářských firem, které vyvíjely pouze webové aplikace, přešlo i na mobilní vývoj. To je ale výhoda pro vývojáře, často ne pro investora do aplikace, který naopak vyžaduje rychlost, podporu do budoucna a stabilitu.
Flutter, někdy zvaný Dart, je odbornou veřejností pokládán za lepší programovací jazyk, který má rychle narůstající komunitu vývojářů a predikuje se, že do budoucna nahradí a vytlačí React Native právě pro jeho lepší vlastnosti.
Pokud tedy uvažujete o vývoji nové aplikace, můžete zvolit rovnou Flutter a vyvarovat se tak problémům v budoucnosti.
Technologie jako je PWA, Ionic, Xamarin a další
Občas se na trhu stále setkáváme s tím, že někdo doporučí k vývoji mobilní aplikace technologie jako je PWA nebo Ionic, a další.
Občas se na trhu stále setkáváme s tím, že někdo doporučí k vývoji mobilní aplikace technologie jako je PWA nebo Ionic, a další.
Bývá to dané doporučením vývojáře, který v dané technologii umí vyvíjet nebo to bývá snahou investora maximálně ušetřit. V čem ale může být problém?
Tak například PWA je v podstatě webová stránka zabalená do ikonky v telefonu. Zpravidla ji nelze distribuovat na App Store a Google Play a svojí funkčností, nebo spíše nefunkčností, nenabízí dobrý uživatelský zážitek.
Tato forma vývoje je tak vhodná pro velmi okrajové použití. Více se o tomto tématu rozepisujeme v článku o PWA..
Další možností vývoje je vývoj v Xamarinu nebo třeba Ionicu. Obě technologie nejsou v moderním vývoji rozšířené a skončila jim podpora. Tedy vyvíjet nové aplikace v těchto jazycích nedává smysl, protože pro ně není podpora ani dostatečná komunita vývojářů.
Závěrem
Volbu technologie před vývojem mobilní aplikace považujeme za naprosto zásadní a klíčovou. Špatný výběr technologií může zásadně prodražit a dokonce znemožnit budoucí vývoj. Proto doporučujeme před samotným vývojem důkladně prověřit, v čem chtějí daní vývojáři aplikaci vyvinout.
Volbu technologie před vývojem mobilní aplikace považujeme za naprosto zásadní a klíčovou. Špatný výběr technologií může zásadně prodražit a dokonce znemožnit budoucí vývoj. Proto doporučujeme před samotným vývojem důkladně prověřit, v čem chtějí daní vývojáři aplikaci vyvinout.