2013-04-04 7 views
10

Sto cercando di scegliere tra django e yii per web-app scalabile e manutenibile di livello enterprise con un backend di database (preferibilmente mysql). L'app è principalmente focalizzata sull'inserimento dei dati, ma con flussi di lavoro personalizzati (oltre alle forme di base autogenerate di base) e rapporti personalizzati. Ho uno sfondo di CS, familiarità con MVC, programmazione di background in C++, C#. 8 anni fa costruì un'applicazione simile usando php, mysql, perl/cgi e ricordando che era dolorosa (facendo tutto da zero con una curva di apprendimento ripida). Ho bisogno di imparare di nuovo la sintassi python o php ma prendo le lingue abbastanza velocemente. Leggi ampiamente online su django vs yii. Impossibile percorrere la rotta .net mvc a causa della necessità di open source. Dabbled in RoR, ha adorato il linguaggio ma non mi sento molto a mio agio con la magia che ancora accade, specialmente per un'app di produzione. Forse in futuro. Ma torniamo al Django vs Yii -django o yii per creare un'applicazione web di produzione con db e con moduli e report personalizzati

fattori decisionali sono:
1) di apprendimento più facile curva
2) quadro più adatto per compiti specifici che avrei bisogno - pesanti manipolazioni db, il flusso di interfaccia utente personalizzata (niente di troppo GFX elementi formali intensi, solo regolari, ma in cui ho bisogno di manipolare i dati su più tabelle tramite join ecc.)
3) nessuna brutta sorpresa con db connect (leggi ma non hai compreso appieno tutti i trucchi con django orm e mysql).
4) qualcosa in cui io non sto combattendo il quadro/lingua per le cose di base
5) tempo di funzionamento scalabile e veloce (lo so Molto dipende da come un architetto della soluzione)

consiglio prega. In cerca di aiuto da qualcuno che abbia familiarità con il fatto di aver lavorato in entrambi i framework. grazie mille

+0

Ho esperienza sia con django che con yii .... entrambi sono adorabili ... Ma yii è più adorabile ..... Ma il django ha più prestazioni ... quasi più del doppio di Yii + apc .. .... Quindi django è il vincitore .... – MYNE

risposta

8

Il mio suggerimento sarebbe Django. I moduli in Django sono classi e di tutti i framework in cui ho lavorato negli ultimi 16 anni, dal classico ASP al .NET, Rails e Java, metterei il modo di fare di Django contro qualsiasi di loro.

Sud rende ridicolmente semplice eseguire migrazioni di schemi e dati.

Suggerirei di usare Postgres su MySQL, specialmente se si sta facendo leva su Django ORM, dato che è un po 'più ottimizzato per Postgres. Se non hai bisogno dell'amministratore di Django e devi usare MySQL, potresti dare un'occhiata a SQLAlchemy e Alembic.

La curva di apprendimento di Django è molto piatta. È incredibilmente facile da imparare ed è estremamente ben documentato.

Mio $ 0,02.

+0

grazie mille per le risposte. Controllerò Django. Un'altra domanda - ho sentito che i progetti di Django sono più difficili da implementare sui server Apache rispetto a quelli basati su php. qualche idea se questo è il caso? – webnew2013

+0

Niente affatto. Quasi tutte le mie app freelance vengono distribuite a WebFaction, direttamente da Beanstalk con un solo clic. La configurazione di un ambiente Django su WebFaction è di due clic. Al mio lavoro, distribuiamo ad AWS utilizzando Fabric e Autoscale da lì. È davvero abbastanza semplice. – Brandon

11

So che questo è vecchio ma mi sento come se potessi aggiungere a questo, avendo usato entrambi i framework.

Yii è una struttura solida e veloce. Non è abbastanza sicuro da subito come Django a causa di alcune cose (protezione contro la falsificazione delle richieste cross-site, per esempio) non abilitate o forzate di default. Per me il singolo vantaggio più grande è stato il generatore di codice integrato, perché una volta capito e iniziato a usarlo, in pratica sputa un'applicazione CRUD completa in pochi minuti.

Django è la mia struttura di scelta, perché Python è il principale vantaggio di Django. Non mi sto appassionando a PHP, mi piace molto il linguaggio, ma l'oggetto pulito orientato agli oggetti di Python (che una parola?), L'ereditarietà delle classi, ecc. Brilla davvero con una struttura come Django. Non c'è un generatore di codice integrato in Django, che è stata una scelta deliberata da parte degli sviluppatori. Questa è sia una forza che una debolezza. Il generatore di codice di Yii può diventare un po 'una stampella se stai davvero cercando di imparare il framework, ma con Django, una volta che hai imparato come funziona, puoi entrare e cambiare qualsiasi cosa, perché l'hai creato da solo, e ti costringe per imparare bene il quadro. Con Yii, quando hai il tuo codice generato e devi fare una personalizzazione, ALLORA potresti iniziare rapidamente a combattere il framework.

L'ORM di Django è molto flessibile, io stesso sono un ragazzo SQL e penso di aver usato SQL raw nelle mie applicazioni esattamente una volta. Yii's è abbastanza buono, ma a Django mi piaccio molto, e Django è estremamente ben documentato.

L'installazione di Yii è leggermente più semplice di Django, nella mia esperienza. Django ha bisogno di un po 'più di lavoro per alzarsi e correre. Django's tutorial è molto, molto più forte di quello di Yii, almeno lo è stato quando ho iniziato.

+0

"..Non c'è un generatore di codice incorporato in Django ..", non è un amministratore di django -produzione pronta- un generatore di codice? – elsadek

+0

L'amministratore viene creato automaticamente ma non lo crea nella posizione del file di sviluppo come fa Yii. È possibile personalizzare l'amministratore in Django ma principalmente tramite la funzionalità incorporata di override. Yii, d'altra parte, ti lascia fondamentalmente un insieme di codice che puoi poi costruire e personalizzare direttamente, il che mi ha aiutato ad imparare molto più velocemente. – trpt4him

+0

Completamente d'accordo con te ... Python è il suo massimo sforzo ... Che quadro! – MYNE

2

Yii è eccezionale. Potrei imparare e andare avanti entro un paio d'ore. Ho faticato a configurare Django a causa della confusione della configurazione e della mappatura degli URL necessari per far funzionare qualsiasi cosa. Non ho dubbi che Django sia eccellente una volta che lo impari, ma nella mia esperienza Yii è stato molto più facile da imparare.

Vorrei davvero che qualcuno portasse Yii a Python.

Problemi correlati