Riscrivere un'applicazione PHP procedurale: dovremmo usare un framework?

4

Abbiamo un'app che al momento ha solo circa 120 utenti. Probabilmente la base utenti crescerà del 50% nei prossimi 12 mesi, ma dovremo separare lo storage, ecc. Perché stiamo esaminando diversi TB di dati. Più tardi quest'anno, passeremo all'hosting basato su cluster. L'app verrà inoltre fornita in più lingue.

Sono in una fase con il progetto ora dove a volte abbiamo bisogno di aggiungere funzionalità addizionali piuttosto rapidamente, e mentre costruire l'app come è stata una decisione commerciale (tempo e denaro erano brevi allora e dovevamo avere qualcosa sta andando veloce), ora abbiamo bisogno di avere più sviluppatori che lavorano sull'applicazione, ed è un po 'difficile, anche se abbiamo tutto templato e documentato bene.

Ho l'opportunità di riscrivere l'applicazione: possiamo creare un team per ripetere simultaneamente il codice, mentre un team gestisce l'applicazione esistente. Una volta raggiunta la nuova versione, passeremo ad essa.

La domanda è: dovremmo usare un framework per questa applicazione? Ho esaminato Symfony e CodeIgnitor, e ovviamente quest'ultimo è più semplice con una curva di apprendimento più piccola per il nostro team. D'altra parte, se ri-architettiamo l'applicazione e costruiamo il nostro "framework" e le nostre classi (non so, non c'è bisogno di reinventare la ruota, ma abbiamo già centinaia di funzioni scritte che parlano perfettamente al nostro database). / p>

Ora ho visto commenti come "se vuoi avere un'app con cui vuoi vivere, usa Symfony", ma non so come funzioni. Mi sono già guadagnato da vivere con i siti web di WordPress, quindi questa affermazione è, beh, non utile!

Qualche consiglio, per favore. La risorsa per gli sviluppatori non è un problema per noi, ma non mi piacciono particolarmente le restrizioni che Symfony impone in termini di nomi di directory, ecc. (Ma immagino che si tratta solo di abituarsi alle cose).

Il punto è che ora devo prendere una decisione aziendale, e mi piacerebbe poterlo giustificare alla mia squadra. A questo punto, dal mio punto di vista, l'unico grande vantaggio è che quando assumiamo nuovi sviluppatori, se hanno familiarità con il framework, la loro curva di apprendimento sarà più piccola. Questa logica supporta Symfony, ma per me non è sufficiente.

Le opinioni qualificate aiuteranno.

    
posta Meezaan-ud-Din 16.02.2012 - 18:57
fonte

1 risposta

4

Nessuno può rispondere in modo definitivo, ma qui c'è un framework, se vuoi per decidere il valore commerciale di un framework.

  1. Il tuo progetto attuale ha un sacco di duplicati che devono essere comunque rifatti? Il costo della correzione della funzionalità foo in n posti non è banale.
  2. Il sistema attuale non ha comunque senso per un nuovo paio di occhi?
  3. framework x risolve elegantemente un problema di masterizzazione per noi?

Se hai detto sì ai 2/3 (in particolare all'articolo 3), penso che tu abbia un caso per usare un framework. Se aiuta, non hai bisogno di mangiare l'elefante in un boccone. Ho gradualmente riorganizzato un sistema verso l'utilizzo di Symfony, modificando gradualmente un sistema di template proprietario per twig e usando Doctrine per nuove parti dell'applicazione.

Penso che l'angolo della curva di apprendimento sia un po 'troppo enfatizzato rispetto alle strutture. Rispetto alla curva di apprendimento per la maggior parte dei domini, il tempo impiegato per apprendere la modalità CI o Symfony è banale.

    
risposta data 16.02.2012 - 21:41
fonte

Leggi altre domande sui tag