Legyen szó üzleti alkalmazások fejlesztéséről, vagy mobil applikáció fejlesztésről, ma már az idő és pénzbeli hatékonyság, valamint a több platformon való megjelenés egyre több vállalkozásnál vált kulcsfontosságúvá.
Beszéltünk már korábban a közösségi média felületeinken olyan megoldásokról, melyeket közép- és nagyvállalatok egyaránt sikerrel használnak és a digitalizáció új szintjére tudnak ezáltal lépni könnyen, pénztakarékosan, rövid idő alatt, köszönhetően a cross-platform fejlesztéseknek.
Beszéltünk már korábban a közösségi média felületeinken olyan megoldásokról, melyeket közép- és nagyvállalatok egyaránt sikerrel használnak és a digitalizáció új szintjére tudnak ezáltal lépni könnyen, pénztakarékosan, rövid idő alatt, köszönhetően a cross-platform fejlesztéseknek.
Mi az a cross-platform? Fontos-e számodra? Milyen előnyei és hátrányai vannak? Milyen fejlesztésekhez megfelelő? Hogyan érhető el számodra is egy ilyen megoldás? Ebben a cikksorozatban megválaszoljuk ezeket a kérdéseket. Először nézzük meg mi az a cross-platform.
Pár évvel ezelőtt komplett üzleti alkalmazás és ezzel egyidőben különböző mobilokra történő fejlesztéshez nem sok alternatíva volt elérhető. Az egyik ilyet akkoriban az ún. hibrid alkalmazások jelentették. Ez a legtöbb esetben egy mobilra ugyan telepíthető appot eredményezett, de a technológia sajátosságai miatt mind teljesítményben, mind funkcionalitásban elmaradt egy valódi, natív alkalmazással szemben.
Ha előre ugrunk pár évet az időben és a mai állapotot nézzük, láthatjuk, hogy számos kiemelkedő technológia érhető el a fenti probléma megoldására, amikkel akár 80%-os forráskód megosztás is elérhető a mobileszközök és webalkalmazások között, ezzel jelentősen gyorsítva a fejlesztési időt és csökkentve a költségeket.
Mivel a CodingLab-nél ezeket a megoldásokat nem csak partnereink projektjein használjuk napi szinten, hanem továbbfejlesztésükben is aktívan részt veszünk, így a megfelelő helyen vagy, hogy tájékozódj erről a kiemelkedő opcióról.
Mi az a cross-platform?
Egy fejlesztés elkezdésekor mindenképp felmerülő kérdés a megfelelő technológia kiválasztása. El kell dönteni, hogy a célcsoport számára weben, mobilon vagy asztali gépen, esetleg mindhárom platformon releváns az alkalmazás. Mivel minden platformnak megvannak a saját előnyei és hátrányai, ráadásul a te vállalkozásodnak a céljait is figyelembe kell venni, ezért ez az esetek kisebb százalékában egyszerű döntés.
Hiszen már nem csak azok az idők múltak el, amikor B2C üzletek esetén mindenki csak felhőn, vagy asztali gépen elérhető üzleti alkalmazásokat használt, de mára a két meghatározó mobil operációs rendszer (Android és iOS) között sem szabad különbséget tenni, hiszen évek óta egyik sincs egyértelmű monopol helyzetben.
A legtöbbször legalább 2 platform releváns lesz a projektedben, így ez hagyományos esetben két különböző csapat fenntartását és koordinálását igényli, két különböző kódbázis írásával és fenntartásával. Ezt hívjuk natív fejlesztésnek. Ez egy meglehetősen bonyolult és költséges folyamat, ráadásul kezelni kell a célplatformok egyedi kihívásait is, ami a legkevésbé sem kisebb falat.
A cross-platform fejlesztés ezzel szemben azokra a megoldásokra fókuszál, ahol egy kódbázis elég több platformra való fejlesztésre is (Legtöbbször Android, iOS, Web, desktop). Egy ilyen fejlesztési folyamat esetén az alkalmazás forráskódja a végfelhasználók eszközeire már a megfelelő platform natív kódjaként kerül, ezzel megugorva a bevezetőben említett hibrid appok minőségét és korlátait. Ezen túl számos egyéb előnnyel, illetve természetesen pár hátránnyal is rendelkezik a natív fejlesztéssel szemben. A ma elérhető legnépszerűbb technológiák a Facebooknál kifejlesztett React Native és a Google szárnyai alatt született Flutter.
Kezdjük az előnyökkel
- Alacsonyabb költségek és rövidebb fejlesztési idő
A leggyakrabban említett szempont a cross-platform fejlesztés mellett. Jelentősen csökkentjük a komplexitást azáltal, hogy egy közös kódbázist és fejlesztési eszközöket használunk. Így nem több különböző programozási nyelvhez értő szakemberekre van szükség, hanem egy kisebb csapat is elég. Ezáltal nem csak csökken a fejlesztők bére és a menedzsment költsége is, hanem a közös kódbázis miatt nem szükséges többször fejleszteni ugyanazon funkciókat különböző eszközökre.
- A kezdetektől nagyobb felhasználói bázis
Nem kell azzal foglalkozni, hogy a budget milyen eszközökre való fejlesztésre elég, hanem már induláskor több platformon is jelen lehet lenni, ezáltal több vásárlóhoz, felhasználóhoz eljutva.
- Uniformitás
Nem csak könnyedén létrehozható a felhasználók számára egyforma, érthető UX és UI, hanem támogatható a könnyű átjárhatóság és szinkronizáció számukra a különböző platformok között. Így kevesebb terhet helyezve a felhasználóra, ezzel nagyobb elköteleződést kiváltva. Pl. A Facebook hasonló módszert alkalmaz.
Hol itt a csapda?
- Később érkeznek meg a platform újdonságai
Mivel a legtöbb esetben jelenleg még nem első kézből támogatják a gyártók ezeket a megoldásokat, előfordul, hogy pár hetet várni kell egy adott platform újdonságainak támogatására. Legutóbb az iOS dark mode támogatása érkezett meg pár hét késéssel a natív iOS appokhoz képest.
- Platform egyedi megoldásainak figyelmen kívül hagyása
Az előnyöknél kifejtett harmadik ponthoz szorosan kapcsolódik ez a pontunk. Cross-platform esetén nehezebb az egyes operációs rendszerek egyedi irányvonalaihoz alkalmazkodni, hiszen a fejlesztői eszközök kevesebb segítséget nyújtanak ehhez
- Nem svájci bicska
Bár az üzleti és B2C alkalmazások legnagyobb része lefedhető egy ilyen megoldással, előfordul, hogy vannak olyan egyedi aspektusai a termékednek, amelyek igénylik, hogy több natív kódot legyen szükséges írni. És bár a modern cross-platform megoldások egyre jobban kezelik pl. a kiterjesztett valóságot is, arra még várni kell, hogy ezekre is ez legyen a legjobb megoldás.

