Alkalmazás fejlesztés

Mobil alkalmazást mindenkinek

Mobil alkalmazás fejlesztés - natív vagy cross-platform?

2019. május 22. 16:06 - Mindtech apps

React Native, Cross-platform, Swift, Java, Kotlin, natív - melyik technológiát válasszuk app fejlesztéshez?

android_ios_vs_crossplatform.png

Amikor egy nagyvállalat, KKV, vagy Startup mobil alkalmazás fejlesztési projektet indít, gyakran felmerül a kérdés: natív vagy cross-platform alkalmazásra van szükségük a projekt megvalósításához. Annak érdekében hogy jobban megérthessük a különbséget, először érdemes képbe kerülni a két módszer alapjaival.

Mikor beszélhetünk natív fejleseztésről?

A natív fejlesztésnek számos eltérő és kontextus függő definíciója van, jelen bejegyzésben igyekszünk közérthetően értekezni a témában. Mobil applikáció készítése esetén natív applikáció fejlesztésnek nevezzük, amikor az adott mobil platformhoz hivatalosan kiadott fejlesztői környezetet és programozási nyelvet használjuk.

Amennyiben Andriod eszközökről van szó, a következők tekinthetők natív fejlesztésről:

Hasonlóan, iOS esetén akkor beszélhetünk natív applikáció fejlesztésről, ha:

Mit nevezünk corss-platform technológiának?

Cross-platform technológiának azt nevezzük amikor egyetlen kódbázisból "egy fejlesztéssel" több platformra is elkészíthetjük alkalmazásunkat. A cross-platform technológiákból léteznek kiemelkedő teljesítményű rendszerek, melyekkel a natív appokkal megegyező felhasználói élményt nyújthatunk, de vannak kevésbé jól felhasználható keretrendszerek is. A cross-platform applikációknak általánosságban azonban van létjogosultságuk, mivel nagyban csökkentik a fejlesztés költség- és időigényét. Az egyes cross-platform megoldások közt azonban jelentős eltérések lehetnek a megvalósítható funkciókat illetően. Mivel a régebbiek főként webes technológián alapulnak, így nem minden funkció fejleszthető le az alkalmazásban. A modernebb cross-platform technológiák esetén a cross-platform kód és a natív kód között már van átjárhatóság. Így ha egy részletet nem lehet megoldani közös kódbázisból, lehetőség van  annak megírására a platform saját nyelvén és környezetében.

Mik a legelterjedtebb cross-platform keretrendszerek?

React Native

A React Native az egyik legelterjedtebb cross-platform keretrendszer, segítségével React és JavaScript technológiákkal készíthetünk mobil alkalmazásokat. A React Native komponensek natív ekvivalensükké fordulnak, ami a teljesítmény szempontjából igen nagy előnyt jelent a többi cross-platform keretrendszerrel szemben. Emellett a React Native lehetőséget biztosít a natív kódrészletek felhasználására is, így amennyiben egy probléma nem megoldható tisztán a keretrendszer segítségével, úgy a fejlesztők natív kóddal (Swift, vagy Objective-C iOS esetén és Java, vagy Kotlin Android esetén) egészíthetik ki a cross-platform kódot. A React Native egy, a Facebook által támogatott, nyílt forráskódú és felhasználású projekt. A Facebook mellett azonban már számos más területen működő vállalat és startup is használja a mobil applikációjához a React Native-et. A teljesség igénye nélkül néhány alkalmazás, amelyet React Native-ben fejlesztettek.

  • Facebook
  • Instagram
  • Skype
  • Tesla
  • Pinterest
  • Uber

A nagy, megbízható szolgáltatást nyújtó fejlesztő cégeknél a cross-platform fejlesztéseket natív fejlesztők támogatásával végzik, így biztos lehetsz benne hogy a lehető legmagasabb minőségű mobil alkalmazást kapod kézhez. Ha te is szívesen fejlesztetnéd egy ilyen csapattal mobil applikációdat, keresd a Mindtech Apps csapatát.

Ionic

Az Ionic hibrid keretrendszer szintén kedvelt választás a cross-platform eljárást preferálók körében. Mivel az Ionic javarészt webtechnológián alapul, így egyetlen kódbázisból fejleszthetünk Androidra, iOS-re és webre is. Ez a gyakorlatban sajnos számos hátrányt is von magával, a webtechnológiák használata valamivel gyengébb teljesítményt nyújt a natív, vagy a natívra forduló (pl. React Native) cross-platform keretrendszerekkel szemben. Emellett sokáig az Ionic ellen szólt, hogy nem tette lehetővé natív kód felhasználását. A közelmúltban az Ionic Native könyvtár bevezetésével válaszolt az Ionic közössége az említett igényre. Néhány applikáció, amit Ionic segítségével készítettek:

  • Pacifica
  • MarketWatch
  • Sworkit
  • Nationwide

Flutter

A Flutter keretrendszer a Google cross-platform megoldása, a React Native-hez hasonlóan natív komponensekre fordul, a natív appokkal megegyező teljesítményt biztosít. A Flutter egy viszonylag fiatal technológia, az alfa verzió 2017 májusában, a stabil kiadás pedig 2018 decemberében jelent meg. Ennek megfelelően kevés helyen használják éles alkalmazásonál azonban már így is olyan appokat készítenek a technológiával mint a Google Ads vagy az Alibaba. A Flutter technológiára érdemes lehet figyelni, a közeljövőben felveheti a versenyt a React Native alapú technológiákkal.

Összefoglalva

A cross-platform technológiák sokat segíthetnek egy fejlesztés futamidejének rövidítésében, illetve a költségek optimalizálásában. Azonban minden alkalmazás más és más, ezért egy nagyobb mobil applikáció fejlesztési projekt indítása előtt kérjük egy tapasztalt fejlesztőcsapat segítségét a döntéshez.

 

Králik TamásA szerzőről

Králik Tamás 
Info - bionikus mérnök, a Mindtech Apps ügyvezetője, a hónap Startup vállalkozója
"A Mindtech Apps egy innovatív szoftver fejlesztő cég, célunk hogy forradalmi megoldásokat használó, egyedülálló mobil appokkal és digitális megoldásokkal segítsük ügyfeleink munkáját"

Szólj hozzá!

A bejegyzés trackback címe:

https://alkalmazasfejlesztes.blog.hu/api/trackback/id/tr3014826190

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.