Spletni okvirji spletnim razvijalcem čim bolj olajšajo razvoj. Vendar pa je Python, eden najbolj priljubljenih programskih jezikov, prejel veliko prispevkov v smislu njegove uporabe pri razvoju zaledja.

Python ima veliko spletnih okvirjev. Ti okvirji sodijo v makro ali mikro kategorije. TurboGears, Web2Py, Pyramid in Django so nekateri od makro spletnih okvirjev Pythona. Medtem so Flask, CherryPy in Bottle primeri mikrookvirja.

Vendar sta najbolj uporabljena primera v obeh kategorijah Django in Flask. Iz tega razloga si oglejmo oba okvira, da se boste lažje odločili, kateremu je vredno posvetiti več časa za učenje.

Osnovna struktura ogrodja

Kljub temu, da gre za okvire Python, se arhitektura Djanga in Flask med seboj popolnoma razlikuje. Oglejmo si, kako njihova arhitektura vpliva na vašo izbiro kot uporabnika.

Struktura Djanga

Zaradi svoje uporabe pri gradnji bolj zapletenih spletnih aplikacij, ki temeljijo na Pythonu, ima Django robustno arhitekturo, ki omogoča razširljivost. je Model

instagram viewer
-Ogled-Predloga (MVT) struktura je popoln okvir za razvoj celotnega sklada. Torej, če iščete način, da se dotaknete zunanjih in zalednih vidikov spletnega razvoja in uporabljate Python kot jezik na strani strežnika, je Django še vedno najboljša možnost, da razmislite.

Poleg razpoložljivosti široke palete razvojnih paketov in vnaprej ustvarjene strukture datotek Python ponuja Django vgrajeno Object-Relational Mapper (ORM), kar mu omogoča prilagodljiv dostop do različnih baz podatkov. V bistvu vam ni treba napisati veliko poizvedb za vstavljanje ali klic objektov iz baze podatkov.

Ko ustvarjate tabele prek modelov Django, morate samo definirati atribute teh tabel v vaši bazi podatkov znotraj posameznih objektov. Neobdelane poizvedbe, ki naredijo te tabele, se nato samodejno prenesejo v vašo selitveno datoteko po premiku tabel v bazo podatkov.

Tako vam ORM Django pomaga pri dodatnem delu, ki ga prinaša pisanje ločenih poizvedb za vašo bazo podatkov. In če se želite bolj osredotočiti na to, da vaše spletno mesto deluje, ne da bi vas skrbelo, da bi konfigurirali vbrizgavanje baze podatkov tretjih oseb, je Django morda izbira.

Struktura bučke

Flask ponuja minimalno arhitekturo v primerjavi z Django. To je mikrookvir, ki se ne ukvarja tako s kompleksnostjo kot Django. Za razliko od arhitekture MVT Django, Flask sledi bolj običajnemu Model-Pogledi-Krmilnik (MVC) struktura.

Vendar pa sta pogledi in krmilnik Flask sinonim za Djangoove predloge oziroma poglede. To pomeni, da namesto Views of Django dobite krmilnike v Flask. In Views of Flask prevzame funkcije Djangovih predlog.

Za razliko od Djanga, ko namestite Flask v svoj virtualno okolje in odprete svoj projekt, dobite prazen imenik datotek. To pomeni, da morate začeti ročno ustvarjati datoteke.

Če se torej želite izogniti zapleteni strukturi Djanga, je Flask odlična izbira. Ker pa je lahek, Flask ne ponuja toliko vgrajenih paketov kot Django. Za uporabo funkcije ORM v Flasku potrebujete paket za injiciranje baze podatkov drugega proizvajalca, imenovan SQLAlchemy.

Povezano: Pomembni ukazi SQL, ki bi jih moral poznati vsak programer

Enostavno učenje in možnosti za poglobitev

Kar zadeva enostavnost učenja, Django vključuje veliko zavojev, ki vam lahko postanejo dolgočasni. Vendar pa je Flask morda bolj zanimiv za učenje zaradi nekaj popravkov, ki so vključeni v delovanje vaše aplikacije.

Zaradi kompleksnosti in obsežne uporabe Djanga v različnih razvojnih zornih kotih, kot je vloga njegovega okvira REST pri razvoju API-jev po brskanju, lahko krivulja učenja postane zmedena. Toda glede na to je lahko sama funkcionalnost dober razlog za učenje Djanga.

