Achtergrond
De medewerkers aan dit document zijn direct betrokken geweest bij de ontwikkeling en implementatie van honderden apps, en zijn indirect getuige geweest van de ontwikkeling, werking en schaling van honderdduizenden apps via ons werk op het Heroku-platform.
Dit document is een samenvatting van al onze ervaringen en observaties met betrekking tot een grote verscheidenheid aan software-as-a-service-apps in het wild. Het is een triangulatie op ideale praktijken voor app-ontwikkeling, met bijzondere aandacht voor de dynamiek van de organische groei van een app in de tijd, de dynamiek van de samenwerking tussen ontwikkelaars die werken aan de codebase van de app, en het vermijden van de kosten van software erosie.
Onze motivatie is om het bewustzijn te verhogen van een aantal systemische problemen die we hebben gezien in de moderne applicatie-ontwikkeling, om een gedeelde woordenschat te bieden voor het bespreken van die problemen, en om een set van brede conceptuele oplossingen voor die problemen met bijbehorende terminologie te bieden. De opzet is geïnspireerd op Martin Fowler’s boeken Patterns of Enterprise Application Architecture en Refactoring.