Background
I collaboratori di questo documento sono stati direttamente coinvolti nello sviluppo e nella distribuzione di centinaia di app, e indirettamente sono stati testimoni dello sviluppo, del funzionamento e della scalabilità di centinaia di migliaia di app attraverso il nostro lavoro sulla piattaforma Heroku.
Questo documento sintetizza tutte le nostre esperienze e osservazioni su una grande varietà di app software-as-a-service in natura. È una triangolazione sulle pratiche ideali per lo sviluppo delle app, con particolare attenzione alle dinamiche della crescita organica di un’app nel tempo, alle dinamiche della collaborazione tra gli sviluppatori che lavorano sul codice dell’app, e ad evitare il costo dell’erosione del software.
La nostra motivazione è quella di aumentare la consapevolezza di alcuni problemi sistemici che abbiamo visto nello sviluppo di applicazioni moderne, di fornire un vocabolario condiviso per discutere questi problemi, e di offrire una serie di ampie soluzioni concettuali a questi problemi con la relativa terminologia. Il formato è ispirato dai libri di Martin Fowler “Patterns of Enterprise Application Architecture” e “Refactoring”.