Wat is een webapplicatie?

Een webapplicatie is een programma dat je via een webbrowser gebruikt. Je hoeft meestal niets te installeren: de functies en gegevens zijn direct online beschikbaar.

Het verschil met een gewone website zit vooral in interactie. Een website is vooral bedoeld om informatie te bekijken. In een webapplicatie kan een gebruiker actief iets doen, zoals gegevens invoeren, een aanvraag indienen, documenten beheren of een persoonlijk dashboard gebruiken.

medewerkers van Atom Rotterdam vragend achter een laptop
  • 25+

    Drupal specialisten in loondienst
  • 15+

    jaar ervaring
  • ISO 27001

    Gecertificeerd
  • Platinum

    Drupal partner
medewerkers van Atom Rotterdam vragend achter een laptop
Wat is een webapplicatie

Wat is het verschil tussen een website en een webapplicatie?

Platgeslagen gezegd heeft een website als doel informatie over te brengen, iets te presenteren of te verkopen. Denk bijvoorbeeld aan onze eigen website, waar je informatie kunt vinden over de ontwikkeling van online platformen. Een webapplicatie heeft als doel een gebruiker een dienst te verlenen of een taak te laten voltooien. Dit kan bijvoorbeeld een interactieve leeromgeving zijn of een portaal waar je bankzaken kunt regelen. 

De grootste verschillen op een rij

 

KenmerkWebsiteWebapplicatie
FocusInformatie tonen (Lezen)Taken uitvoeren (Werken)
InteractieLaag (scrollen, klikken)Hoog (data invoeren, beheren)
InloggenMeestal niet nodigBijna altijd noodzakelijk
ContentVoor iedereen hetzelfdeGepersonaliseerd per gebruiker
OntwikkelingRelatief snel en goedkoperTijdrovend, complex en duurder

De verschillen in interactiviteit

Wanneer je als gebruiker een website bezoekt ben je een consument van de inhoud. De interactie is dan vaak beperkt tot het lezen van tekst of het bekijken van een video of afbeelding. Soms navigeer je tussen een aantal pagina's door middel van links en daar houdt het bij op.

Bij een webapplicatie is het doel om de gebruiker echt actief deel te laten nemen. Dat betekent dat de applicatie reageert op de complexe invoer van de gebruiker. In andere woorden, jij kan als gebruiker gegevens creëren, bewerken, sorteren of manipuleren. 

Dynamische content van een webapplicatie

Een webapplicatie is goed te herkennen aan de hoge mate van dynamische en gepersonaliseerde content. Wat een gebruiker op zijn scherm ziet (bankoverzicht of dashboard), is specifiek gegenereerd op basis van zijn eigen profiel, rechten en eerdere acties.

Wanneer je een online cursus volgt is dat achter een inlog omdat de voortgang moet worden bijgehouden voor jouw profiel. Wanneer je ingelogd bent kun je hier zien waar je bent gebleven, hoe ver je bent en wat je al hebt afgerond. Dit zijn dynamische elementen omdat het zich aanpast aan jouw handelen.

Bij een website is de inhoud statisch en heb je vaak geen inlog nodig. Elke bezoeker/gebruiker krijgt dezelfde informatie te zien. Updates worden aangebracht door een redacteur en vervolgens live gezet. 

Authenticatie en beveiliging

Zoals we eerder noemden is de content dynamisch en gepersonaliseerd op basis van jouw profiel. Om die reden is er vrijwel altijd een login vereist om een webapplicatie te openen. Omdat jouw gegevens gekoppeld moeten worden aan een account en daar ook specifieke rollen en rechten voor nodig zijn om de webapplicatie te kunnen gebruiken.

Bij een website is een login niet vereist. De informatie is meestal publiek toegankelijk. Wel zijn er bepaalde websites waar een login mogelijk is, denk hierbij aan een website waar je een artikel wilt kunnen opslaan om later makkelijk terug te vinden. 

Verschillen in techniek en complexiteit

