5.1 Native en cross-platform apps
Native apps[bewerken]Native apps zijn apps gemaakt voor een specifiek platform, Android of iOS. De apps zijn op het device geïnstalleerd vanuit de appstore van de leverancier. Native apps sluiten wat betreft gebruikerservaring aan op het onderliggende platform, ze bieden een goede beveiliging en ze kunnen optimaal gebruik maken van een aantal devicespecifieke mogelijkheden, waaronder de sensoren van het mobiele device, widgets, slimme assistenten en de camera. Native apps worden ontwikkeld met daarvoor bedoelde platformtools. |
|
Zowel voor iOS als voor Android is een trend naar declaratief programmeren gaande. Voor iOS met Swift UI en voor Android met Jetpack Compose. Hierbij worden user interfaces in code gedeclareerd en wordt gebruik gemaakt van verschillende patterns om user interface en logica te scheiden. Een ander aspect van de native ontwikkeling is de mogelijkheid om apps ook op andere platformen van de leverancier te laten draaien. Denk aan infotainment systemen in de auto of zoals bij Apple iOS, dat apps kunnen runnen op MacOS. Native apps bieden dus meeste vrijheid, minste afhankelijkheden en de beste gebruikerservaring maar dienen wel voor elke platform apart te worden ontwikkeld.
Cross platform apps[bewerken]
Cross platform apps zijn ook native apps maar dan gemaakt met ontwikkeltools waarmee voor meerdere platformen apps gemaakt kunnen worden. Voorbeelden hiervan zijn .NET MAUI, Compose Multiplatform/KMP, Flutter en React Native. Het grote voordeel van cross platform is een set broncode in één taal voor meerdere platformen waardoor minder specialisatie nodig is en er potentieel sneller kan worden ontwikkeld voor meerdere platformen. Het nadeel is natuurlijk dat je minder flexibel bent en afhankelijk bent van de leverancier van het cross-platform product. Ook zijn crossplatform apps vaak groter en iets trager dan platformspecifieke native apps. Er zijn verschillende manieren waarop cross platform ontwikkeltools hun apps opbouwen. Voor de user interface kan gebruik gemaakt worden van de native controls of van eigen controls. Bij gebruik van eigen controls kan het zijn dat de gebruikerservaring iets afwijkt van de standaard platform ervaring. Voor integratie met sensoren en system SDK’s zijn er ook twee mogelijkheden. Wrapping, een dun laagje om de systeem SDK aan te kunnen roepen of plug-ins waarbij per platform een stukje code gemaakt dient te worden, vaak in de taal van het platform. Cross platform apps bieden dus een betere productiviteit en vragen minder diversiteit aan kennis maar vragen altijd om een klein compromis (gebruikerservaring, performance, omvang app) en introduceren extra afhankelijkheden.
Volgende pagina: 5.2 Web & hybride
6 oktober 2025 14:06:28
11 augustus 2025 08:38:35
6 oktober 2025 14:06:28
8
Informatief