Django alebo banka: Aký je najlepší webový rámec pre Python?

Django alebo banka: Aký je najlepší webový rámec pre Python?

Webové rámce vývojárom webových aplikácií čo najviac uľahčujú vývoj. Python, jeden z najpopulárnejších programovacích jazykov, však získal veľa príspevkov, pokiaľ ide o jeho aplikáciu pri vývoji backendu.





Python má mnoho webových rámcov. Tieto rámce spadajú do makro alebo mikro kategórií. TurboGears, Web2Py, Pyramid a Django sú niektoré z makro webových rámcov v Pythone. Flask, CherryPy a Bottle sú medzitým príkladmi mikrorámcov.





Najpoužívanejšími príkladmi v oboch kategóriách sú Django a Flask. Z tohto dôvodu sa pozrime na oba rámce, ktoré vám pomôžu rozhodnúť sa, ktorému z nich sa oplatí venovať viac času na učenie.





Základná štruktúra rámcov

Napriek tomu, že ide o architektúry Python, architektúra Django a Flask sa navzájom úplne líši. Pozrime sa, ako ich architektúra ovplyvňuje váš výber ako používateľa.

Štruktúra Djanga

Vďaka svojmu použitiu pri vytváraní komplexnejších webových aplikácií založených na Pythone má Django robustnú architektúru, ktorá umožňuje škálovateľnosť. To je Model - vyhliadka - Predloha Štruktúra (MVT) z neho robí perfektný rámec pre vývoj v plnom zásobníku. Ak teda hľadáte spôsob, ako sa zoznámiť s frontendovými a backendovými aspektmi vývoja webu, a ako jazyk na strane servera používate Python, Django je stále najlepšia voľba, ktorú je potrebné zvážiť.



Okrem dostupnosti širokej škály vývojových balíkov a vopred vytvorenej štruktúry súborov Python ponúka Django vstavaný Objektovo-relačný mapovač (ORM) , čo mu poskytuje flexibilný prístup k rôznym databázam. V podstate nemusíte písať veľa dotazov na vkladanie alebo volanie objektov z databázy.

Pri vytváraní tabuliek prostredníctvom modelov Django stačí definovať atribúty týchto tabuliek vo vašej databáze v rámci jednotlivých objektov. Nespracované dotazy, z ktorých sú tieto tabuľky, sa potom automaticky presunú do vášho súboru migrácií po presune vašich tabuliek do databázy.





ORM Django vám teda pomôže vysporiadať sa s prácou navyše, ktorá je spojená s písaním oddelených dotazov pre vašu databázu. A ak sa chcete viac zamerať na to, aby váš web fungoval bez starostí s konfiguráciou akéhokoľvek vkladania databáz do tretej strany, môže byť voľbou Django.

Štruktúra banky

Flask ponúka v porovnaní s Djangom minimálnu architektúru. Je to mikrofrám, ktorý sa nezaoberá takou komplexnosťou ako Django. Na rozdiel od architektúry MVT Djanga sa Flask riadi bežnejšími Model - Názory - Ovládač (MVC).





Pohľady a ovládač banky sú však synonymom pre šablóny a zobrazenia Django. To znamená, že namiesto Pohľadov na Djanga získate Ovládače vo Banke. A Pohľad na banku preberá funkcie šablón Django.

Na rozdiel od Django, keď nainštalujete Flask do svojho virtuálne prostredie a otvorte svoj projekt, dostanete prázdny adresár súborov. To znamená, že musíte začať vytvárať súbory ručne.

Ak sa teda chcete vyhnúť zložitej štruktúre Django, Flask je skvelou voľbou na zváženie. Pretože je však ľahký, Flask neponúka toľko vstavaných balíkov ako Django. A aby ste mohli používať funkciu ORM vo Flasku, potrebujete balík na vkladanie databáz od iného dodávateľa s názvom SQLAlchemy.

Súvisiace: Dôležité príkazy SQL by mal vedieť každý programátor

Jednoduché učenie a šance ísť hlbšie

Pokiaľ ide o ľahké učenie, Django zahŕňa veľa zvratov, ktoré vás môžu pozdĺž celej čiary nudiť. Flask však môže byť zaujímavejšie na učenie kvôli niekoľkým vylepšeniam, ktoré sa podieľajú na fungovaní vašej aplikácie.

Vzhľadom na zložitosť a rozsiahle použitie Djanga v rôznych vývojových uhloch, ako je napríklad úloha jeho rámca REST vo vývoji prehľadávateľného rozhrania API, sa krivka učenia môže stať mätúcou. Ale vzhľadom na to, samotná funkčnosť môže byť dobrým dôvodom na učenie sa Djanga bez ohľadu na to.

Napriek tomu, že Flask má rozšírenie REST aj na vytváranie rozhraní API, stále neponúka plnohodnotnú a vstavanú štruktúru rozhrania API, ktorú poskytuje Django. Ale keď sa pozrieme na to, ako jednoduché je vybrať si jeden z týchto rámcov, Flask je priateľskejší pre začiatočníkov.

