2009-06-25 13 views
14

Sono uno sviluppatore che sta cercando un framework di applicazioni Web pronto per l'azienda per Python. La mia preoccupazione principale è il supporto a lungo termine, l'ampio set di funzionalità e l'affidabilità.I piloni sono pronti per le aziende?

Ho sperimentato con Pylons e dopo la mia terribile esperienza con Ruby on Rails su Windows, in cui ho dovuto anche compilare il mio driver Postgres, Pylons e Python sono stati una manna dal cielo.

Credo che Python, a causa di una comunità molto forte e di un interesse commerciale, sia decisamente "enterprise-ready" a causa del numero di librerie disponibili e dei loro sforzi per mantenere una parvenza di compatibilità con le versioni precedenti per Python 3.0. La mia preoccupazione è:

Possiamo dire tutti la stessa cosa per i piloni 0.97?

In una nota a margine, ho capito come far funzionare SQLAlchemy con DB2 su Pylon in modo da poter automatizzare le operazioni CRUD di base. L'attuale driver DB2 su http://code.google.com è abbastanza inutile e supporta solo SQLAlchemy 0.4. Pensi che IBM si impegni a fare funzionare DB2 con SQLAlchemy a lungo termine? O ragazzi, sentite che è meglio creare un'interfaccia SQLAlchemy con il driver ODBC fornito con DB2. Eventuali svantaggi rispetto all'utilizzo del driver SQLAlchemy di IBM?

+0

Inserisci le frasi per favore. –

+0

Wow ragazzi ... grazie mille per le risposte. Per favore, tienili venire. Cercherò di rispondere individualmente a ognuna delle tue ulteriori domande. Finora il django sembra> piloni ma in particolare mi piace la risposta di Tom Willis riguardo alla capacità di sqlalchemy di gestire sql raw ed ecc. La mia preoccupazione principale è il continuo supporto per piloni e sqlalchemy. Ma risponderà direttamente a Tom. Grazie mille ancora –

risposta

39

Quando si tratta di enterprise ready, non sono sicuro di quanto più pronto uno stack che usa Pylons con SQLAlchemy può essere nel mondo Python. Sei pronto per enormi database legacy con schemi pazzi (totalmente comuni nei grandi mondi aziendali), qualcosa in cui Django cade a pezzi. Sicuramente, in Django, lo potrebbe ancora usare SQLAlchemy, ma poi tutti gli strumenti di contribuzione di Django cadono a pezzi poiché tutti si basano sul presupposto che tu stia facendo le cose in modo "Django".

I piloni sono in circolazione da metà 2005 e non stanno andando da nessuna parte. In realtà è piuttosto maturo e ha un programma di rilascio abbastanza lento e solido di 6-10 mesi tra le versioni, con un bel po 'di test. Uno degli sviluppatori core di Pylons è anche uno sviluppatore su Jython che garantisce che Pylons possa funzionare sulla JVM (che aiuta a ottenere app basate su Pylon in ambienti aziendali ostili a cose che non possono essere impacchettate in un file WAR per l'implementazione).

Per quanto riguarda alcune delle "risposte" qui, la domanda è se Pylons è pronto per l'impresa, non ho idea del motivo per cui gli altri non sono stati in grado di leggere la domanda e invece ha scelto di iniziare a predicare il proprio framework preferito. È abbastanza sciocco dire che dovresti usare Django/Zope/Grok perché ha "maggiore diffusione" o "grande comunità", se questo è il criterio che la scelta dovrebbe essere PHP, il che rende le comunità Django e Zope un po 'bizzarre a confronto . I piloni hanno sicuramente una community abbastanza grande per sostenersi da sola, specialmente perché la sua base di codice piuttosto snella e compatta non coglie quasi tutti i bug del framework "kitchen sink" di Zope/Django.

+0

Ciao, Ben! Sono immensamente onorato di sentire la tua risposta schietta e ragionevole. Hai fatto un sacco di lavoro per il meraviglioso framework Pylons e lo apprezzo molto. Attualmente sono MOLTO interessato a Pylons ma sono rimasto molto ansioso per il supporto di IBM per il driver DB2 per SQLAlchemy. Deve ancora essere aggiornato a SA 0.5 da SA 0.4 quando Pylons 0.97 dipende da SA 0.5. Concordo con le vostre opinioni su "maggiore diffusione" ma osservando che sostenete che Pylons "non sta andando da nessuna parte" non accetterebbe che una comunità più grande indicherà più sostegno? –

+0

Inoltre, sono passato a Pylons da ROR a causa della mancanza di supporto per gli sviluppatori di Windows e per il fiacco driver di ruby-pg. Ha impiegato molto del mio tempo e mi ha fatto diventare terribilmente frustrato. Devo chiarire con 'enterprise ready' la mia preoccupazione principale è l'affidabilità, il supporto per il codice legacy e la longevità. Finora, sono stato abbastanza felice con Piloni, ecco perché la domanda. Ma spero che IBM continui a supportare SA per DB2 e Python. –

+3

Bene, per il supporto legacy, Pylons è attualmente quasi 1/3 del supporto precedente per le versioni precedenti di Pylon. Non abbiamo "aspettato" per 1.0 prima di decidere che i primi utenti dovrebbero avere il supporto legacy. Piloni 1.0, che è previsto nei prossimi 6 mesi, rilasciano il supporto legacy, ma allo stesso tempo rilasciano un traliccio 0.10 contenente avvisi di deprecazione per un aggiornamento più agevole a 1.0. Per quanto riguarda il supporto, sarà probabilmente più difficile ottenere il supporto per Python DB2 rispetto al supporto Pylons. –

2