Een website is ‘relatief’ eenvoudig te bouwen. Dit komt omdat deze meestal gebouwd is in HTML, CSS en een beetje JavaScript. De meeste websites draaien op een CMS (content management systeem) zoals Drupal of WordPress, wat helpt bij het beheren van de website.

Een webapplicatie is technisch een stuk complexer. Het vereist vaak complexe “client-side” scripting (zoals React of Angular) en een uitgebreide “backend” (zoals Node.js of Python) voor database koppelingen en complexe bedrijfslogica. Ook een webapplicatie kan draaien binnen een CMS zoals Drupal. Dat is voordelig: gebruikersrollen, rechten en beveiligingsupdates zitten al in de architectuur verankerd, en doordat moderne CMS'en API-first zijn, communiceert de backend rechtstreeks met andere applicaties.

Wat zijn de voordelen van een webapplicatie?

Het grootste voordeel van een webapplicatie is dat deze direct in de webbrowser draait. Een gebruiker hoeft dus niks te downloaden of te installeren wat de drempel voor gebruik verlaagt. Verder is het altijd en overal bereikbaar. Een gebruiker heeft enkel internetverbinding nodig om gebruik te kunnen maken van een webapp.

Webapps zijn in de basis platform onafhankelijk, wat betekent dat ze op diverse besturingssystemen werken zoals Windows, Mac en Linux. En ze werken ook op laptops, smartphones en tablets (mits deze responsief ontworpen zijn). 

Mederwerkers van Atom Rotterdam die gezamenlijk naar een laptop kijken

1. Updates die direct voor iedereen gelden

Een ander groot voordeel is dat wanneer je een update wilt doorvoeren voor je webapplicatie, deze direct beschikbaar is voor alle gebruikers. Een gebruiker hoeft dus zelf geen stappen te ondernemen om een update te installeren.

Ook nemen webapplicaties nauwelijks schijfruimte in beslag op het apparaat van de gebruiker, op wat cachedata en cookies na. Native applicaties moeten wel worden geïnstalleerd en vragen daardoor structureel meer opslagruimte.

2. Groeit mee met de organisatie

Een webapplicatie groeit mee met de organisatie: van tien gebruikers vandaag naar honderd volgend jaar vraagt in de cloud geen nieuwe serverhardware, alleen meer capaciteit op het bestaande hostingplatform.

Webapplicaties zijn ook vaak modulair opgebouwd. Dit maakt het relatief eenvoudig om nieuwe functionaliteiten toe te voegen. Denk aan een extra afdeling, een nieuw bedrijfsproces of een nieuwe functionaliteit zoals een koppeling met een nieuw systeem. 

3. Samenwerking

Een webapplicatie is ontworpen voor meerdere gebruikers die tegelijkertijd in dezelfde omgeving kunnen werken. Denk hierbij aan een webapplicatie zoals Google Docs. Hier is realtime samenwerking mogelijk waarbij teamleden samen in een tekstdocument kunnen werken. Wanneer jij een zin typt ziet een collega deze direct verschijnen zonder dat er een opslaan knop nodig is.

4. Integraties en databeheer

Webapps blinken uit in het verbinden van informatiestromen die voorheen versnipperd waren in bijvoorbeeld verschillende spreadsheets of losse tools.
Bij een webapp worden gegevens opgeslagen op een centrale database. Dit kan informatie zijn uit andere systemen zoals je boekhoudpakket, CRM en ERP die op één centraal dashboard getoond worden.

Rollen en rechten bepalen wie welke data mag inzien of bewerken: een directeur ziet andere overzichten dan een sales medewerker, terwijl ze in hetzelfde systeem werken. Bij CZ bouwde Atom een rollen- en rechtenstructuur voor werkgevers, leidinggevenden, HR-medewerkers en financieel verantwoordelijken, elk met een eigen rol in het goedkeuringsproces voor zorginterventies.

5. Lagere ontwikkelkosten

Vanuit technisch oogpunt zijn webapplicaties makkelijker en goedkoper te onderhouden dan native apps of desktop software. Omdat de webapp op één codebase draait die op alle systemen werkt, is de initiële investering vaak lager dan wanneer je applicaties moet ontwikkelen voor iOS en Android. 
 

