Tīmekļa ietvari tīmekļa izstrādātājiem padara izstrādi pēc iespējas vienkāršāku. Tomēr Python, viena no populārākajām programmēšanas valodām, ir saņēmusi daudzus ieguldījumus saistībā ar tās pielietojumu aizmugursistēmas izstrādē.

Python ir daudz tīmekļa ietvaru. Šīs sistēmas ietilpst makro vai mikro kategorijās. TurboGears, Web2Py, Pyramid un Django ir daži no Python makro tīmekļa ietvariem. Tikmēr Flask, CherryPy un Bottle ir mikroietvaru piemēri.

Tomēr visbiežāk izmantotie piemēri abās kategorijās ir Django un Flask. Šī iemesla dēļ apskatīsim abus ietvarus, lai palīdzētu jums izlemt, kura apguvei ir vērts veltīt vairāk laika.

Ietvaru pamatstruktūra

Neskatoties uz Python ietvariem, Django un Flask arhitektūra pilnībā atšķiras viena no otras. Apskatīsim, kā to arhitektūra ietekmē jūsu kā lietotāja izvēli.

Django struktūra

Tā kā Django tiek izmantots sarežģītāku Python tīmekļa lietotņu veidošanā, tam ir spēcīga arhitektūra, kas nodrošina mērogojamību. Tas ir Modelis-Skatīt-Veidne (MVT) struktūra padara to par ideālu sistēmu pilnas steka izstrādei. Tātad, ja meklējat veidu, kā uzzināt par tīmekļa izstrādes priekšgala un aizmugursistēmas aspektiem un izmantot Python kā servera puses valodu, Django joprojām ir labākā izvēle.

instagram viewer

Papildus plašam izstrādes pakotņu klāstam un iepriekš izveidotai Python failu struktūrai, Django piedāvā iebūvētu Objektu relāciju kartētājs (ORM), nodrošinot elastīgu piekļuvi dažādām datu bāzēm. Būtībā jums nav jāraksta daudz vaicājumu, lai ievietotu vai izsauktu objektus no datu bāzes.

Kad veidojat tabulas, izmantojot Django modeļus, viss, kas jums jādara, ir jādefinē šo tabulu atribūti savā datu bāzē atsevišķos objektos. Pēc tabulu pārvietošanas uz datu bāzi neapstrādātie vaicājumi, kas veido šīs tabulas, tiek automātiski iekļauti jūsu migrācijas failā.

Tādējādi Django ORM palīdz jums tikt galā ar papildu darbu, kas saistīts ar atsevišķu vaicājumu rakstīšanu jūsu datu bāzei. Un, ja vēlaties vairāk koncentrēties uz vietnes darbību, neuztraucoties par trešās puses datu bāzes injekcijas konfigurēšanu, Django varētu būt izvēle.

Kolbas struktūra

Flask piedāvā minimālu arhitektūru salīdzinājumā ar Django. Tas ir mikroietvars, kas nav tik sarežģīts kā Django. Atšķirībā no Django MVT arhitektūras, Flask seko biežākajai Modelis-Skati-Kontrolieris (MVC) struktūra.

Tomēr Views un Controller of Flask ir sinonīmi attiecīgi Django veidnēm un skatiem. Tas nozīmē, ka Django Views vietā jūs saņemat kontrolierus kolbā. Un Views of Flask aizņem Django's Templates funkcijas.

Atšķirībā no Django, instalējot Flask savā virtuālā vide un atveriet savu projektu, jūs saņemat tukšu failu direktoriju. Tas nozīmē, ka faili ir jāsāk izveidot manuāli.

Tādējādi, ja vēlaties izvairīties no sarežģītās Django struktūras, Flask ir lieliska izvēle, kas jāapsver. Tomēr, tā kā Flask ir viegls, tas nepiedāvā tik daudz iebūvēto pakešu kā Django. Un, lai izmantotu ORM līdzekli programmā Flask, jums ir nepieciešama trešās puses datu bāzes ievadīšanas pakotne ar nosaukumu SQLAlchemy.

Saistīts: Svarīgas SQL komandas, kas jāzina katram programmētājam

Vienkārša mācīšanās un iespēja iedziļināties

Runājot par mācīšanās vienkāršību, Django ir saistīts ar daudziem pagriezieniem, kas jums var kļūt garlaicīgi. Tomēr Flask varētu būt interesantāk mācīties, jo ir daži pielāgojumi, kas ir saistīti ar jūsu lietotnes darbību.

Django sarežģītības un plašā pielietojuma dēļ dažādos izstrādes leņķos, piemēram, tā REST ietvara lomai pārlūkojamā API izstrādē, mācīšanās līkne var kļūt mulsinoša. Bet, ņemot vērā to, funkcionalitāte vien varētu būt labs iemesls, lai iemācītos Django neatkarīgi no tā.

Lai gan Flask ir arī REST paplašinājums API veidošanai, tas joprojām nepiedāvā pilnībā aprīkoto un iebūvēto API struktūru, ko nodrošina Django. Taču, ja ņemam vērā to, cik viegli ir izvēlēties kādu no ietvariem kopumā, Flask ir draudzīgāks iesācējiem.