Direi che se sei preoccupato per il supporto di livello enterprise, dovresti dare un'occhiata più a Django. Sebbene tu possa discutere dei relativi meriti tecnici dei due framework, non c'è dubbio che Django abbia la maggiore diffusione, e ci sono molte grandi aziende che lo usano.

Un ulteriore motivo è che IBM ha rilasciato (solo negli ultimi giorni) uno Django driver for DB2, quindi non dovresti avere problemi ad usare il tuo database esistente con l'ORM Django.

+0

Grazie per aver condiviso il driver di IBM per Django. Ho parlato con uno degli sviluppatori di IBM riguardo un driver DB2 per SQLAlchemy e apparentemente, sarà fatto entro la prossima settimana. Spero il meglio e quel pilota sarà pronto per la produzione. –

0

In secondo luogo mi piacerebbe chiamare Django. Io in realtà preferisco piloni, perché è molto più snello di Django, ma considerando che si specifica "pronto per l'impresa" penso che si potrebbe desiderare di proteggersi verso il quadro più ampio e portare con sé il lavandino della cucina.

+7

un quadro "lavello da cucina" almeno w.r.t. le combinazioni di controller/visualizzazione (come auth, posting comment) sono esattamente ciò che * non * si vorrebbe usare per un progetto più ampio. Accumulare comoponents preconfezionati significa che avrai un'applicazione complessa in cui nessuno dei componenti fa esattamente quello che vuoi o funziona esattamente come ti serve. Se vuoi davvero "out of the box" ci sono molti servizi web che offrono blog, anche commenti, ma non li usi neanche tu, giusto? troppa scotch, non abbastanza architettura onesta. – zzzeek

+0

Hrm, ho appena notato che puoi commentare, che è bello, perché questo merita uno. Hai un punto eccellente. – JohnMetta

0

+1 per Django

Piloni è un buon quadro, ma si dovrà corrispondere tutti i componenti per creare il proprio architettura, quindi penso che sia più appropriato per i progetti più magri. Per qualcosa di più grande, suggerisco Django, che è noto per essere in produzione su alcuni siti di grandi dimensioni.

IBM recently released a DB2 back-end for Django, quindi potrebbe adattarsi bene.

0

Se si desidera che le strutture che probabilmente non scompariranno in qualsiasi momento guarderanno Django e uno dei framework nella comunità Zope (Grok, BFG, Zope3). Zope ha una grande comunità ed è in giro da più di dieci anni e non se ne andrà presto, ed è un terreno fertile per molte delle nuove tecnologie web Python. Django è più recente e solo di recente è arrivato nella versione 1.0, ma ha una community molto ampia e resterà anche in giro più o meno per sempre.

+0

Grazie mille, Lennart. Suppongo che leggerò su Zope!Non sapevo che Django avesse un supporto così travolgente anche se –

+0

Sì, il Django è forte qui su Stackoverflow. :) –

1

definire enterprise ready.

Inoltre, se si parla di scalabilità, direi che si ha uno scatto migliore con sqlalchemy dato che è possibile passare a sql raw quando necessario. Considerando che il pattern Record attivo sembra essere la causa di gran parte del valore dei framework di alto livello, questo può portare a problemi di scalabilità se si stanno gettando le cose insieme.

Naturalmente "enterprise ready" per alcune persone significa complicato e costoso, questa è la tua definizione, piuttosto che dire che nessun framework web Python soddisferà le tue esigenze.

+0

Ciao Tom, grazie mille per il tuo aiuto. Per "pronto per l'impresa", mi dispiace di non averlo definito abbastanza bene nella mia domanda. Sono preoccupato per la tabella di marcia per Python (non un grosso problema, credo), piloni e sqlalchemy (che temo che la base utenti potrebbe non essere abbastanza grande da garantire un uso continuato) Intendo usare SQLAlchemy per automatizzare semplici operazioni CRUD mentre la maggior parte di SQL sarà sotto forma di stored procedure, credo. Questo è pensato per una serie di app intranet che sto creando per un'azienda. Quindi il supporto futuro è essenziale per me nel decidere la mia piattaforma –

+0

Abbastanza corretto, non saprei come affrontare direttamente i problemi di longevità o stabilità di una data API. Probabilmente dipende dalle preferenze. Per me, se riesco a capire la magia che sta succedendo, allora posso sostenerla. Non potrei mai del tutto digerire cosa diavolo succedesse nei binari, e di conseguenza finirò spesso per combattere la struttura più di quanto mi abbia aiutato. solo mio .02 –

1

Considero un software pronto per l'azienda quando ha stabilità e supporto.

Credo che Pylons/Python sia stabile. Ci sono molti siti che usano Pylon (incluso uno dei siti con il maggior traffico, reddit.com).

Supporto saggio Considererei aspetti come quanto sia facile assumere persone che conoscono piloni o acquistare contratti di assistenza. Questo è un po 'più difficile. Se si prevede di sostenere in casa piloni è più che pronto per andare. Se stai cercando supporto per avere qualcuno che si assuma responsabilità quando il software si interrompe, potresti voler guardare altrove.

+0

Ciao Jeff grazie per i tuoi commenti. Penso che Pylons abbia il potenziale per fare un sacco di cose incredibili, ma comunque, per azienda pronta, è molto molto critico per avere longevità. Perché ci vogliono mesi/anni per padroneggiare veramente un linguaggio (Python) e un framework (Pylons) e non è saggio investire il tempo e gli sforzi su un framework che non aggiunge continuamente nuove funzionalità per stare al passo con la curva. E per le aziende pronte, mi aspetto una documentazione estesa (non il codice sorgente!) Per far crescere i team interni sulla nuova tecnologia. Comunque sono d'accordo che Pylons è incredibile. –