De zin en onzin van webapplicaties
Marien de Gelder is OGD'er en het hoofd van de Business Unit Softwareontwikkeling. Eerder schreef hij al over het maken van de stap van Microsoft Access en Excel naar het gebruik van webapplicaties. In dit bericht gaat hij dieper in op de redenen om wel of niet over te stappen naar webapplicaties.
Stel: je zoekt een nieuwe applicatie voor je organisatie. Bijvoorbeeld omdat de bestaande is verouderd of omdat je een tool nodig hebt om een specifiek proces te ondersteunen. Waar let je dan op bij je keuze? Kosten, implementatietijd, functionaliteit, gebruiksgemak en ondersteuning staan hoog op de lijst. En laat je dan op maat maken of schaf je off-the-shelf aan? Stuk voor stuk belangrijke keuzes. Maar een vraag die mij steeds vaker wordt gesteld is of het verstandiger is een webapplicatie te ontwikkelen, in plaats van een ‘native’ applicatie zoals een desktop-applicatie of een iPhone app. In een wereld die almaar naar de cloud toe beweegt, is dat een relevante vraag. Ik beantwoord hem vaak in de vorm van een wedervraag: waarom zou je nog voor een ‘native’ applicatie gaan?
Bepalen of je voor een webapplicatie gaat of niet is een belangrijke stap in het ontwikkelen. In dit bericht vertel ik waarom, en lees je in hoeverre de keuze wordt beïnvloed door de actuele technologische ontwikkelingen. Bij het maken van de keuze gaat het met name om de drie belangrijkste factoren: platformkeuze, visie en eventuele obstakels.
1. Platformkeuze
Een stap die de laatste jaren steeds belangrijker is geworden, is het bepalen van het platform waarop je applicatie gaat draaien. Deze keus bepaalt namelijk hoe je uiteindelijke gebruikers de applicatie gaan benaderen. Voor elk platform is het tegenwoordig mogelijk om zowel een ‘native’ applicatie als webapplicatie te schrijven. Daarbij hebben webapplicaties één onderscheidend voordeel: in het ideale geval hoef je er daarvan maar één te maken die op alle platformen te benaderen is.
Kies je voor een desktopapplicatie, dan beperk je de toegang tot die werkstations waarop de applicatie daadwerkelijk is geïnstalleerd, of eventueel snel geïnstalleerd kan worden. Kies je voor één van de vele mobiele platforms, dan verplicht je je gebruikers gebruik te maken van precies dat platform en sluit je andere platforms en apparaten juist uit. Wil je toch alle mobiele platforms ondersteunen, dan zul je grote delen van de applicatie voor ieder platform apart moeten ontwikkelen.
Webapplicaties, daarentegen, zijn slechts afhankelijk van een webbrowser om te draaien. In theorie kan dat iedere browser zijn en werkt de applicatie op ieder apparaat dat beschikking heeft over internet- of netwerktoegang. Deze afhankelijkheid van een netwerk- of internetverbinding is echter ook de grootste beperking: bij een slechte of geen verbinding is de webbrowser, en daarmee de applicatie, onbruikbaar.
2. Visie
We leven in een wereld waarin we allemaal overal bereikbaar willen zijn. We willen de beschikking hebben over alle relevante informatie voor het uitvoeren van onze werkzaamheden. We dragen iedere dag veel verschillende apparaten met ons mee waarop we een browser tot onze beschikking hebben. Hierdoor is het heel logisch om alle nieuwe applicaties die je gaat gebruiken webapplicaties te laten zijn.
Het is mede om die reden dat een bedrijf als Google de Chromebook op de markt brengt. Op deze netbook draait alleen een webbrowser, alle informatie staat in de cloud en webapplicaties zijn de enige programma's die gebruikt worden. Vanuit dit wereldbeeld hebben wij onze visie op applicatieontwikkeling geformuleerd: "Webapplicaties zijn de toekomst in een wereld die naar de cloud beweegt".
3. Obstakels
De webbrowser heeft zich de afgelopen jaren snel ontwikkeld. Al een aantal jaar wordt gewerkt aan één gemeenschappelijke taal voor webbrowsers om applicaties weer te geven. Maar een aantal obstakels zijn nog niet overwonnen. Stel jezelf daarom bij het maken van een webapplicatie de volgende vraag: ‘Ondersteunt dit webplatform de specifieke wensen van mijn applicatie?’
Het maken van een generieke, browseronafhankelijke webapplicatie is nog altijd erg moeilijk. Alhoewel de obstakels doorgaans tijdelijk zijn, zijn ze niet altijd overkomelijk. Je eigen eisen en budget zijn doorslaggevend. De keuze voor een ‘native’ applicatie is goed te rechtvaardigen als één van de onderstaande punten een rol speelt voor jouw applicatie:
Verschillende browsers
Ondanks die ene gemeenschappelijke taal zijn er nog steeds verschillen tussen de implementatie in de verschillende webbrowsers. Die ene webapplicatie voor alle platforms moet in de praktijk nog steeds aangepast worden aan de verschillende webbrowsers en platforms. Dit brengt extra kosten met zich mee. De hoogte van deze kosten is afhankelijk van de complexiteit van de applicatie en de hoeveelheid informatie die weergegeven moet worden.
Hardware en randapparatuur
Een reden om nog steeds voor een 'native' applicatie te kiezen, is dat je gebruik kunt blijven maken van hardware en randapparatuur in je applicatie. Voor applicaties die gebruik moeten maken van 3D-effecten, aangesloten apparaten of andere hardware is het moeilijk door de muren van de webbrowser heen te breken.
Uitbreidingen
Voor ieder platform zijn uitbreidingen beschikbaar om in je applicatie bijvoorbeeld van het touchscreen of de camera gebruik te maken. Deze uitbreidingen zijn echter niet generiek en vaak niet volledig. Het maken van één webapplicatie die al die platforms ondersteunt, is daarmee een stuk kostbaarder.
Denk vooral goed na voor je beslist
Welke vragen stel jij jezelf wanneer je een nieuwe applicatie nodig hebt? Houd bij de keuze voor een nieuwe applicatie rekening met de huidige ontwikkelingen en je specifieke wensen. Neem bovenstaande tips en ideeën mee in je afweging. Ga vooral niet blindelings af op het advies van je huidige leverancier en denk zelf goed na voordat je beslist. De belangrijkste tip die ik je kan geven is: ga uit van het ontwikkelen van een webapplicatie, behalve als je hele goede redenen hebt om voor een 'native' applicatie te kiezen.
Misschien vind je dit leuk
Anderen hebben deze artikelen gelezen