Partire col codice php scritto a mano senza alcun framework sottostante.
Aggiungere spaghetti western js scritto con jquery.
FTP, wordpress.
Questi erano gli ingredienti del mio lavoro e di grossa parte del web prima dell'avvento di Ruby On Rails. Parliamo degli anni zero di questo secolo. Per certi versi gli anni zerouno dello sviluppo web.
Il codice che almeno io scrivevo all'epoca era di una disorganizzazione sconcertante. Ogni volta riscrivevo le cose in modo leggermento diverso e mi incasinavo per via della mancanza di una guida unica sul come sviluppare le soluzioni web.

Rails mi ha fornito una struttura, è stato un ambiente protetto di disciplina. L'attenzione ai test. Una cosa che non avevo mai incontrato prima.
Rails è stato un ambiente orientato agli sviluppatori per la prima volta. Che se ne prendeva cura e li faceva crescere. Era la prima volta che incontravo una situazione simile.
Proprio come il suo linguaggio ruby. Per la prima volta avevo incontrato un linguaggio il cui obbiettivo primario non era parlare alle macchine ma allo svilupattore.
Potrebbe sembrare una cosa che interessa solo chi, come me, arriva dal design invece che dall'università di informatica.
Invece è fondamentale anche per chi investe.
Il tempo della cpu è poco costoso. Un algoritmo lento lo puoi facilmente accelarare con hardware migliore. Il costo orario di uno sviluppatore è invece assai più grande.

Da questo punto di vista Ruby e Ruby On Rails sono state una svolta per il mio quotidiano lavoro e mi hanno permesso di fornire ai clienti e a me stesso progetti elaborati in pochissimo tempo.

Ora con i framework js non ho ancora incontrato il fratello di Rails.
Anche Vue, che è effettivamente tra i nuovi framework, il più amichevole non fornisce una opinione forte e comprensibile su come debba essere una applicazione. Fornisce opinioni deboli. Per molti super esperti questa cosa probabilmente appare come un fatto positivo.
Per me no. Vorrei infatti, come con Rails, potermi concentrare di più sui problemi di business del cliente invece che su quelli tecnici.
Perché devo perdere un sacco di tempo a configurare i soliti pacchetti (babel, vue-loader, webpack, yarn, i vari runner) ? Vorrei avere soluzioni già pronte che si inseriscano comodamente nel mio flusso con rendering lato server senza dover per forza rivoluzionare il mio intero stack (capito vue-cli?).

Insomma vorrei di nuovo un frontend js amico dello sviluppatore.
Vue con vuex e vuex-orm si avvicina abbastanza a quello che ho in mente. Ho sentito parlare bene di nuxt ma mi sostituisce l'intero stack. Magari lo proverò in futuro.