Mobil alkalmazás fejlesztés 2021-ben

Bluebird

2021. február 15.


Röviden bemutatjuk a népszerű mobil alkalmazás fejlesztés platformokat és programozási nyelveket, továbbá a cross-platform megoldásokat.

More...

A mobil alkalmazások az elmúlt 10 évben töretlen népszerűségnek örvendenek és bár egy pár éve divatossá vált a végüket jósolni, ez sosem jött el és belátható időn belül valószínűleg még nem is fog. 

Az AppStore és a Play Store alkalmazások száma és minősége növekszik, a bevételek az egekben és belépett a Huawei App Gallery is a piacra, még ha ez nem is volt annyira tervben. Az app fejlesztők és kiadók egy-egy sikeres projekt segítségével 6-7-8 számjegyű árbevételt érnek el. Dollárban. Az appfejlesztés egy 10 alig éves piac, de rengeteg változáson ment már keresztül. Mielőtt rátérünk arra, hogy milyen lehetőségeink vannak ma, vegyük át röviden, mi is a mobilapp fejlesztés?

Mobil alkalmazás fejlesztés

Mobil (app) fejlesztésnek azt hívjuk, mikor az okostelefonokra elérhető alkalmazások, játékok készülnek. Nem összekeverendő a mobil operációs rendszerek készítésével, különböző Android ROM-ok hegesztésével, vagy mobilon is futó webalkalmazások (PWA) fejlesztésével.

Platformok, programnyelvek

10 éve még egészen egyszerű volt erről döntést hozni, hiszen eleinte az Android és az iOS esetén is egy-egy lehetőség volt, amit az adott platform támogatott. Bár már csak két platform van (egy rövid ideig a Windows és Symbian is a piac része volt), abszolút nem olyan egyszerű már ezt a döntést meghozni. Mára sokkal szélesebb lehetőségekből válogathatunk. Vegyük sorra ezeket.

Natív, azaz adott fix platformra történő fejlesztés esetén mindkét mobilplatform esetében 2-2 programnyelvről beszélünk alkalmazás fejlesztésekor.

Objective-C

Az Apple eredetileg támogatott nyelve az Objective-C. Ez, ahogy a nevéből is látszik egy C, C++ szerű nyelv, illetve ezek egy kibővített változata. Sosem volt túl szeretett és népszerű a fejlesztők körében, de az Apple azt mondta ez van, ezt kell szeretni. És bizony komplett piacokat, potenciális felhasználók millióit lehet kihagyni ennek a platformnak az elengedésével, így elterjedt az Objective-C.

Bluebird - mobil alkalmazás fejlesztés - Xcode

Swift

Az Apple később már hallgatott a fejlesztői igényekre és szintén szeretett volna továbbfejlődni. Így jött képbe a Swift programnyelv, ami eleinte csak közösen az Objective-C-vel együtt működött, amolyan kiegészítőként, mára viszont teljes appok készíthetőek el vele.

A Swift egy nyílt forráskódú, modern nyelv. Össze lehet hasonlítani akár a Kotlinnal, akár a TypeScripttel a nyelv sajátosságait és szintaxisát figyelembe véve. A legtöbben ezzel már elégedettek és egy meglehetősen kezdő-barát nyelv is. Ezekhez jelenleg a legjobb elérhető fejlesztési környezet az XCode. Illetve ez az egyetlen támogatott eszköz iOS appok aláírására.

Android

A Google először Java alapokon javasolta az Android alkalmazások fejlesztését. Eleinte nem is volt saját IDE (fejlesztési környezet), az Android SDK-t egy Java-t támogató szoftverrel (Eclipse) volt szükséges fejleszteni. Ezt később követte az Android Studio, mint saját fejlesztési környezet.

Kotlin

Az Androidnál sem tétlenkedtek, ahogy a Swift, itt úgy a Kotlin jelent meg pár évvel később. Ez szintén nem szükséges, hogy a Javát felváltsa, képes az együttműködésre.

