Facing the loss of my job at a development startup when the company folded, I found myself speaking with a fairly wide variety of organizations in my search for a new gig. In the process, I was fortunate to discover what seems to be the direction in which “front-end” web development is headed.
My experience of the “front-end” until lately has been largely presentational and behavioural; putting together the look and feel of a website, scripting and coding interactions and animations, etc. More and more often, this also involves fetching information and displaying it, often through some sort of Content Management System using a server-side language like PHP; Drupal or WordPress (platforms that I am familiar with), for instance. These skills are necessary to deliver the face of the web experience.
In my recent interviews and conversations, I have learned that there is a shift that is happening. With the maturation of the web in recent years, there has been a move towards a more traditional software model when it comes to building web sites and applications. Tasks that were once considered back-end (or still are, for some) are moving into the sphere of the front-end, thanks to emerging MVC frameworks.
These frameworks, such as AngularJS or Backbone, are built to remove the Model, View, and Controller logic away from the server and onto the client (i.e. the browser). This allows for much more flexibility and speed, adding a dynamic dimension to web applications that was more difficult to achieve in the past.
One of the key things that I learned over the last few weeks is that front-end developers need to understand these concepts, and be able to apply them. Whether it is retrieving information using Ajax, or interacting with REST APIs, or going full-out using MVC frameworks, this is the future.
While I imagine the page template system used by many popular CMSs out there won’t be disappearing any time soon, it is clear to me what is next. This will certainly have an impact on my learning goals for 2015, and narrow my focus somewhat as I keep on pushing myself to learn. Fellow front-end developers, do yourself a favour and get into MVC!