Soorten webapplicaties

Een webapp is eigenlijk een vrij algemene term en gaat meer over de vorm dan het doel. Als we ons richten op het doel kunnen we webapplicaties verdelen in meerdere categorieën.

Denk aan:

  • Klantportalen / persoonlijke omgevingen: een afgeschermde omgeving waarin een klant, lid of medewerker zijn eigen gegevens, documenten of status inziet en beheert. Meer weten over een portaal laten bouwen?
  • Workflow- en procesplatformen: software die een proces met meerdere stappen en meerdere rollen digitaliseert, meestal met een goedkeuringsketen. Zo bouwde Atom voor CZ een rollen- en rechtenstructuur waarin werkgevers, leidinggevenden, HR en financieel verantwoordelijken elk hun eigen stap in hetzelfde goedkeuringsproces doorlopen.
  • Dashboard- en dataplatformen: brengen data uit meerdere bronnen samen in één overzicht, zodat je sneller een besluit kunt nemen. Voor gemeente Rotterdam bouwde Atom bijvoorbeeld een dashboard waarin elk raadslid zijn eigen samengestelde overzicht ziet. 
  • Selfservice-platformen: hiermee voeren gebruikers zelf taken uit die anders via een medewerker van de organisatie zouden lopen, zoals een aanvraag indienen, gegevens wijzigen of iets bestellen. Een webshop of een online bankieromgeving valt hier ook onder.
  • SaaS-platformen: software die je als abonnement gebruikt, vaak door meerdere klanten tegelijk. Atom bouwt zelf ook SaaS-producten voor klanten, naast maatwerkoplossingen.
  • Integratieplatformen / middleware: een tussenlaag die data tussen verschillende systemen synchroniseert of omzet naar een bruikbaar formaat. Voor de Carnegie Stichting bouwde Atom bijvoorbeeld een koppeling die 2,3 miljoen bibliotheekrecords omzet naar 60 miljoen doorzoekbare records. Lees meer over koppelingen en middleware in Drupal.
     
Medewerkers van Atom Rotterdam in een overleg

Onderverdeling op basis van architectuur

  • Single-Page Applications (SPA): deze apps laden één keer een 'schil' in de browser. Daarna wordt alleen de data dynamisch ververst, zonder dat de hele pagina opnieuw hoeft te laden. Dat zorgt voor een snelle en vloeiende gebruikerservaring, vergelijkbaar met desktopsoftware. Voorbeelden zijn Gmail en Trello.
  • Progressive Web Apps (PWA): een evolutie van de standaard webapp die functies van mobiele native apps overneemt. Een PWA kan offline werken, pushnotificaties sturen en direct op het startscherm van een telefoon worden geïnstalleerd, zonder tussenkomst van een appstore.
  • Hybride apps: webapplicaties in een 'native jasje', gebouwd met dezelfde webtechnologie maar verpakt voor distributie via de appstore. Anders dan een PWA zijn ze in de praktijk alleen te gebruiken via de geïnstalleerde appstore-versie, niet los via de browser.
     

Wanneer heb je een webapplicatie nodig? 

Een belangrijk signaal dat een webapplicatie aan te raden is: een gewone website of standaardsoftware volstaat niet meer om specifieke taken te voltooien. Zoals eerder beschreven, kun je de vuistregel hanteren dat een website voldoet zodra gebruikers alleen informatie hoeven te bekijken, en dat een webapplicatie nodig is zodra gebruikers met data moeten werken: aanpassen, invoeren en beheren.

Omdat bovenstaande misschien nog wat vaag klinkt, delen we vier voorbeelden van wanneer een webapplicatie nodig is:

1. Automatiseren van handmatig werk

Wanneer je team veel tijd kwijt is aan repeterende taken of het handmatig overnemen van gegevens tussen systemen en spreadsheets, kan een webapp deze workflow automatiseren. Denk bijvoorbeeld aan het automatisch genereren van facturen of rapportages.

2. Behoefte aan centrale data