Várhatóan mobil alkalmazás fejlesztésben ezen új nyelvek támogatottsága 2021-ben mindkét platformnál erősödni fog.

Javaslom, bátran fogj bele egy új projektbe a modern nyelvekkel, ma már nem gyengébbek, mint a platformok eredeti javasolt nyelvei és sokkal könnyebb a használatuk, egyszerűbb beletanulni.

Cross-platform

Az alkalmazás készítés elérhetőbbé tétele érdekében hamar megjelentek olyan platformok, amik valamilyen formában webes technológiákhoz kötötték a mobilapp készítést. Eleinte ezek egy WebView-ban működtek, ami gyakorlatilag azt jelentette, hogy bár az app natívan telepíthető a telefonokra, de a tartalmát már az internetről tölti be vagy HTML5 és Javascript különböző változataival működtek. Ezek később továbbfejlődtek, ma már csak elvétve találkozni ilyenekkel. Felváltották a helyüket a valóban platform független alkalmazásfejlesztési nyelvek.

React Native

A React Native az egyik legismertebb és legelterjedtebb ma. A Facebooknál fejlesztették ki az első verzióját, amit később nyílt forráskódúvá tettek, 2015 óta pedig töretlen fejlődésben van. Jelenleg használják az Instagramnál, Teslánál, Shopifynál, és számtalan startupnál vagy multicégnél. Legnagyobb előnyei közé tartozik az, hogy egyszerűen megtanulható bárki számára, akinek vannak React vagy modern Javascript előismeretei és óriási közösség áll mögötte.

Működési elve szerint a felhasználói felület elemei natív kódra fordulnak, az üzleti logika pedig egy beépített Javascript motorban kooperál a telefon natív kódjával. React Native már támogatja a webet, és a MacOS, Windows alkalmazások írását is.

Flutter UI toolkit

A Flutter a Googletől származik és nagy terveik vannak vele a továbbiakban, folyamatosan hírbe hozzák, hogy az Android appok fejlesztését hamarosan Flutterrel teszik "kötelezővé". Indulása hasonló a React Nativehez, csak 3 évvel később történt. Mára megközelíti a React Native népszerűségét. Dart programnyelven szükséges alkalmazásokat írni. Ennek a JavaScripttel szembeni előnye, hogy hardverközelibbre fordul és alapból egy szigorúbb, kevésbé megengedő nyelv, nehezebb benne hibás kódot írni. Szintén támogatja a webalkalmazások készítését is.

Xamarin

A Microsoft is próbálkozott saját megoldással, ez a Xamarin volt. Sosem volt igazán nagy siker és nem nagyon használják. A Microsoft világban elterjedt C# és XML szerű leírónyelvének használata jellemzi. Nagyvállalati világban elterjedtebb volt egy-két belső szoftvernél. Egyre kevésbé releváns, a Microsoft is inkább aktívan kiveszi a részét a React Native fejlesztésében.

És érdemes említést tenni a fejezet bevezetőjében már érintett WebView alapú megoldásokról. Bár ezekkel fejlesztésbe kezdeni ma már nem javasolt, sőt. A gyártók is elkezdték leállítani a támogatást. Az Adobe például a PhoneGap, illetve Apache Cordova támogatást zárta le. Viszont a munkaerőpiacon még lehet találkozni ilyenekkel, így érdemes tudni ezekről is.

Prognózis

2021-ben és a további években a Flutter részéről egy nagyobb ugrás várható, React Native esetén lassú, de folyamatos fejlődést, és a Xamarin, illetve hibrid app technológiák egyre erősebb elengedését.


Ha mobil fejlesztői állást vagy projektet keresel, nézd meg állásajánlatainkat!

Ha a blogbejegyzéseinkről mindig elsőként akarsz értesülni, kövess minket LinkedInen és Facebookon is!