De nieuwe toolkits Jetpack Compose en SwiftUI, officiële Windows-support binnen Flutter, het nieuwe privacyframework van zowel Apple als Google… De lead Android-, iOS- en Flutter-developers van Pinch zetten de belangrijkste trends en ontwikkelingen van 2022 binnen mobile app development op een rij.
Android-trends
Team lead Android bij Pinch Matthias Helder signaleert de volgende vijf Android-trends.
1. Jetpack Compose: nieuwe toolkit voor ontwikkelen UI’s
“Jetpack Compose is een volledig nieuwe en from scratch ontworpen toolkit van Google voor het ontwikkelen van user interfaces (UI’s) in Android-apps. Medio 2021 is het gelanceerd, maar veel ontwikkelaars zullen er pas dit jaar serieus mee aan de slag gaan. Bij Compose draait het om declarative UI met een unidirectional data flow. Declarative UI wil zeggen dat je beschrijft hoe iets eruit moet zien, in plaats van dat je daar alle code voor schrijft om het te creëren.”
2. Compose Multiplatform en Kotlin Multiplatform Mobile
“Het Compose Multiplatform van JetBrains gaat nog een stapje verder. Sinds kort is het, naast voor Android, te gebruiken voor het ontwikkelen van UI op desktop en web. En over een tijdje zelfs ook voor iOS-apps. In combinatie met Kotlin Multiplatform Mobile, waarmee je één codebase voor de logica van een applicatie kunt delen op verschillende platformen, heeft dit de potentie om komende jaren uit te groeien tot een zeer interessante oplossing voor het ontwikkelen van cross-platform mobile apps. De combinatie KMM en Compose Multiplatform voor alles wat je respectievelijk niet en wel ziet, begeeft zich in het vaarwater van onder meer Flutter.”
3. Dataprivacy en transparantie
“In navolging van Apple gaat ook Google ontwikkelaars verplichten transparant te zijn over welke gegevens apps gebruiken en voor welke doeleinden. Deze informatie wordt duidelijk zichtbaar op de app-pagina in Google Play. Dit is een goede ontwikkeling voor de privacybewuste consument. Vanaf april 2022 moeten alle apps een privacy policy en een goedgekeurde data safety-sectie op Google Play hebben. Google heeft bovendien Privacy Sandbox aangekondigd, waarmee data-uitwisseling met third-party apps aan banden wordt gelegd.”
4. Meer aandacht grotere devices en foldables
“Grotere devices en foldables krijgen weer meer aandacht. Android 12L, een versie van Android die geoptimaliseerd is voor grotere devices zoals tablets, Chromebooks en foldables, is al voor een select aantal Pixel-toestellen beschikbaar en zal naar verwachting later dit jaar algemeen uitgebracht worden. Bij Android 12L staat onder andere multitasking en responsive/adaptive UI centraal. Rond de tijd dat het uitkomt kondigt Google mogelijk ook z’n eerste foldable device aan, die wellicht naar de naam Pixel Fold luistert.”
5. Material Design 3: meer device-personalisatie
“Material Design 3, ook wel Material You genoemd, maakt meer device-personalisatie mogelijk. Daarnaast is de designtaal van Google nu ook aanpasbaar voor grotere schermen en geüpdatet voor foldable devices.”
iOS-trends
Voor de iOS-trends klopten we aan bij onze team lead iOS Wesley Hilhorst.
1. SwiftUI: toolkit voor declarative UI
“De nieuwe toolkit SwiftUI is voor iOS wat Jetpack Compose is voor Android: je kunt er apps op een declaratieve manier – en dus met minder code – mee ontwikkelen. Waar tot iOS 13 alles imperative UI was, is nu declarative UI mogelijk. SwiftUI is overigens beschikbaar voor alle Apple-platforms, dus naast iOS ook macOS, tvOS en watchOS.”
2. Combine en async/await: voor asynchrone code
“Combine en async/await zijn nieuwe manieren voor het afhandelen van asynchrone code. Combine, dat sinds iOS 13 beschikbaar is, is een framework van Apple voor functioneel/reactive programming. Je kunt er ingewikkelde problemen mee oplossen, vooral als je events en data uit verschillende bronnen die verspreid zijn over de tijd moet combineren. Sinds Swift 5.5 is bovendien de functie async/await beschikbaar, een model voor concurrency voor het makkelijk schrijven van asynchrone code.”
3. App Tracking Transparancy-framework
“Apple hecht steeds meer waarde aan privacy, getuige het App Tracking Transparancy (ATT)-framework. Dit bepaalt dat apps voor het tracken van gegevens toestemming van de gebruiker moeten hebben én dat developers geen ‘fingerprinting’ mogen gebruiken om apparaten of gebruikers te identificeren. Apps die niet in lijn zijn met het ATT-framework worden geweigerd in de App Store. Gevolg is dat je tijdens het ontwikkelen erg goed moet nadenken. Wat voor informatie vraag je bijvoorbeeld van de gebruiker zonder dat hij of zij dat weet?”
Flutter-trends
Flutter tech lead Thomas Middel ontwaart de volgende drie Flutter-trends.
1. Officiële Windows-support
“Sinds versie 2.10 is er, na Android, iOS en web, nu ook officieel support voor Windows binnen Flutter. Vanuit het stable-kanaal kun je applicaties ontwikkelen die draaien op Windows, waarmee het Flutter-team in principe aangeeft dat het Flutter nu als production-ready voor Windows ziet. Linux en macOS volgen later in 2022. Ze zijn nu al wel te gebruiken, maar zitten nog niet in het stable-kanaal.”
2. Material 3
“Matthias noemde Material Design 3 al in Android-verband. Sinds versie 2.10 is ook Flutter begonnen met de transitie naar Material 3.”
3. Fuchsia OS
“Ik volg met veel interesse alle ontwikkelingen rondom Fuchsia OS. Google is hier al vanaf 2016 mee bezig, maar tegelijkertijd is het heel onduidelijk wat precies het idee erachter is. Sinds een update in 2021 draaien de Google Nest Hub-devices op Fuchsia OS. Misschien betekent dit wel dat het besturingssysteem dit jaar meer vorm gaat krijgen. Fuchsia OS is een opensource besturingssysteem dat niet Linux-gebaseerd is. Het heeft een nieuwe kernel met de naam Zircon, dat door Google from scratch is gebouwd. Het idee van Fuchsia is dat het kan draaien op zowel smartphones, tablets, pc’s als IoT-apparaten, waarbij je overal dezelfde gebruikerservaring hebt. Met Flutter is het in ieder geval mogelijk om apps te maken voor Fuchsia, wellicht is Flutter zelfs Googles eerste keus qua development-framework voor dit platform.”
Lees ook ons artikel Is Flutter de toekomst voor apps?