Ho appena iniziato a lavorare in una piccola start-up che utilizza principalmente PHP per sviluppare le proprie app front-end. Prima di unirmi non avevo alcuna esperienza in PHP e questo ha portato le mie app a diventare grandi pezzi di codice spaghetti. In sostanza, ho iniziato aggiungendo il codice per implementare una funzionalità iniziale e poi ho continuato a hackerare più codice per implementare ulteriori funzionalità, senza pensare troppo alla progettazione generale.
Le app producono output XML per il rendering su piccoli dispositivi mobili.
Recentemente ho iniziato a esaminare framework che potrei usare. Ritengo che un vantaggio sarebbe che sembrano costringere gli sviluppatori a modulare i loro programmi usando schemi di progettazione di buona pratica. Questo sembra fantastico per qualcuno nella mia posizione. Le funzioni extra che forniscono, ad esempio: l'interfaccia con i database in modo tale da rendere impossibile l'iniezione SQL, sarebbero molto utili.
Il lato negativo che posso vedere è che ci sarà un sacco di spese generali per me in termini di tempo impiegato per apprendere il framework stesso (pur continuando a fare i conti con PHP stesso). Sono anche preoccupato che sarà eccessivo per le dimensioni delle app che sviluppiamo. Tendono ad essere programmi che si interfacciano con un DB back-end piuttosto semplice e generano circa 5 diversi schermi XML. Probabilmente circa 1 o 2 mila righe di codice. Il tempo necessario per configurare i framework potrebbe non valerne la pena. Il problema finale che posso vedere è che gli sviluppatori della società, che devono consultare il mio codice e che non conoscono il framework PHP che posso utilizzare, avranno molto più difficoltà a comprenderlo.
Dati quei pro e contro, non sono ancora sicuro su quale sarà la migliore linea d'azione; quindi ogni consiglio sarà molto apprezzato.