Un, tā kā jūs veidojat lielāko daļu savienojumu un strukturējat sevi pakalpojumā Flask, tas sniedz jums pamatzināšanas par tīmekļa izstrādes darbplūsmu, izmantojot Python. Atšķirībā no Django, tas ir tiešs ietvars, kas koncentrējas uz to, ko plānojat, nezaudējot kontroli pār to, kā jūsu faili tiek savienoti.

Ja jums jau nav daudz zināšanu par Python, Flask apguve varētu būt ideāls veids, kā sākt. Turklāt kodu rakstīšana Flaskā lielākoties līdzinās tīra Python rakstīšanai.

Tomēr, ja vēlaties izvēlēties sarežģītāku Python Framework, kas sniedz jums lielāku saskarsmi ar standarta tīmekļa izstrādes prakse, nedomājot daudz par iekšējo vadu, Django varētu būt pareizais izvēle. Tas nenozīmē, ka nevarat ienirt dziļāk ar Flask, kā minēts iepriekš, tas ir lielisks veids, kā sākt mācības ar Python tīmekļa ietvariem.

Lietotāju bāze un kopiena

Neskatoties uz to, ka Flask ir viegli apgūstams un viegls, tā popularitātes ziņā atpaliek no Django. Robustums, versijas izlaišanas stabilitāte un tīmekļa lietotņu izstrādes ātrums, izmantojot Django, ir daži no iemesliem, kāpēc lielākā daļa izstrādātāju to izvēlas.

Un, aplūkojot viņu tendences vietnē Stack Overflow, Django tiek apspriests nedaudz vairāk nekā Flask. Tas nozīmē, ka pastāv liela Django kopiena, kas var lūgt palīdzību, ja rodas problēmas. Tomēr tas nepadara Flask mazāku sistēmu arī kopienas atbalsta ziņā.

Turklāt atšķirība starp to popularitāti nav tik būtiska. Saskaņā ar 2020. gada izstrādātāju aptauju, kā ziņots JetBrains tīmekļa vietnē Django popularitāte ir 49 procenti, savukārt Flask ir 46 procenti. Tā ir tikai 3 procentu atšķirība.

Šai statistikai vien vajadzētu nomierināt jūsu bailes un satraukumu par Flask atbalsta kopienas pieejamību. Tāpēc neatkarīgi no tā, cik iestrēdzis jūs esat, vienmēr ir risinājums, uz kuru atgriezties.

Kādiem projektu veidiem kalpo katrs ietvars?

Viena no Django funkcijām ir tā, ka varat izveidot vairākas lietotnes un saistīt tās, izmantojot īpašus URL. Tas padara Django par izvēles sistēmu sarežģītāku lietojumprogrammu veidošanai, kurām nepieciešama nākotne mērogojamība.

Tomēr ir iespējams arī izveidot sarežģītas lietotnes, izmantojot Flask, taču tas neatbilst tā pašreizējai arhitektūrai. Tas ir vairāk piemērots vienkāršu lietotņu izveidei, kuru darbībai nav nepieciešama sarežģīta infrastruktūra.

Lai gan Django piedāvā mērogojamību, jums joprojām nav pilnīgas kontroles pār tā vienībām. No otras puses, kolba piedāvā vienkāršību, taču sniedz jums iespēju iegremdēt rokas dažādās tā sastāvdaļās. Tas ir tāpēc, ka programmā Flask lielāko daļu bloku mēdzat rakstīt pats, minimāli atkarīgi no trešās puses pakotnēm.

Kuru no Python Web Framework jums vajadzētu izvēlēties?

Mēs esam apsprieduši abus ietvarus bez mērķa novietot vienu virs otra. Tātad, pamatojoties uz to, ko jūs tagad zināt, labākais Python tīmekļa ietvars, ko sākt mācībām, ir atkarīgs no jūsu esošajām spējām un lietošanas gadījuma.

Tomēr labāka pieeja ir zināt Python pamatus. Pēc tam varat izmēģināt vienkāršu sistēmu, pirms pāriet uz sarežģīto sistēmu. Un neatkarīgi no jūsu izvēles abiem ietvariem ir sava specializācijas joma. Tātad, jūs varat arī izlemt, pamatojoties uz to.

5 Web Frameworks, ko ir vērts apgūt izstrādātājiem

Vai vēlaties apgūt progresīvu tīmekļa izstrādi? Izvairieties no atkārtota koda rakstīšanas, tā vietā izmantojiet šīs tīmekļa izstrādes sistēmas.

Lasiet Tālāk

DalītiesČivinātE-pasts
Saistītās tēmas
  • Programmēšana
  • Python
Par autoru
Idowu Omisola (111 publicēti raksti)

Idowu aizraujas ar jebko viedo tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pārslēdzas uz šaha galdu, kad viņam ir garlaicīgi, taču viņam patīk arī ik pa laikam atrauties no rutīnas. Viņa aizraušanās parādīt cilvēkiem ceļu par modernajām tehnoloģijām motivē viņu rakstīt vairāk.

Vairāk no Idowu Omisola

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu