Twee of meer voor de prijs van één, wie wil dit nou niet?! Flutter belooft dat je met één enkele codebase voor meerdere platformen applicaties kan aanbieden. Maar hoe werkt dit in de praktijk? Tijdens deze tweede blog van een reeks van vijf, nemen we je mee in de voordelen, uitdagingen en vooruitzichten bij het ontwikkelen van applicaties met Flutter: het framework van Google.
De voordelen
Wanneer het aankomt op het gebruik van een enkele codebase voor meerdere platformen, biedt Flutter exact wat je ervan verwacht. Je investeert in één applicatie, welke beschikbaar is voor zowel iOS en Android. Zelfs wanneer we tijdens de ontwikkeling van een nieuwe app ons focussen op één platform, meestal iOS, is vrijwel altijd dezelfde functionaliteit ook voor Android zonder grote aanpassingen gebruiken.Één codebase helpt niet alleen bij de ontwikkeling van een nieuwe app, het helpt ook bij de verdere ontwikkeling en onderhoud van een bestaande (Flutter) app. Er hoeft telkens aan slechts één project gewerkt te worden, waardoor (ontwikkeling) kosten significant lager zijn. Ontstaat later de wens om de app ook op een ander platform aan te bieden, dan is dit geen probleem. Met als bijkomend voordeel dat de kosten lager zijn dan wanneer voor hetzelfde platform een nieuwe applicatie ontwikkeld moeten worden.
De uitdagingen
Worden er meerdere platformen in gebruik genomen? Dan dien je rekening te houden met verschillende opties en schermformaten. In het geval van Flutter is het bijvoorbeeld mogelijk om een app te bouwen voor Android en iOS. In beide gevallen krijg je hierbij te maken met verschillende formaten van mobiele telefoons en tablets. Gelukkig gebruiken beide platformen wel grotendeels dezelfde verhoudingen en mogelijkheden. Maar hiermee zijn we er nog niet. Flutter biedt namelijk ook de mogelijkheid om naar het web te bouwen. Op deze manier is een applicatie ook in een browser te gebruiken. Het formaat is dan afhankelijk van de schermgrootte van de gebruiker en zelfs ook van het formaat van het browservenster. Helaas zijn we er dan nog niet. Ook de mogelijkheden die beschikbaar zijn in een browser, kunnen afwijken van wat er beschikbaar is op Android en iOS. Hierdoor is het niet altijd vanzelfsprekend dat een app voor mobiele devices, ook direct goed werkt voor het web. Het is dus erg belangrijk om vooraf goed te bespreken voor welke devices een app ingezet gaat worden. Tijdens het ontwikkelen van de app kan hier dan rekening mee worden gehouden.De verwachtingen van een iOS of web gebruiker verschillen ook van elkaar als je het specifiek hebt over de user interface van een app. Flutter speelt hier goed op in door de mogelijkheid te bieden om op basis van de omgeving waarin de app draait, een andere weergave van de user interface te implementeren. Ook hierbij is het belangrijk om dit vooraf goed te bespreken, zodat er rekening mee gehouden kan worden bij het ontwerp en in de interactie van de te ontwikkelen app.
De toekomst
Net als de ontwikkelingen in de nieuwste smartphones, staat ook de ontwikkeling in Flutter niet stil. Flutter houdt rekening met nieuwe mogelijkheden die gaan komen op onze mobiele telefoons. Zij ontwikkelen zich tot een platform waarbij het mogelijk is om overal rekening mee te houden en van alle mogelijkheden gebruik te maken. Neem bijvoorbeeld de welbekende 'notches' of 'cut outs' voor de camera en sensoren van moderne smartphones. Vervelend als een belangrijk onderdeel van je app erachter wegvalt. Flutter voorziet hierin door middel van ingebouwde tools die dit voorkomen. Een recentere ontwikkeling is de ondersteuning voor foldables en multi screen devices. Hierbij wil je de vouw vermijden voor de weergave van belangrijke informatie, waarbij bijvoorbeeld een lijst detailweergave op twee schermen heel anders kan werken dan wanneer je de beschikking hebt over één scherm.
Als het aankomt op welke platformen en devices ondersteund worden door het framework, staat Flutter ook niet stil. Zoals gezegd worden op dit moment Android, iOS en web goed ondersteund. En sinds kort is het ook mogelijk om applicaties te bouwen voor Windows, met MacOS en Linux in aantocht. Op een recente developer conferentie was er zelfs een bedrijf al bezig met het bouwen van applicaties voor verschillende tv-gerelateerde platformen, zoals Tizen en webOS. Geweldig toch?!
Waarom Flutter
Wil je weten waarom wij werken met het Flutter framework? Lees dan onze eerste blog. Benieuwd naar de volgende blog over een Flutter case? Houdt dan onze website en sociale kanalen goed in de gaten!