Recently I’ve been thinking about the future of web development and how different technologies fit in.
Of course there is never going to be a one-size-fits-all solution but the more I contemplate this the more I am convinced that front and back end development will diverge.
Taking the experience I’ve had whilst at the Start Here group – moving from a website to a platform used to host several properties on a common back-end, the more I see this as the future of web development. Back-end developers doing what they do best, the business rules implementation and front-end developers doing what they do best, perfecting the user experience.
I predict that businesses will increasingly produce APIs supporting the business logic and leaving the front-end to another team or business altogether.
I believe this move to be driven primarily by the myriad of user facing interfaces now available, at the very least desktop browsers vs. mobile browsers, but also the proliferation of mobile and soon maybe wearable apps. The front-end and back-end are becoming more divergent than ever.
The proliferation of MVC frameworks are already promoting the separation of the model and controller from the view and perhaps a more physical separation is the natural step considering the dedicated front-end technologies that are around now, like Angular.js.
Considering a new business idea, rather than developing a full front-to-back solution I am seriously considering producing a RESTful API in node.js focusing on the core functionality and speed in delivering that and then outsourcing the website – desktop and mobile and mobile app development to experts in their field. Perhaps even only providing the API as the final product and pushing other businesses into producing user interfaces to utilise this. This approach enables me to consider more carefully the back-end functionality without any compromise due to front-end restrictions or distractions. I can produce the pure business logic and then let expert UI developers do the fancy part.
By becoming a back-end API provider if you like, it’s possible that more innovative ways of using the back-end will eventuate as more businesses focus solely on the user interfaces and API integration.
The dream perhaps is that the back-end logic is broken down into a series of APIs that the front-end simply plugs into and uses as required, so web development as it is today becomes more of a system integration activity, plugging front-end and various back-end APIs together to create the required end product.
Of course the interface definition will be critical and up until now this type of specification probably wasn’t much of a concern to web developers, but as web development matures I feel that the formalisation of these interface specs will become the norm as it is in more mature software engineering disciplines.
I think that by separating front and back end development it will create a more innovative overall solution without the front-end having preconceived ideas of the back-end and vice versa.
Who knows if this will become reality but we’re sure to see new approaches to old ideas almost constantly, these are truly exciting times to be involved in all aspects of digital.