We hebben het eerder al even kort genoemd: wanneer je data versnipperd en verspreid staat over losse bestanden, kan een webapplicatie dit samenvoegen in één centrale database. Hierdoor werkt iedereen met de meest actuele versie en wordt voorkomen dat gegevens dubbel worden ingevoerd.

3. Persoonlijke toegang en rechten

Als gebruikers of medewerkers moeten inloggen om toegang te krijgen tot vertrouwelijke of gepersonaliseerde gegevens, is een webapplicatie de aangewezen oplossing. Voorbeelden hiervan zijn:

Klantportaal: een omgeving waar klanten 24/7 zelf gegevens kunnen inzien, zoals facturen, leveringen, bestellingen of hun chatgeschiedenis.
Rolgebaseerde toegang: hierbij is ingesteld dat niet iedereen standaard dezelfde gegevens kan zien. De rechten zijn afgestemd op de rol binnen de organisatie, zo kunnen sales en marketing dezelfde gegevens zien, terwijl R&D weer heel andere informatie te zien krijgt.

4. Unieke processen

Wanneer je organisatie te maken heeft met complexiteit waar (standaard)software niet aan voldoet, kan een maatwerk webapplicatie worden gebouwd die volledig aansluit bij de organisatie.
 

Wat kost een webapplicatie?

Een vaste prijs voor een webapplicatie bestaat niet. De uiteindelijke investering hangt af van de complexiteit van het proces, het aantal gebruikersrollen, de koppelingen met bestaande systemen en of de applicatie meertalig moet zijn. Voor het leerplatform van Nieuwsbegrip/CED Groep investeerde de opdrachtgever bijvoorbeeld tussen de €500.000 en €1.000.000 aan discovery en development, terwijl een eenvoudiger klantportaal met minder gebruikersrollen en koppelingen aanzienlijk lager uitvalt.

Medewerkers van Atom Rotterdam in de vergaderruimte

Hoe wordt een webapplicatie gebouwd? (technologiekeuze)

Niet iedere situatie vraagt direct om een uitgebreid maatwerkproduct. Soms biedt standaard SaaS-software voldoende mogelijkheden voor het vraagstuk. SaaS kan een betere keuze zijn als je snel operationeel wilt zijn, of wanneer het gaat om functies die al bewezen zijn en voor bijna elk bedrijf hetzelfde zijn. Standaardsoftware is bovendien vaak een goedkopere oplossing, dus ideaal wanneer je minder budget hebt.

Maatwerk wordt relevant wanneer processen niet aansluiten op standaardsoftware, of wanneer de webapplicatie unieke opties moet bieden die specifiek zijn voor jouw bedrijf. Maatwerk kan ook voordeliger zijn als je te maken hebt met veel gebruikers: bij SaaS betaal je vaak per gebruiker, waardoor de kosten kunnen oplopen, terwijl je bij maatwerk kunt profiteren van een investering die op de lange termijn goedkoper kan uitvallen.

Bij maatwerk op een open-source basis blijf je bovendien volledig eigenaar van code, data en design. Dat voorkomt vendor lock-in en geeft je de vrijheid om met elk gewenst team verder te gaan. 

KenmerkStandaard software (SaaS)Maatwerk-software
InvesteringLage opstartkosten, maandelijkse feeHoge investering vooraf
EigendomHuur (geen eigenaar)Volledig eigendom van code en data
FlexibiliteitBeperkt tot instellingen leverancierSterk aanpasbaar, geen beperkingen vanuit een leverancier
Kosten bij groeiKosten groeien mee met aantal gebruikersGeen extra licentiekosten per gebruiker, wel eventuele infrastructuurkosten bij groei

Een webapplicatie op Drupal

Kies je voor maatwerk, dan is Drupal bij Atom vaak het uitgangspunt. Drupal is open source: er zijn geen leverancierslicenties, je blijft volledig eigenaar van code en data, en een groot ecosysteem aan modules betekent dat je niet alles zelf hoeft te bouwen. Dat sluit direct aan bij het eigendoms- en lock-in-vraagstuk uit de vorige sectie.

Medewerkers van Atom die een vergadering hebben

