Microservices have many advantages, but in web development on any complex site, you can easily find yourself in a scenario where you have multiple web applications running on the same web page. This raises several challenges; in particular, the question of how to handle shared client-side libraries efficiently and manage communication between applications. Based on solutions implemented at Tes (www.tes.com), I will demonstrate how to manage an environment where everything is shared: the browser! I will then dive into a set of techniques that can help when building complex client-side applications that cross the boundaries between multiple services. Each technique will be evaluated on its scalability, maintainability, performance and efficiency.
Microservices for the Frontend
Old school programmer, started hacking on Commodore 64 and has been a developer ever since 1998. An enthusiastic open source contributor since 2004. Notably, Maurizio contributed to Plone (http://plone.org) with a few add-on products, nowadays he takes great joy writing node.js and frontend libraries (www.npmjs.com/~sithmel). A firm believer in the open web as a platform of the future and the present. Currently working as a senior engineer at Tes (www.tes.com) making a dent in Education Tech.