Als grootste bank van Nederland hecht ING aan klantvriendelijke applicaties. Daarbij schroomt zij niet om te kiezen voor bleeding edge-technologie. Een voorbeeld is het gebruik van web components, onder meer voor de Mijn ING-omgeving. Hiermee kan de bank snel schalen en nieuwe functies toevoegen.
ING Live-webinar
Bij ING staat digitalisering om klantprocessen beter te maken centraal in de bedrijfsvoering. Daarbij wil de bank niet alleen vandaag leidend zijn, maar ook morgen. Dit uit zich onder meer in de keuze voor web components bij het ontwikkelen van de Mijn ING-omgeving en het uitfaseren van grote frameworks, zoals Angular. Web components zijn een verzameling low-level standaarden die in de recentste versies van veelgebruikte browsers als Chrome en Firefox al zijn ingebouwd.
Frameworks de deur uit
De keuze voor web components wil niet zeggen dat de bank helemaal geen gebruik meer maakt van frameworks. Wel dat het deze grotendeels uitfaseert en niet meer vol instapt in een framework. “Dat zou inhouden dat je de roadmap ervan moet volgen, waardoor we minder snel kunnen inspelen op de veranderende markt”, zegt Bob Bijvoet, technology lead voor ING's front-end in Nederland en België. In deze landen is hij verantwoordelijk voor de strategische richting en adoptie van webtechnologie, waaronder de keuze voor libraries en het in- en uitfaseren van technologie.
ING heeft de keuze voor web components overigens niet in Nederland gemaakt. Wereldwijd vormen lokale teams van de bank een virtueel developerteam waarin ervaringen worden gedeeld. Door goede lokale ervaringen met web components werd drie jaar geleden besloten om deze wereldwijd te gaan gebruiken, wat grote voordelen oplevert. Bob: “Wij hebben vooral gekeken naar hoe wij front-endcode tussen de verschillende teams, verspreid over de wereld, konden gaan delen. Daarbij gaat het vooral over de UI-componenten, zoals buttons, datepickers en menu's: basisbouwstenen die je niet in ieder land opnieuw hoeft uit te vinden, maar die je als standaard kunt hergebruiken. Daardoor kunnen wij heel snel ontwikkelen.
Web zoals web bedoeld is
Web components maken het ontwikkelproces een stuk efficiënter, zegt ook Lars den Bakker. Als softwaredeveloper is hij verantwoordelijk voor het ontwikkelen en onderhouden van de Mijn ING-webapplicatie. Een uitdaging brengt het ook met zich mee, doordat verschillende teams, de zogeheten feature teams, autonoom onderdelen bouwen voor deze omgeving. Daarbij zijn ze end-to-end verantwoordelijk voor bepaalde functionaliteit. “Voorbeelden van dergelijke functionaliteit zijn het beheer van incasso’s en het regelen van een overschrijving door de gebruiker. Met mijn team help ik onze feature teams met het integreren van hun code.”
De gemaakte afspraken met de feature teams binnen ING zijn helder; zij bouwen zelf een web component en integreren deze met de webapplicatie. Dat is de enige manier waarop de applicatie met de feature communiceert; de applicatie houdt zich verder niet bezig met wat zich binnen de feature afspeelt. Doordat de webapplicatie hiervoor geen extra zaken zoals JavaScript hoeft te laden, laadt ze niet alleen sneller, maar is ze ook beter toegankelijk met bijvoorbeeld de screenreadertechnologie die door veel slechtzienden wordt gebruikt. “Het is web zoals web bedoeld is. Eigenlijk is het weer een beetje zoals in de begindagen van internet: zonder allerlei extra elementen en daardoor heel robuust.”
Size does matter
Toch is het niet zo dat web components frameworks een-op-een kunnen vervangen. “Het is low-level technologie; werken met alleen web components is niet heel ergonomisch”, zegt Bob. “Je moet er libraries bij gebruiken die onder water de web components api gebruiken, als extra abstractielaag." Waar nodig schrijft ING deze libraries deels zelf, maar het liefst kijkt de bank naar libraries die al beschikbaar zijn. Voorwaarde is wel dat ze goed onderhouden zijn door een actieve community op GitHub. Bovendien mogen ze niet te groot zijn. “Snelheid is voor ons heel belangrijk. Want hoe groter de library, hoe langer de laadtijden. Ook op een mobieltje met een slechte internetverbinding moet onze applicatie snel zijn.”
In de developercommunity woedt op dit moment nog een discussie over het gebruik van web components. Nuancering is hier wel op zijn plaats, vindt Lars. “Er ontbreekt nog functionaliteit die in veel frameworks al wel aanwezig is, dat is waar. Over het geheel bekeken zien we echter voornamelijk voordelen, vooral op het gebied van flexibiliteit en onderhoud.” Het verschil tussen een library en een framework is trouwens ook een wat grijs gebied, voegt Bob toe. Een praktisch onderscheid is dat libraries modulair zijn en daardoor sneller te vervangen dan een volledig framework. “Dat is een belangrijk voordeel, want nieuwe standaarden ontwikkelen zich zo snel dat je daar met een framework onmogelijk snel op kunt reageren. Met libraries kan dat wel en is het gewoon pick and choose.”
Minder tooling nodig
Voor de schaal waarop ING (wereldwijd) ontwikkelt en met het oog op de waarde voor de eindgebruiker is de keuze voor web components ideaal gebleken. Niet elke organisatie hoeft op dezelfde keuze uit te komen, stelt Bob. “Op de arbeidsmarkt zijn veel goede developers te vinden met ervaring in Angular en React; dat kan ook een overweging zijn voor bedrijven. Voor ons is het belangrijk dat we snel kunnen ontwikkelen en dat we ons ook comfortabel voelen bij onze manier van werken. Wij merken ook dat onze developers tevreden zijn met de keuze voor web components. Ook zij zien dat het een oplossing kan zijn voor een al langer spelend probleem binnen webdevelopment: de enorme hoeveelheid tooling. Door te ontwikkelen met browserstandaarden laten we zien dat je al die overhead helemaal niet meer nodig hebt. We gaan dus eigenlijk back to basics.”
Aanmelden
Meer weten over het gebruik van web components door ING? Op donderdag 5 september, van 20.00 tot ongeveer 21.00 uur, geven Bob en Lars een Engelstalig webinar waarin ze je meenemen in hun developmentworkflow en de webarchitectuur binnen ING. Zij laten onder meer zien hoe ING front-endfeatures internationaal kan schalen en configureren, iets wat zij ook in de live coding gaan demonstreren.
Je gegevens
De gegevens van de aanmeldingen worden niet met Tweakers gedeeld, maar komen alleen ter beschikking van Crowdale om de deelnemers een e-mail te kunnen sturen met een bevestiging van hun aanmelding, een reminder-e-mail over de webinar en een e-mail wanneer de live webinar van start gaat. Na de webinar wordt een anonieme enquête verstuurd om jullie bevindingen te horen, en zo de kwaliteit van de webinar te kunnen waarborgen en verbeteren. De gegevens worden dertig dagen bewaard.
Dit artikel is geen redactioneel artikel, maar een advertorial. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen, daar zullen collega's aanwezig zijn om jouw vragen en/of opmerkingen te bespreken/beantwoorden.