Scaling Frontend Development
Large frontend projects suffer from all of the same problems of other software projects with the same characteristics: Communication and coordination overhead, Speed of delivery, Large quantum size & Low productivity.
These factors are growing concerns for companies as productivity and speed of delivery is nowadays crucial for success in this competitive landscape
A common way of solving many of these issues in software projects is the microservices approach.
Today a similar approach of applying this same pattern to the frontend is being popularized and is commonly nominated as micro-frontends.
However this approach has many fallacies because of frontend specific characteristics:
- The performance cost of loading many independent applications
- The need for a common visual language and experience
- The browser is a monolithic runtime
This talk will be about the problems of large frontend projects and how to scale them in a way that balances team autonomy with performance and productivity.
I’ll talk about how at farfetch we’re progressively refactoring our frontend to multiple independent applications, and the strategies we’re using to make sure that despite having many applications made by different independent and geographically distributed teams we still can deliver a performant and consistent product to the end user.