2010-02-20 9 views
5

Hai bisogno di una guida e idealmente dell'esperienza di prima mano.Come posso valutare come e se modificare i framework php?

Ci siamo impegnati in un framework php che, poco dopo abbiamo costruito il primo giro del prodotto, interrotto tutti gli sviluppi sul framework per circa un anno, biforcato due volte, e in realtà non ha una grande comunità con cui cominciare, il che significa nessun plugin, tutorial, eccetera.

Per un altro progetto che abbiamo sviluppato su rotaie è stato notte e giorno: una struttura robusta, continuamente sviluppata e un ecosistema sano di ottimi plugin e una comunità che è attiva, in crescita, intelligente e utile.

Ma il pensiero di buttare tutto il tempo e i costi affondati nel framework è stato un enorme ostacolo che non sono sicuro che siamo pronti ad attraversare, per passare da php a binari. Tuttavia, provare a lavorare con questo/i framework/i ha avuto vari livelli di frustrazione e di investimento.

Ci sono alcune idee su come una tale porto potrebbe essere meno doloroso (rimanendo in php, ma un quadro OO simile che sta crescendo/sano?)

Suggerimenti su come possiamo continuare ad arare avanti con quello che abbiamo ?

Idealmente qualcuno che si è trovato in una situazione simile sarebbe stato di grande aiuto per noi per avere le nostre teste avvolte attorno ad esso. Le conversazioni interne a cui continuiamo a tornare e mi piacerebbe trovare una direzione e andare avanti.

Grazie per alcuni suggerimenti, o anche domande, che ci aiuteranno a costruire una matrice di decisioni attorno ad esso.

PS: Le due o tre persone che ho incontrato su SO che hanno effettivamente utilizzato questo framework sono state fantastiche, quindi non voglio che sia un neg. La dimensione (della community) almeno dalla nostra prospettiva è importante, e penso che stiamo assistendo al confronto con Rails (forse è un paragone ingiusto) Quindi grazie!

+0

In entrambi i casi, suggerirei di non trascinare la decisione - tenere la presa renderà le cose ancora più dolorose se deciderai di fare uno scambio più tardi. – Amber

risposta

0

Non posso rispondere a tutte le vostre domande, ma mi trovavo in una situazione simile circa 6 mesi fa. Per farla breve, ho rinunciato alla mia struttura e mi sono trasferito a Symfony. Detestavo l'idea di abbandonare ciò a cui avevo lavorato tanto a lungo ed ero così abituato, ma non potevo ignorare l'aspetto comunitario. A parte i plugin, dovevo essere in grado di chiedere ad altre persone sul framework - qualcosa che non sarebbe stato possibile se fossi rimasta con il mio framework. La curva di apprendimento ha risucchiato (anche se sapevo che sarebbe stato inevitabile), ma alla fine non ho rimpianti dopo il passaggio.Mi sento molto più fiducioso nei miei prodotti ora che utilizzo un framework maturo con una comunità sana. Suggerisco di guardare i grandi framework PHP e vedere quale si adatta al meglio al tuo stile di sviluppo.

+0

Diresti che alla fine, il tempo risparmiato andando su Symfony ha pesato il tempo dedicato all'apprendimento e al porting? – Angela

+0

Sì. I costi nell'apprendimento di un nuovo framework non erano nulla in confronto al vantaggio di avere accesso a un set di strumenti più maturo e ricco di funzionalità. È stata una decisione difficile da prendere, ma era quella giusta. –

+0

Quindi sei felice di symfony come scelta? Ci sono stati dei dibattiti nelle opzioni? – Angela

0

Suggerirei di dare un'occhiata allo Akelos framework, si suppone che sia una porta di Rails su PHP e potrebbe facilitare significativamente la transizione del framework.

Per quanto riguarda l'avanzamento dell'attuazione attuale, sarei d'accordo sul fatto che è il momento di cambiare se il tuo attuale framework non ha una base di utenti sana e progressi costanti, questo è un fattore chiave per me in scegliere una soluzione quadro a lungo termine. L'altro fattore chiave che tengo tanto alto è quanto vicino l'implementazione del framework, le funzionalità di supporto e gli eventuali obiettivi si allineino al progetto a cui voglio applicarlo. Con so many PHP frameworks available ora hai la possibilità di essere molto selettivo e trarne il massimo vantaggio.

+0

Non è cakephp il ramework che si suppone essere un porto di rotaie ?? – AntonioCS

+0

@AntonioCS Non che io sappia. Akelos si vanta almeno come porta. – nortron

4

Non importa quanto in fondo alla strada sbagliata sei andato, torna indietro. I costi irrecuperabili sono già affondati.

Suggerisco Zend framework se continuerete a utilizzare PHP. Assicurati di costruire dei test unitari quando inizi a fare il refactoring in modo da essere certo che il tuo nuovo codice fa lo stesso del vecchio.

+2

+1. Mi piace il fatto che "I costi di affondamento sono già affondati". part –

+0

Credi che i miei criteri di "struttura scadente" fossero giusti --- so che questo è soggettivo - ma sto cercando di ottenere, vale la pena di andare avanti e quali sono le considerazioni? – Angela

+0

La mia unica considerazione è il tempo di sviluppo complessivo. Mentre puoi guardare Rails e dire che questo è molto meglio di quello che abbiamo attualmente, stai trascurando la caratteristica più critica di mantenere il tuo progetto nel framework esistente: è già costruito. Ti ritrovi a desiderare costantemente plug-in nel tuo vecchio framework che sono già implementati nel tuo nuovo framework? Il vecchio quadro è lento? È difficile scrivere un nuovo codice con esso? Certo, una comunità vivace significa un sacco di tutorial ... ma, quante volte non sei sicuro di cosa fare nel vecchio quadro? Hai bisogno di tutorial? –

1

Dipende davvero dal costo del cambiamento rispetto al costo di mantenere ciò che si ha. Non penso che nessuno qui su StackOverflow possa fare quel giudizio per te. Vorrei suggerire, però, che è facile concentrarsi sulle cose brutte e dimenticare le cose che funzionano. Le persone hanno la tendenza a sottovalutare quanto lavoro devono mettere in un porto da una struttura/tecnologia a un'altra. Quindi se pianifichi di seguire quella strada, prova a farlo nel modo più semplice possibile; Per esempio. Prendete prima i progetti più piccoli, per capire cosa significhi portare un progetto sopra. Questo ti darà il tempo di tirare il freno se risulta essere ingestibile. Ti darà anche il tempo di adattarti alla nuova piattaforma (ad esempio dici di non essere ancora pronto per passare da php a ruby).

+0

Buon punto, penso di aver bisogno di annotare cosa, oltre a nessuna community o plugin, è d'intralcio. – Angela

Problemi correlati