Wat is de beste aanpak voor het ontwikkelen van een applicatie? Is dat mobiel? Web? Desktop? Of misschien een mix van die opties? Bij klanten zien wij regelmatig verwarring over web apps en de veronderstelling dat een desktop app een iets uit het verleden zijn. Niets is minder waar en in veel gevallen is een desktopapplicatie zelfs de beste keuze.
In deze blog kijken we naar de verschillende type applicaties en wanneer je voor welke optie kiest.
Het verschil tussen desktop en web
Functioneel kruipen desktop- en webapplicaties qua mogelijkheden steeds tegen dichter naar elkaar toe. In veel gevallen spelen functionele onmogelijkheden daarom geen factor meer bij de keuze tussen desktop en web. Toch zijn er een paar belangrijke verschillen.
1: Installatie
Bij een desktopapplicatie wordt er op een PC (of laptop) daadwerkelijk iets geïnstalleerd of een snelkoppeling aangebracht naar de applicatie op de server. Een webapplicatie benader je via een browser zoals Chrome, Firefox, Edge of Safari. Het voordeel van veel webapplicaties is daardoor dat, afhankelijk van de beveiligingsinstellingen, de applicatie vanaf elke PC benaderbaar. Dat is handig als je geen vaste werkplek of PC hebt.
2: Native desktop app
Een goede desktop applicatie is een “native” app. Dit betekent dat het de richtlijnen volgt van de ontwikkelaar van het besturingssysteem zoals Windows of macOS. Dit uit zich in standaarden zoals hoe een app zich gedraagt en de combinaties van toetsen. Bij een native app is dat gelijk aan die van het besturingssysteem en andere native apps. Wanneer je de app gebruikt hoef je al die handigheidjes dus niet opnieuw te leren. Hierdoor voelt het vertrouwd en is het gebruik makkelijker. Dit pleit voor een desktopapplicatie in plaats van een webapplicatie.
3: Snelheid
Mensen zijn ongeduldig en daarom is het belangrijk dat een applicatie snel is. Gemiddeld genomen zijn desktopapplicaties nog steeds sneller dan webapplicaties. Dat komt doordat bij een groot deel van de webapplicaties er een laadtijd is op het moment dat je van pagina wisselt. Je kunt dit ondervangen, maar dan stijgt het gebruik van geheugen aanzienlijk. Dat wordt ook als minpunt genoemd bij Electron apps – zie hierna.
Desktopapplicaties kennen – na de opstart – in principe geen laadtijden. Alle elementen zijn beschikbaar en de enige keer wanneer je eventueel moet wachten, is als de applicatie grote hoeveelheden data uit een externe bron ophaalt.
Desktop-apps kunnen een local-first ervaring bieden waarmee je offline kunt werken, waar en wanneer je maar wilt.
PWA en Electron: een middenweg
In de inleiding noemden we dat desktop- en webapplicaties functioneel steeds gelijkwaardiger zijn. Je ziet dat terug in technieken, zoals PWA en Electron, die ontwikkelaars gebruiken.
- PWA (Progressive Web Apps) zijn webapplicaties die je vanuit je browser opslaat als “desktopapplicatie”. Het is nog steeds een webapplicatie, maar je opent het alsof het een desktopapplicatie is.
- Electron apps zijn desktopapplicaties ontwikkeld met webtechnologie. Je installeert ze net als een desktopapplicaties en vaak biedt de ontwikkelaar ook een webvariant aan. Voor de ontwikkelaar is Electron een efficiënte manier van ontwikkelen, omdat je relatief snel een app ontwikkelt die werkt op verschillende platformen zoals Windows, macOS en Linux.
Electron is een middenweg tussen desktop en web. Een middenweg betekent meestal dat je compromissen sluit en dat geldt ook voor veel Electron apps:
- Over het algemeen zijn Electron apps langzamer dan desktop apps. Qua snelheid zijn ze vergelijkbaar met webapplicaties. Visual Studio Code en 1Password zijn hier een uitzondering op.
- Het tweede nadeel is dat veel Electron apps niet native aanvoelen zoals desktop apps. Hiermee mis je de herkenning en bepaalde gebruiksgemakken.
- Electron apps zijn minder efficient. Microsoft Teams is daar een voorbeeld van. Het gebruikt veel processorkracht, geheugen en energie.
Het grote voordeel van Electron apps is dat een app vaak op alle grote platformen beschikbaar is.
SaaS en cloud
We noemden eerder dat je een desktopapplicatie fysiek installeert op een PC of Mac. Dat is niet helemaal waar. Er zijn verschillende oplossingen waarmee je desktopapplicaties op afstand kunt gebruiken, net als webapplicaties. Bij CE-iT werken we bijvoorbeeld met Microsoft RDS. In dat geval open je, net als bij een webapplicatie, je browser en voer je het opgegeven adres in. Vanaf daar start je dan de desktopapplicatie zonder dat je iets installeert. Qua gemak lijkt het daardoor veel op een webapplicatie.
Een mix van platformen
Tot nu toe keken we vooral naar de keuze tussen web en desktop, maar zo zwart-wit hoeft het niet te zijn. Wanneer je meerdere type gebruikers hebt, moet je misschien ook verschillende oplossingen hebben. Iemand die alle functionaliteiten gebruikt – en dagelijks dezelfde PC gebruikt – geef je een desktopapplicatie, zodat zij de applicatie optimaal kan gebruiken. Een collega die incidenteel met de applicatie werkt met een beperkte set aan functies, is misschien beter af met een webapplicatie.
Deze mix zie je bijvoorbeeld bij Sketch. De desktopapplicatie bevat alle functionaliteiten en daarnaast is er een webapplicatie. Die laatste gebruik je voor samenwerking en het delen van ontwerpen. De webapplicatie is simpeler dan de desktopapplicatie waardoor de leercurve voor mensen – die het weinig gebruiken – beperkt is.
Deze benadering met mix van platformen sluit aan bij ons standpunt dat one-size-fits-all meestal niet werkt. Het zet de desktopapplicatie in het centrum en kijkt daarnaast wat andere mensen nodig hebben.
Conclusie: waar staat de desktop app
Wanneer je software ontwikkelt moet je verder kijken dan de functies die het ondersteunt. Je kijkt ook naar wie het gebruikt, waar iemand werkt en hoe. Op die manier zorg je dat mensen prettiger werken en productiever zijn.
Onze applicatie MA!N is in de eerste plaats een desktop app aangevuld met web apps voor die mensen waar dat het beste voor werkt. Het is een middenweg zonder compromissen. Eentje die uitgaat van de persoon die de software gebruikt. En dat is ook hoe het hoort.