Čeprav ima Flask razširitev REST tudi za gradnjo API-jev, še vedno ne ponuja popolne in vgrajene strukture API, ki jo ponuja Django. Toda če pogledamo na splošno enostavnost prevzema katerega koli ogrodja, je Flask bolj prijazen do začetnikov.

In ker večino povezav in strukturiranja ustvarjate v Flasku, vas izpostavi osnovnemu razumevanju poteka dela spletnega razvoja s Pythonom. Za razliko od Djanga je to naravnost okvir, ki se osredotoča na gradnjo točno tistega, kar nameravate, ne da bi pri tem izgubili nadzor nad tem, kako se vaše datoteke povezujejo.

Če še nimate veliko znanja o Pythonu, je učenje Flask morda popoln način za začetek. Poleg tega je pisanje kod v Flasku večinoma kot pisanje čistega Pythona.

Če pa želite izbrati bolj zahteven okvir Python, ki vam bo omogočil večjo izpostavljenost standardne prakse spletnega razvoja, ne da bi se veliko ukvarjali z notranjim ožičenjem, je Django morda pravi izbira. To ne pomeni, da se s Flaskom ne morete poglobiti, kot je bilo že omenjeno, je odličen način, da začnete svoje učno pot s spletnimi ogrodji Python.

Baza uporabnikov in skupnost

Kljub temu, da je enostaven za učenje in lahek, je Flask po priljubljenosti za Djangom. Robustnost, stabilnost izdaje različice in hitrost razvoja spletnih aplikacij z Djangom so nekateri od razlogov, zakaj je to okvir izbire za večino razvijalcev.

Če pogledamo njihov trend na Stack Overflow, se o Djangu malo bolj razpravlja kot o Flasku. To pomeni, da obstaja velika skupnost Django, na katero se lahko obrnete po pomoč, ko naletite na težave. Vendar to ne pomeni, da je Flask manj okvir tudi v smislu podpore skupnosti.

Poleg tega razlika med njihovo priljubljenostjo ni tako pomembna. Glede na raziskavo razvijalcev 2020, kot so poročali o JetBrains Django zaseda 49 odstotkov glede na priljubljenost, Flask pa 46 odstotkov priljubljen. To je le 3 odstotke razlike.

Že ta statistika bi morala pomiriti vaše strahove in tesnobo glede razpoložljivosti podporne skupnosti za Flask. Torej, ne glede na to, kako zataknjeni ste, vedno obstaja rešitev, na katero se lahko vrnete.

Katere vrste projektov služijo posameznim okvirom?

Ena od značilnosti Djanga je, da lahko ustvarite več aplikacij in jih povežete prek namenskih URL-jev. Zaradi tega je Django okvir izbire za gradnjo bolj zapletenih aplikacij, ki zahtevajo prihodnost razširljivost.

Možna pa je tudi izdelava kompleksnih aplikacij s Flask, vendar to ne gre dobro z njegovo trenutno arhitekturo. Primernejša je za gradnjo preprostih aplikacij, ki za napredovanje ne potrebujejo zapletene infrastrukture.

Čeprav Django ponuja razširljivost, še vedno nimate popolnega nadzora nad njegovimi enotami. Bučka po drugi strani ponuja preprostost, vendar vam omogoča fleksibilnost, da roke potopite v različne komponente. To je zato, ker v Flasku večino blokov običajno napišete sami z minimalno odvisnostjo od paketov tretjih oseb.

Katerega od Python Web Framework bi morali izbrati?

Razpravljali smo o obeh okvirih, ne da bi jih postavili enega nad drugega. Torej, glede na to, kar zdaj veste, je najboljši spletni okvir Python za začetek učenja odvisen od vaših obstoječih sposobnosti in primera uporabe.

Vendar pa je boljši pristop poznavanje osnov Pythona. Nato lahko najprej poskusite z enostavnim okvirjem, preden se premaknete v zapleteno. In ne glede na vašo izbiro, imata oba okvira svoje področje posebnosti. Torej se lahko odločite tudi na podlagi tega.

5 spletnih okvirjev za razvijalce, ki jih je vredno naučiti

Vas zanima učenje naprednega spletnega razvoja? Izogibajte se pisanju ponavljajoče se kode, namesto tega uporabite te okvire za spletni razvoj.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • Programiranje
  • Python
O avtorju
Idowu Omisola (Objavljenih 111 člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se igra s kodiranjem in, ko mu je dolgčas, preklopi na šahovnico, rad pa se občasno odmakne od rutine. Njegova strast, da ljudem pokaže pot okoli sodobne tehnologije, ga motivira, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite