Breaking Down Your Web App
Submitted by Patrick Hund (@wiekatz) on Tuesday, 2 January 2018
Let’s face it – it’s not a question of if your codebase will become a horrible, unmaintainable mess, it’s only a question of when. What architecture patterns and strategies are there to break down your web application’s code into cleanly separated components, lego bricks that you can simply replace with shiny new ones when they have become rotten? In my talk, I’ll show you how to be proud of writing code that’s easy to throw away instead of being proud of writing code that haunts your colleagues and your future self forever!
Software entropy is the phenomenon that, as software ages, it accumulates more and more technical debt, grows more complex and less manageable. It can be fought to some extend through best practices like automated testing and constant refactoring, but it cannot be avoided – after some years, the cost of making changes to the software will be too high to be economically feasible. Time for a complete rewrite.
The best strategy here is to break down a system into modules that are as loosely coupled as possible, with clearly defined interfaces. A complex software, like a web application, should be composed of parts that can easily replaced. Software developers should not strive to write code that lasts forever, but rather write code that can easily be thrown away.
In my talk, I will present architectural design patterns to achieve this and share hands-on experience from working on Germany’s largest online auto trading marketplace and automotive community.
While my code examples will be based on React and Redux, the concepts behind them will be valuable for users of other tech stacks, as well.
Patrick helps React and Node.js conquer the tech stack at eBay in Berlin, working on Germany’s biggest auto trading platform and online community, mobile.de.