A pretože vo Flasku nadväzujete väčšinu prepojení a štruktúrujete sa, vystavuje vás to základnému chápaniu pracovného toku vývoja webu s Pythonom. Na rozdiel od Django je to priamy rámec, ktorý sa zameriava na budovanie toho, čo zamýšľate, bez toho, aby ste nevyhnutne stratili kontrolu nad tým, ako sa vaše súbory spájajú.

Ak ešte nemáte veľa znalostí o Pythone, naučiť sa Flask môže byť perfektný spôsob, ako začať. Okrem toho je písanie kódov vo Flasku väčšinou ako písanie čistého Pythonu.

Ak sa však chcete zamerať na náročnejší Python Framework, ktorý vám poskytne väčšiu predstavu o štandardných postupoch vývoja webu-bez veľkého premýšľania o vnútornom zapojení, môže byť Django tou správnou voľbou. To neznamená, že sa nemôžete potápať aj s Flaskom-ako už bolo uvedené vyššie, je to skvelý spôsob, ako začať svoju cestu učenia s webovými rámcami Pythonu.

Užívateľská základňa a komunita

Napriek tomu, že sa Flask ľahko učí a je ľahký, z hľadiska popularity sa uberá za Djangom. Robustnosť, stabilita vydania verzií a rýchlosť vývoja webových aplikácií pomocou Django sú niektoré z dôvodov, prečo je pre väčšinu vývojárov rámcom voľby.

A keď sa pozrieme na ich trend v Stack Overflow, Django je o niečo diskutovanejší ako Flask. To znamená, že existuje veľká komunita Django, na ktorú sa môžete obrátiť o pomoc, keď sa dostanete do problémov. To však neznamená, že Flask je menej rámcom aj z hľadiska podpory komunity.

Okrem toho rozdiel medzi ich popularitou nie je taký významný. Podľa prieskumu vývojárov do roku 2020, ako je uvedené na JetBrains na popularite, Django má 49 percent, zatiaľ čo Flask je 46 percent obľúbenej. To sú iba 3 percentné rozdiely.

Už len táto štatistika by mala upokojiť vaše obavy a obavy z dostupnosti komunity podpory pre Flask. Takže bez ohľadu na to, ako veľmi sa ocitnete, vždy nájdete riešenie, na ktoré sa môžete spoľahnúť.

Aké typy projektov slúžia jednotlivým rámcom?

Jednou z funkcií Django je, že môžete vytvoriť niekoľko aplikácií a prepojiť ich pomocou vyhradených adries URL. Vďaka tomu je Django rámcom voľby pre vytváranie komplexnejších aplikácií, ktoré vyžadujú budúcu škálovateľnosť.

Vytváranie komplexných aplikácií pomocou Flask je však tiež možné, ale to sa s jeho súčasnou architektúrou nehodí. Je vhodnejší na vytváranie jednoduchých aplikácií, ktoré na postup vpred nevyžadujú komplikovanú infraštruktúru.

usb typu a vs typu c

Aj keď Django ponúka škálovateľnosť, stále nemáte plnú kontrolu nad jeho jednotkami. Banka na druhej strane ponúka jednoduchosť, ale poskytuje flexibilitu ponorením rúk do rôznych komponentov. Je to preto, že vo Flasku máte tendenciu písať väčšinu blokov sami s minimálnou závislosťou od balíkov tretích strán.

Ktorý z webového rámca Pythonu by ste si mali vybrať?

Diskutovali sme o oboch rámcoch bez toho, aby sme ich umiestňovali nad seba. Na základe toho, čo teraz viete, najlepší webový rámec Pythonu, ktorý sa má začať učiť, závisí od vašich existujúcich schopností a prípadu použitia.

Lepším prístupom je však poznať základy jazyka Python. Potom sa môžete najskôr pokúsiť o ľahký rámec, než sa presuniete do zložitého. Bez ohľadu na to, čo si vyberiete, oba rámce majú svoju špecializáciu. Môžete sa teda rozhodnúť aj na základe toho.

zdieľam zdieľam Tweet E -mail 5 webových rámcov, ktoré sa oplatí naučiť vývojárom

Máte záujem naučiť sa pokročilý vývoj webových aplikácií? Vyhnite sa písaniu opakujúceho sa kódu-namiesto toho použite tieto rámce pre vývoj webových aplikácií.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Python
O autorovi Idisou Omisola(94 publikovaných článkov)

Idowu je zanietený pre čokoľvek inteligentné technológie a produktivitu. Vo svojom voľnom čase sa hrá s kódovaním a keď sa nudí, prejde na šachovnicu, ale tiež sa rád z času na čas odtrhne od rutiny. Jeho vášeň ukazovať ľuďom cestu okolo moderných technológií ho motivuje písať viac.

Viac od Idowu Omisola

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber