Node and the Frontend Backend
Node and the Frontend Backend
JavaScript developers around the world play a major role in putting the best - and often most beautiful - face on the online world. They are the front lines of the customer experience. Their work also represents the most visible evidence when something goes wrong: frozen screens, application slowdowns, server overloads all affect the user experience.
Before the introduction of Node, there really wasn’t much recourse for JavaScript developers to mitigate backend issues. But as the great unbundling of large, monolithic applications has progressed and Node has gained momentum, UI developers are enjoying an increasing role in how their applications perform and scale. As the tiers of monolithic apps are separated and considered, it has become clear that the UI itself has a need of its own specialized infrastructure, a frontend backend, if you will.
A frontend backend is an architectural tier added to a system to specifically serve frontend resources (templates, html, css, etc.) in front of a legacy system or API service tier. Node has empowered JavaScript developers to apply their most successful strategies for frontend programming to the backend: iteration, componentization, abstraction.
Smaller is Better
Generally, in software, you can iterate faster on something small. This is why monoliths slow everybody down: too many organizational planets must align. Using Node encourages developers to think in terms of developing modules which can be used to build services which in turn are used to build the application. Individual modules can be developed, tweaked, improved or replaced without service interruption. Companies like Netflix, PayPal and Intuit are the ultimate examples of this approach.
For JavaScript developers, being able to rapidly iterate on services in the backend as they have on the frontend is incredibly powerful. Node brings to backend service development what agile development practices seek to achieve: faster delivery of high quality functionality.
Or, as I like to put it, shipping code wins.
JavaScript++
Another key advantage of using Node to create a frontend backend is the ubiquity of JavaScript developers in the enterprise. JavaScript has consistently ranked as one of the most popular languages for developers. Node empowers frontend engineers to work within their area of specialization to optimize the frontend backend. We here at NodeSource think this is a really exciting prospect.
By extending the reach of JavaScript and its tool sets to the backend, developers can use the tools that they love and also upgrade their skill set by embracing the core tenets of Node: module-driven development, asynchronous programming, single-threaded non-blocking I/O and the open source model. Now, not every JavaScript programmer will become a Node developer, but the potential pool of Node developers is vast.
NodeSource supports customers who are delivering compelling user experiences. Increasingly, we are seeing end-to-end efficiency improved by adding a frontend backend. Whether the deploy target is desktop, web, mobile, TV or special-purpose device… or all of the above, the frontend backend decouples data services from the view layer. This in turn allows both the backend services to focus on delivering the data integrity they need to focus on and frontend teams to ship more effectively.