Se dovessi creare un'app come Craigslist, utilizzeresti un framework standard o scrivi il tuo?

3

Il titolo è la domanda. E perché sto chiedendo è perché da quello che ho letto sulla maggior parte dei framework PHP (ad esempio Code Igniter, Kohana, Cake, Zend) è che sono eteri troppo complessi, o sono progettati principalmente per piccole applicazioni (come i blog).

    
posta mvbl fst 07.01.2011 - 23:08
fonte

8 risposte

18

Avrei sempre utilizzare un framework off-the-shelf. Non c'è quasi mai una ragione buona per costruirti da zero. Trascorrerai molto più tempo con il lavoro di impianto idraulico e la risoluzione dei bug scrivendo la tua piuttosto che affidarti a metodi testati e ottimizzati già esistenti nei pacchetti del sistema operativo. La maggior parte dei framework ha metodi incorporati per estenderli se necessario e, in caso contrario, sento che i framework PHP sono abbastanza facili da installare e modificare se necessario;)

Il mio suggerimento è di valutarne alcuni e scegliere quale si adatta alle tue esigenze. Ho provato Yii, Kohana e CodeIgniter e ho trovato CodeIgniter per avere la più piccola curva di apprendimento e tuttavia fornisce (quasi) tutte le funzionalità di cui avevo bisogno per la mia applicazione. Per funzionalità non incluse nella confezione in CI, espongono i ganci per la personalizzazione.

    
risposta data 07.01.2011 - 23:15
fonte
11

Ho scritto praticamente tutti i miei siti da zero. Nel mio caso, la ragione è principalmente perché mi piace creare cose ed è anche un ottimo modo per imparare. È molto meno divertente per me dedicare del tempo a cercare di imparare il codice di qualcun altro piuttosto che crearne uno mio.

Ma questa è solo una ragione personale. Se trovi un bel pacchetto pronto per l'uso che fa esattamente ciò di cui hai bisogno, allora potrei sicuramente capire di usarlo.

    
risposta data 07.01.2011 - 23:17
fonte
3

Se la tua motivazione principale è ottenere qualcosa (al contrario dell'apprendimento), il mio consiglio generale è che prima andrei con ciò che già sai e con cui sono a mio agio, in grado di gestire bene il lavoro. Se un'attività supera le tue capacità al momento, allora cerchi un pacchetto che estenda le tue capacità per gestirlo.

    
risposta data 07.01.2011 - 23:17
fonte
3

Sono circa il 90% fatto con un'applicazione di tipo craigslist. L'ho creato da zero usando PHP diretto, e le cose sono andate abbastanza bene. Stiamo ultimando le cose e aggiungendo alcune funzionalità avanzate che non vedi in nessun sito web classificato.

    
risposta data 07.01.2011 - 23:19
fonte
1

I framework di programmazione sono utili quando stai lavorando a stretto contatto con un gruppo di sviluppatori, hai scadenze strette, hai bisogno di implementare web api come Twitter e Facebook, e stai sviluppando grandi sistemi con 10+ tabelle DB.

Se stai codificando da solo, su piccoli progetti personali o su siti che non sono critici dal punto di vista del tempo, e fondamentalmente esistono nel vuoto, allora farlo a mano senza un framework va bene, ed è più veloce.

Ho realizzato CMS completamente personalizzato entro due settimane senza un framework. Il rovescio della medaglia, quando codice con altri sviluppatori, avere sistemi come CVS / SVN / Git e seguire le convenzioni di un framework sono inestimabili. Le mie eccentricità di codifica da solista non confondono gli altri sviluppatori, proprio come le loro eccentricità di codifica da solista non mi confondono, quando usiamo tutti un framework. Inoltre, non è necessario riscrivere un'intera classe OAuth di Twitter e la classe API di Twitter, che richiederebbero una settimana o più a mano.

    
risposta data 26.03.2011 - 05:45
fonte
0

Vorrei usare Codeigniter. È il meno simile a un framework rispetto a Zend, Kohana, Yii, Cake, Symfony e qualsiasi altro framework PHP noto. Ha un piccolo ingombro, è facile da imparare e molto potente. L'unico lato negativo non è l'ACL pronto all'uso, ma ci sono molte ottime librerie pre-scritte là fuori per aggiungerlo.

Lo uso da un po 'di tempo e ho scritto su entrambe le applicazioni piccole e molto grandi. E quando dico grande intendo quasi tipo di impresa di grandi dimensioni. A causa della NDA, non posso dire esattamente cosa, ma credimi, Codeigniter non ha limiti in termini di ciò che può essere fatto con esso.

    
risposta data 09.01.2011 - 06:15
fonte
0

Io sceglierei sempre di scriverlo da solo.

L'apprendimento da solo è una ragione sufficiente (e perché non condivido la risposta di Demian Brecht). Nel nostro campo di carriera, la conoscenza è il re. Più ne hai, più sei prezioso come risolutore di problemi.

Ma l'altra cosa è: ho sempre la convinzione di poterlo fare meglio. Forse è l'ego a parlare, ma ci credo.

    
risposta data 10.01.2011 - 21:22
fonte
0

Dipende davvero dal contesto dell'applicazione.

Se questo fosse semplicemente un sistema di annunci classificati per un gruppo o una chiesa della comunità locale, userei un sistema in scatola.

Se questa fosse l'applicazione principale per un'azienda, la scriverò da zero. In questo modo la base di codice è nota al 100% e capita, e sarebbe progettata specificamente per l'attività in corso. Non sarebbe completamente "da zero", immagino, visto che riuserei / adotterò molte classi da altri progetti, e sono sicuro che ci sarebbero pezzi di terze parti usati per varie funzionalità (mailing, generazione di immagini , eccetera). Ma la struttura di base dell'applicazione sarebbe progettata specificamente per l'applicazione dall'azienda e non si baserebbe su un framework di terze parti.

    
risposta data 10.01.2011 - 21:34
fonte

Leggi altre domande sui tag