Writing front-end code today is very challenging, when you have to be resilient and robust in a big corporation. Working on a website that involves dozens of engineers based on three different continents, I learned that the complexity lies not only within the code itself. Allowing people to develop new features and deploy the code multiple times a day, keeping it up and running, is hard to achieve: we want small teams to be independent and not to interfere with each other, in order to be quick and happy, but we also want to optimise cooperation when it is needed.
In the front-end world components are very small units of code, providing application functionality, that are all connected in order to become a website.
During this talk I’m going to speak about how we tried to approach components at OpenTable. After breaking our monolithic back end into smaller parts, we tried to break the front end into smaller parts too, called micro-sites. Then, following SOA principles, we tried to elevate components as services, in order for engineers to be able to create and consume them via clear and well-defined contracts and interfaces. This allowed us to put in place the infrastructure to optimise testing, and to have hundreds of live changes every day without conflict. The result is OpenComponents, a framework that we recently open-sourced.
Matteo Figus is an Italian developer based in London, with more than 15 years of experience in writing code. He works at OpenTable, where he writes code, tests, deploys, and monitors it. Matteo’s main interests are node.js, C#, the open-source world, and the DevOps movement.
©2015, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org