Szükségem van cross-platform appra?
Vizsgáljuk meg a terméked szempontjából, hogy megfelelő megoldás lesz-e számodra is egy ilyen fejlesztés.
A legfontosabb szempont az, hogy mi az elképzelt funkcionalitása az alkalmazásodnak. A Facebook, Google, Instagram, Twitter és Tinder is nagy elégedettséggel használ különböző cross-platform megoldásokat, így elég erős a valószínűsége, hogy neked is megfelelő lesz. Bár a cross-platform technológiák mérhetetlenül gyorsan érik be és bizonyos esetekben hagyják le a natív alkalmazásokat, 2020-ban még nem minden esetben a legjobb választás. Azt viszont nagy nyugodtsággal mondhatom, hogy a legtöbb általános fejlesztésre tökéletes megoldást nyújtanak már.
Példák, hogy mikor érdemes inkább natív fejlesztést választanod: játékok, kiterjesztett valóság, virtuális valóság.
A második szempont az idő és budget. Itt egyértelmű győztes a cross-platform és nem is merül fel más megoldás. Ebből a szempontból a hasonló technológiák, mint React Native és Flutter egyértelmű és jelentős előnyökkel bírnak a natív megoldásokkal szemben (Swift és Java). Egyrészt alacsonyabb komplexitással fejleszthetőek az alkalmazások a programozási nyelvek adottságai miatt, másrészt pedig a kódmegosztás eredményeképp összesen egy csapatra van szükség, aki kezelni tudja a két nagy mobilplatformot (és mellette a webet vagy asztalit is, amennyiben szükséges).
A cross-platform fejlesztés ezen okok alapján szinte mindig idő- és költséghatékonyabb lesz a kezdeti szakaszokban. És amennyiben a további szakaszokra is gyorsabb fejlődést tervezel, mindig rövidebbek maradnak a fejlesztési ciklusok, így hosszabb távon még több pénzt takaríthatsz meg.
Harmadik szempontként pedig a célközönséget érdemes jobban megvizsgálni.
Amennyiben vállalati szoftvert tervezel, amit valószínűleg csak az adott cég belső rendszerein, webes böngészőn fognak használni, érdemesebb a natív fejlesztés felé fordulni, hiszen nincs szükség arra, hogy más platformokról is elérhetővé tedd a szoftvered.
Viszont ha egy B2C terméked van, nagy eséllyel szeretnéd azt a lehető legnagyobb közönség elé tárni és elérhetővé tenni Androidon, iPhone-on, és weben is. Itt viszont ismét a cross-platform fejlesztés mellett érdemes letenni a voksod.
Kik használják?
Az első években főleg startupok és KKV-k között volt népszerű ez a megoldás, de 2019-re egyre több nagy cég is felsorakozott a cross-platform technológiák használói közé, ami folyamatosan növekszik. Nagy esély van arra, hogy a mindennapi böngészésed, mobilhasználatod során te is találkoztál már ilyenekkel és észre sem vetted a különbséget.
A Facebook például kifejlesztett egy saját rendszert, amivel a legtöbbet mi is dolgozunk, ez pedig a fentebb már említett React Native. Jelenleg a legnépszerűbb ilyen technológia. Több ezer fejlesztő dolgozik rajta (bizony a CodingLabes fejlesztők is hozzá tettek már) és többek közt a Microsoft is beszállt a támogatásába. Aktívan használja az Instagram, Facebook, Skype, Bloomberg, Uber, Tesla és az új mobilos Edge böngésző is ebben készült. Sőt! Foglaltál már valaha Airbnb-t? Akkor már te is használtál React Native alkalmazást.
Természetesen a Google sem maradt ki a hypeból, ezért ők is elkészítették saját megoldásuk, amivel az Android appok teljes leváltását tervezik rövid időn belül, ez a Flutter. Később jött, mint a Facebook megoldása, de legalább olyan minőséget nyújt és hasonló méretű elszánt közösség áll mögötte. A mindennapokban a teljesség igénye nélkül a New York Times, Google, BMW, eBay és Tencent is használják.
Érdemes megemlíteni még a PWA (Progressive Web App) megoldást is, ami az előzőektől kicsit eltérő megközelítéssel dolgozik. Ugyanis ez nem natív mobilalkalmazások fejlesztésére jó első sorban, hanem weboldalak mobil alkalmazássá alakítására. Ezt többek a Twitter, Tinder, Forbes és Aliexpress is alkalmazza.
A CodingLab-nél mi elsősorban kereskedelemmel foglalkozó középvállalatoknak és startupoknak fejlesztettünk az elmúlt évben cross-platform alkalmazásokat. Számukra ez egy igazi jolly joker! Ezen kívül egészségügyi területen, valamint egy időpontfoglalásos fejlesztésben is kiváló elternatívát kínált ez a módszer.
De hogy mondjuk egy ellenpéldát is, fejlesztünk egy olyan navigációs rendszert, ahol a térképes megjelenítés és a geolokációhoz kapcsolódó user aktivitás kiemelkedően fontos, és itt a natív irány sokkal kezelhetőbb és gyorsabb lesz, így külön fejlesztünk iOS-re és külön Androidra

Hogyan tovább?
Hol tartasz a digitalizáció útján? Már rajta vagy és készen állsz a következő kihívásra, vagy még van mit tenni, hogy belevágj.
Egy 2018-as elemzés szerint a magyarországi KKV-k 72%-ánál nem volt informatikai fejlesztés az azt megelőző 2 évben.
Minden cég (legyen az KKV vagy nagyvállalat) számára fontos a hatékonyságnövelés és a versenyképesség. Ehhez pedig muszáj rálépni a digitalizáció útjára, hiszen ennek van a legnagyobb ráhatása az előző két célra. Egy biztos, közép és nagyvállalati üzleti alkalmazások fejlesztésében mi itt leszünk idén is. A kihívást jelentő, összetettebb fejlesztések igazán a mi asztalunk.
Addig is kérdés esetén keress minket és kövesd a blogunkat további érdekes tartalmakért.