Nieuws
|
June 2, 2025

Componeren is het magische woord

Tijdens de beginjaren van de computertechnologie was GUI/UX eigenlijk een trieste aangelegenheid.
Voor ontwikkelaars betekende het ponskaarten gebruiken, voor gebruikers betekende het kijken naar een scherm met alleen een terminal of, nog erger, papier. Gelukkig is het nu 2023 en is er veel veranderd. De ponskaarten zijn vervangen door betere programmeertalen, en langzaam zijn we geëvolueerd van trage computers op netwerken met alleen een ruwe TCP-protocol naar het begin van de jaren 2000, waarin SOAP (XML_RPC) langzaam werd vervangen door de REST API van Salesforce. JA! Eindelijk moderne tijden.

Er gingen jaren voorbij waarin WEB2.0 langzaam opkwam vanaf 2004, met Flickr, YouTube en Facebook die de leiding namen, maar we zaten nog steeds triest achter desktop-pc’s met normale schermen. Hoewel ik al rondliep met een i-mate Jam en later de HTC Diamond met Windows Phone, hadden de meeste mensen een Nokia met een WAP-verbinding om op internet te komen.

In 2007 kwam de iPhone, en in 2008 verscheen de eerste Android-telefoon: de Google G1. Ik heb hem nog steeds, en ik kan echt niet begrijpen hoe ik dat apparaat ooit heb kunnen gebruiken als ik naar mijn huidige telefoons kijk.

Android-ontwikkeling bestond toen uit een XML-framework waarin je een soort website-achtige GUI voor je app kon maken, met elke maand weer een nieuwe bibliotheek van Google om dat frame te vullen met Java-code. Afbeeldingsladers bestonden niet, en de enige manier om erachter te komen of iemand Android echt begreep, was door een scenario te schetsen waarin gegevens aan de andere kant van de wereld stonden, en je die met een app via een trage internetverbinding moest ophalen.

Als ze dan met het woord AsyncTask kwamen, was ik blij – omdat ik wist dat ze de Android-stack begrepen – maar ook een beetje verdrietig voor hen, want het was een monster. Android-ontwikkeling was een moeizaam proces van incompatibele bibliotheken, TLS-problemen op oudere telefoons, verschillende schermformaten, processorsnelheden en nog veel meer verschillen. Hoewel de jaren verstreken, bleef Android nieuwe bibliotheken maken – de ene iets beter dan de andere – maar Android-ontwikkelaars bleven elkaar aankijken met die trieste blik. We wisten allemaal waar we mee te maken hadden in die vele uren werk.

Als ik terugkijk op mijn tijd bij agap2, begon ik als Android-ontwikkelaar met XML en Java, maar inmiddels werk ik met de nieuwe generatie Android-ontwikkeling. Die nieuwe generatie voelt beter, sneller en slimmer aan, en toch voel ik nog steeds die geschiedenis in de code, de problemen en het ontwerp. Waar onze servers vroeger draaiden op PHP of Python backends met een aparte MySQL-database (of erger), hebben we nu gedockeriseerde (Compose) Postgres-servers met een Hasura-backend die ons GraphQL-gegevens levert die volledig geïntegreerd zijn in onze Android-code. Alle data wordt gepresenteerd met simpele regels code die toegang geven tot de gegevens en die op het scherm zetten.

Vergelijk gewoon een stukje XML + Java met Jetpack Compose voor hetzelfde resultaat – het is een droom.
En het magische woord?


Het is COMPOSE!