2012-10-08 14 views
92

Voglio intraprendere il percorso di sviluppo web e avere una carriera come sviluppatore web usando Python, e voglio davvero imparare Django perché è un framework web completo e sarà più utile per me quando cerco un lavoro come web sviluppatore.Flask o Django per un principiante?

Ma un amico mi ha detto di iniziare con Flask in quanto è più semplice e mi aiuterà quando inizierò ad imparare Django, poiché Django è più complicato di Flask. Così Flask mi faciliterà le cose quando inizierò ad imparare Django.

Quindi dovrei iniziare con Flask, sapendo che alla fine imparerò Django? O semplicemente inizi a imparare Django?

+2

Ho creato un foglio di lavoro per aiutare altri sviluppatori a decidere tra Flask e Django. Puoi passarci sopra e ottenere un "risultato" della migliore struttura da utilizzare: https://wakatime.com/django-vs-flask-worksheet –

+1

So che è una vecchia domanda, ma questo sicuramente aiuterà i principianti come noi [ Django VS Flask] (https://www.youtube.com/watch?v=zGqmRbkukk8) – Suresh2692

risposta

1

Dovresti iniziare a giocare con entrambi e usare quello che ti piace se non sei obbligato a usarne uno. Si noti inoltre che l'apprendimento di uno di essi faciliterà molto probabilmente l'apprendimento dell'altro.

12

IMHO Vorrei andare dritto per Django. Molto probabilmente potrebbe essere più difficile imparare per una semplice app o sito Web, tuttavia, direi che la quantità di supporto e documenti disponibili online supera di gran lunga qualsiasi altro framework web Python.

Inoltre, come dici tu, Django è un vero framework di utilizzo del mondo. Se hai intenzione di usarlo, potrebbe essere una perdita di tempo imparare qualcos'altro e poi disimparare quello per imparare Django. (come qualsiasi spostamento di tecnologia comporta alcuni disimparare)

Questo è tutto soggettivo e solo la mia opinione.

15

Flask è una micro-struttura ma questo non lo rende più semplice.

Semplicemente non si fanno molte ipotesi sull'ecosistema/librerie che si intende utilizzare. Lascia tutto a te.

Che a sua volta, penso che questo significhi che è indirizzato agli sviluppatori di gran lunga più esperti.

Django ha una curva di apprendimento più ripida perché, come hai detto, è a pila intera. Applica su di te il proprio ORM, la struttura del modulo, ecc. Ma astrae un sacco di complessità che altrimenti avresti a che fare con.

Sono d'accordo con Daniel. Andrei direttamente a Django se fossi nella tua posizione.

145

Si consiglia di iniziare con Flask. Con Flask, scriverete esplicitamente le vostre funzioni di percorso, renderete i vostri modelli di rendering dei percorsi, ecc. Usando tutte le funzioni di Python che già conoscete. C'è poca "magia". Puoi vedere esattamente come sta accadendo tutto e capire perché sta accadendo. La documentazione di Flask è anche molto carina e concisa, quindi puoi leggerla e imparare Flask in poche ore, passare diverse serate imparando a fare un'applicazione completa e poi passare a Django. L'investimento nel tempo è piccolo, ti darà una grande preparazione per Django e avrai imparato a conoscere un ottimo micro-framework. A volte prototipo progetti in Flask prima di costruirli in Django.

Django, sebbene più completo, ha una struttura e una convenzione definite, quindi può essere un po 'più misterioso per un principiante capire come tutto si adatta. Se sei nuovo nello sviluppo web, potresti avere qualche confusione sul fatto che stai facendo qualcosa perché è una convenzione di sviluppo web o se lo stai facendo perché fa parte della convenzione/organizzazione Django.

Se puoi passare qualche giorno o una settimana a giocare con Flask prima di passare all'apprendimento di Django (il tuo obiettivo originale), penso che valga la pena. Entrambi sono ottimi quadri. Benvenuti nel mondo dello sviluppo Web.

+4

Hmmm, ho già iniziato a django. Realizzato alcune pagine dinamiche e statiche, ho iniziato a capire bene le cose. Quindi hai un link che spiega cosa succede sotto il cofano, invece di imparare la fiaschetta? Perché sei una specie di chiacchierone convincente: D –

+1

Non ho un sommario di Django, sfortunatamente. Una cosa che i nuovi sviluppatori sono spesso confusi su come funziona il routing. Ecco la descrizione per il routing Django https://docs.djangoproject.com/en/dev/topics/http/urls/ ed ecco la descrizione per il routing Flask http://flask.pocoo.org/docs/quickstart/#routing Sembra che tu abbia già fatto una buona partenza su Django. Controlla il tutorial di Django se non lo hai già fatto - è abbastanza decente. – dghubble

+3

@dghubble Grazie mille per la risposta ben motivata e ben scritta. So che questa domanda è stata chiusa come "non costruttiva", ma devo dirti che la tua risposta mi ha aiutato a capire cosa sia Flask e come potrei avvicinarmi a cose che si spostano in Python come linguaggio webdev primario. Sei forte! :-) –

