Wat is Vue?

Vue gebruik ik vooral wanneer ik snel een goede frontend nodig heb zonder daar onnodig veel complexiteit omheen te bouwen.

Het framework is simpel, leest prettig en je kunt er snel mee uit de voeten. Dat vind ik belangrijk, omdat mijn focus meestal op de backend en architectuur ligt. Ik wil aan de frontendkant daarom vooral een framework dat mij niet in de weg zit.

Vue doet dat goed. Het is eenvoudig op te zetten, blijft snel en geeft genoeg structuur om een applicatie ook later nog goed te onderhouden.

In de praktijk gebruik ik Vue voornamelijk via Nuxt. Dat geeft mij direct een goede structuur rondom routing, rendering en projectopzet, zonder dat ik alles zelf hoef samen te stellen.

Waarom ik voornamelijk Nuxt gebruik

Nuxt maakt Vue voor mij vooral praktisch.

Ik hoef niet eerst allerlei losse onderdelen aan elkaar te knopen voordat ik productief kan zijn. Routing, layouts, server-side rendering en de structuur van de applicatie zitten logisch bij elkaar.

Dat past ook bij hoe ik graag software bouw: bewust eenvoudig houden, maar wel met een goede basis.

Ik gebruik daarbij voornamelijk SSR, omdat ik het prettig vind dat een pagina al volledig opgebouwd vanuit de server naar de gebruiker kan komen. Zeker bij publieke pagina's, dashboards en applicaties waarbij initial loading belangrijk is, werkt dat gewoon goed.

Composition API

Binnen Vue werk ik voornamelijk met de Composition API.

Ik vind die aanpak een stuk overzichtelijker wanneer componenten groter worden. Logica kan beter gegroepeerd worden op functionaliteit in plaats van verspreid te raken over verschillende lifecycle hooks en configuratieblokken.

Ook herbruikbare logica kun je hiermee makkelijker loshalen naar composables.

Dat zorgt voor componenten die kleiner blijven en logica die beter te begrijpen en opnieuw te gebruiken is.

Hoe ik Vue gebruik

Mijn uitgangspunt is vrij simpel.

De frontend moet goed werken, snel reageren en vooral niet complexer worden dan nodig.

Vue en Nuxt gebruik ik daarom voornamelijk voor:

  • UI en gebruikersinteractie

  • formulieren

  • API communicatie

  • lokale state

  • SSR

  • routing en layouts

  • herbruikbare composables

De echte domeinlogica houd ik zoveel mogelijk aan de backend.

Ik wil voorkomen dat belangrijke bedrijfsregels uiteindelijk verspreid raken over frontend en backend. De frontend presenteert en faciliteert, de backend bewaakt de waarheid.

Waar ik Vue heb gebruikt

Een concreet voorbeeld is een SaaS platform dat ik als zelfstandige heb ontwikkeld. De backend bestond uit meerdere microservices die via Kafka communiceerden en waarbij eventual consistency en het Saga Pattern werden toegepast.

Voor Debit55, een van de applicaties bovenop dat platform, heb ik Vue gebruikt voor de frontend.

Mijn ervaring met Vue en Vuex loopt daarnaast over meerdere jaren vanuit mijn eerdere Fullstack werkzaamheden.

Tegenwoordig gebruik ik Vue vooral wanneer ik zelf snel een frontend nodig heb rondom een backend of product dat ik bouw.

Mijn kijk op Vue

Vue hoeft voor mij niet bijzonder spannend te zijn.

Dat is juist waarom ik het gebruik.

Ik wil snel een interface kunnen bouwen, mijn backend aansluiten en daarna verder kunnen met het probleem dat ik daadwerkelijk probeer op te lossen.

Met Nuxt, SSR en de Composition API krijg ik precies genoeg structuur zonder dat ik het gevoel heb dat ik tegen het framework aan het werken ben.

Simpel, snel en voorspelbaar. Dat is voor mij de grootste kracht van Vue.

Veelgestelde vragen die ik krijg over Vue

Waarom gebruik je Vue?

Omdat ik er snel een goede UI mee kan bouwen. Het framework is eenvoudig, performant en zit mij niet in de weg.

Gebruik je Vue direct of voornamelijk Nuxt?

Voornamelijk Nuxt. Ik vind de projectstructuur, routing en SSR-integratie erg prettig en hoef daardoor minder zelf in te richten.

Gebruik je de Options API of Composition API?

Voornamelijk de Composition API. Zeker bij grotere componenten vind ik het veel makkelijker om logica logisch te groeperen en herbruikbaar te maken.

Waarom gebruik je SSR?

Omdat ik het prettig vind dat de eerste pagina direct vanuit de server opgebouwd kan worden. Het geeft een goede initiële gebruikerservaring en past goed bij hoe Nuxt applicaties opgebouwd kunnen worden.

Zie je jezelf als frontend developer?

Niet meer als specialisatie. Mijn focus ligt duidelijk op backend engineering, maar juist daarom vind ik Vue en Nuxt prettig. Ik kan er zelfstandig en snel een goede frontend mee neerzetten zonder dat frontend development het zwaartepunt van een project wordt.