Rollen en rechten tot op veldniveau

In een webapplicatie zien verschillende doelgroepen, zoals burgers, medewerkers of leden, andere content. Atom regelt dat met rollen en rechten tot op veldniveau: niet alleen wie een record mag zien, maar ook welke afzonderlijke velden daarbinnen zichtbaar of bewerkbaar zijn per rol, aangevuld met publicatiestatussen en revisies waarmee elke wijziging herleidbaar blijft.

Koppelingen met bestaande systemen

Drupal stelt data beschikbaar via een standaard REST API en ondersteunt daarnaast SOAP voor oudere systemen. Atom bouwde hiermee al koppelingen met CRM- en ERP-systemen zoals Salesforce, Microsoft Dynamics, Exact, AFAS en SAP, betaalproviders zoals Buckaroo, Mollie en iDEAL, en SSO-oplossingen zoals SURFconext, miniOrange en Azure AD. 

Wanneer een directe koppeling niet volstaat, bouwt Atom een middleware-laag: voor Royal Caribbean verwerkt en buffert deze laag dagelijkse CSV-exports, en bij de Carnegie Stichting normaliseert en dedupliceert een koppeling 2,3 miljoen bibliotheekrecords naar 60 miljoen doorzoekbare records via Apache Solr.

Losgekoppelde front-end met React

Voor webapplicaties waarbij front-end en back-end onafhankelijk van elkaar moeten kunnen ontwikkelen, combineert Atom Drupal met React. Dat kan progressief (React voor specifieke interactieve onderdelen, de rest blijft een standaard Drupal-frontend) of volledig losgekoppeld (Drupal als content-API, React bouwt de volledige interface).
 

Klaar om een webapplicatie te laten bouwen?

Je hebt nu een compleet beeld van wat een webapplicatie is, welke vormen er zijn en waar je op moet letten. Overweeg je zelf een project te starten, dan is de volgende stap concreet worden: welk traject past bij jouw organisatie, en hoe pakt Atom dat aan? 

Spreek een specialist

Veelgestelde vragen

Een webapplicatie draait in de browser en hoeft niet geïnstalleerd te worden. Een app installeer je vanuit een appstore en draait als los programma op je apparaat. Er bestaat ook een tussenvorm: een progressive web app werkt als webapplicatie, maar kan wel op het startscherm worden gezet zonder appstore.
Dat hangt af van de complexiteit, het aantal gebruikersrollen, de koppelingen en of de applicatie meertalig moet zijn. Een concreet beeld: het leerplatform van Nieuwsbegrip/CED Groep kostte tussen de €500.000 en €1.000.000 aan discovery en development, terwijl een eenvoudiger klantportaal aanzienlijk lager uitvalt.
Een PWA is een specifieke vorm van een webapplicatie: hij werkt via de browser, maar kan ook offline functioneren, pushnotificaties versturen en op het startscherm van een telefoon worden geïnstalleerd zonder appstore. Niet elke webapplicatie is een PWA, maar elke PWA is wel een webapplicatie.
Dat verschilt sterk per project. Bepalend zijn onder meer het aantal gebruikersrollen, het aantal koppelingen met bestaande systemen en of er sprake is van maatwerk workflows. Een eenvoudig klantportaal is sneller op te leveren dan een platform met meerdere koppelingen en goedkeuringsprocessen. Wil je een inschatting voor jouw situatie? Bespreek dat vrijblijvend met Atom.
Dat hangt af van de gekozen route: bij standaardsoftware (SaaS) ligt de techniek al vast, bij maatwerk kies je zelf een basis. Atom bouwt maatwerk webapplicaties meestal op Drupal, vanwege de open-source licentie, het uitgebreide rollen- en rechtensysteem en de mogelijkheid om te koppelen met bestaande systemen.
Zodra gebruikers niet alleen informatie hoeven te bekijken, maar ook met data moeten werken: aanpassen, invoeren of beheren. Denk aan automatisering van handmatig werk, behoefte aan centrale data, persoonlijke toegang en rechten, of unieke processen die standaardsoftware niet ondersteunt.

Floating action menu