A redesign with a Vue

In the past few years, I have been intrigued by the pace at which the front end ecosystem has exploded and continues to do so. Dominant frameworks such as AngularJS have been usurped by pretenders such as React and Angular 2/4 (which is nothing at all like the original).

With me being more involved in Laravel development I have seen the increasing trend of utilising the Vue framework. Jeffrey Way has created an excellent screencast site on https://vuecasts.com which showcase the unique power, elegance and simplicity of the VueJS framework.

This inspired me to take the opportunity to redevelop my personal site in Laravel and VueJS. The plan was simple, create a rudimentary website with a contract form and a blog that would allow prospective clients and fellow developers to contact me.

The pace at which I could achieve a solid front end using the Bulma framework was also refreshing in comparison to the slow and overcomplicated way in which Drupal constructs its theming system.

Challenges started to arise however when it came to content entry. Drupal is second to none when it comes to structured data and Drupal 8 has made leaps and bounds in providing a good solid API foundation for headless applications. 

Having been the lead developer on large-scale headless site (http://mmcts.org) recently I was fully aware of the challenges which I will face. Notably Google Analytics integration, social media sharing and some spider integration. Google has already solved this issue and does render javascript dependant applications, Facebook gives no such luck.

Looking around for quite some time I noticed that React and Angular 2/4 had solutions for this. Digging a little deeper I discovered Nuxt.js. This provided everything that I needed and even some features that I wish I had on previous projects such as server-side rendering of dynamic routes.

In the end I proceeded to make this site, simple as it is, using Drupal 8 JSONApi and Nuxt.js

So far, so good!