6

Quindi, non sono sicuro che stai confrontando le mele con le Pommes qui. Sono un utente Django esperto e ho appena iniziato a usare Flask. La filosofia di Django fin dall'inizio è che dovrebbe essere un quadro di batterie incluso, mentre Flask è un approccio molto vicino alla batteria. La domanda è: vuoi avere un framework che è tutto ciò che ti serve per imparare come costruire siti web ricchi, o vuoi un framework che è solo il fondamento e sei a tuo agio nel valutare le opzioni disponibili? per tutti i dadi e bulloni?

Inoltre affermi che stai cercando una carriera nello sviluppo del web e una cassetta degli attrezzi per andare con esso. Trovo che anche oggi i datori di lavoro hanno spesso nel migliore dei casi "sentito parlare di" Django. Convincere qualcuno a impiegare te e la tua struttura di riferimento è Flask potrebbe essere una vendita ancora più difficile.

I miei 2cents sarebbero di rimanere bloccati in Django e creare alcuni siti semplici (sondaggi, blog, ecc.) Quindi quando ti senti a tuo agio, torna indietro e costruiscili di nuovo usando Flask. Alla fine, è tutto Python.

25

Ho avuto la stessa situazione quando volevo provare Python per lo sviluppo web :) E sono andato con Django. Mentre a volte è difficile capire tutta la magia di Django, è bello e pieno di cose molto utili. Se ti piacciono gli ORM, Django ne ha uno buono. Ha anche un pannello di amministrazione. Anche le viste generiche sono buone :) Fondamentalmente è un framework molto bello e quando si eseguirà la prima app online, lo sviluppo del secondo sarà divertente :)

Ma dopo un po 'di tempo, ho trovato Flask. E ora ci sto lavorando. Perché? Perché a volte mi piace costruire e creare cose da solo, voglio imparare e sapere come funzionano le cose. Flask è una cosa minimalista e creerai tutta la "magia" che Django ha già. Sono felice di aver iniziato con Django, solo perché ora posso usare alcuni principi da lì nelle mie app Flask. Flask ha meno utenti, ma finora non è stato un grosso problema per me. Ha anche estensioni che ti aiutano già con alcune cose. E mentre ORM non è costruito così profondamente come in Django, mi piace, perché odio gli ORM (chiamami vecchio stile, ma continuo a pensare che SQL raw sia molto più efficace nei miei casi).

La cosa migliore sarebbe provare entrambi e scegliere quello che ti piace. I ragazzi esperti possono dare consigli che uno è migliore di un altro, ma direi - prova! Se vedi che stai rompendo le gambe con Django, forse Flask ti aiuterà. O in altro modo.

Buon divertimento!

+0

Il Pannello di amministrazione di Django presenta vantaggi (CRUD out of the box) e svantaggi (codice "nascondi"). Penso che Flask e Django siano fantastici, quindi sono d'accordo con Ignas. – Timo