A webes keretrendszerek a lehető legegyszerűbbé teszik a fejlesztést a webfejlesztők számára. A Python, az egyik legnépszerűbb programozási nyelv azonban számos hozzájárulást kapott a háttérfejlesztésben való alkalmazása terén.

A Pythonnak számos webes keretrendszere van. Ezek a keretrendszerek makro- vagy mikrokategóriákba sorolhatók. A TurboGears, a Web2Py, a Pyramid és a Django a Python makró webes keretrendszerei. Eközben a Flask, a CherryPy és a Bottle példák a mikrokeretekre.

A leggyakrabban használt példák azonban mindkét kategóriában a Django és a Flask. Emiatt nézzük meg mindkét keretrendszert, hogy segítsen eldönteni, melyiknek érdemes több időt szánni a tanulásra.

A keretrendszerek alapvető felépítése

Annak ellenére, hogy Python keretrendszerről van szó, a Django és a Flask architektúrája teljesen különbözik egymástól. Vessünk egy pillantást arra, hogy ezek architektúrája hogyan befolyásolja a felhasználó választását.

A Django felépítése

A bonyolultabb Python-alapú webalkalmazások készítésére való felhasználása miatt a Django robusztus architektúrával rendelkezik, amely lehetővé teszi a méretezhetőséget. ez van

instagram viewer
Modell-Kilátás-Sablon (MVT) szerkezete tökéletes keretet biztosít a full-stack fejlesztéshez. Tehát, ha módot keres a webfejlesztés front- és háttérrendszerének megismerésére, és a Pythont használja szerveroldali nyelvként, a Django továbbra is a legjobb választás.

A fejlesztői csomagok széles skálája és az előre elkészített Python fájlstruktúra elérhetősége mellett a Django beépített Objektum-relációs leképező (ORM), rugalmas hozzáférést biztosítva különféle adatbázisokhoz. Lényegében nem kell sok lekérdezést írnia objektumok beszúrásához vagy meghívásához az adatbázisból.

Amikor táblákat hoz létre a Django modelljein keresztül, mindössze annyit kell tennie, hogy meghatározza ezeknek a tábláknak az attribútumait az adatbázisában az egyes objektumok között. A táblákat létrehozó nyers lekérdezések a táblák adatbázisba való áthelyezése után automatikusan az áttelepítési fájlba kerülnek.

Így a Django ORM-je segít megbirkózni azzal a többletmunkával, amely az adatbázishoz való külön lekérdezések írásával jár. Ha pedig jobban szeretne arra összpontosítani, hogy webhelye működjön anélkül, hogy bármilyen harmadik féltől származó adatbázis-injektálás konfigurálása miatt kellene aggódnia, a Django jó választás lehet.

A lombik felépítése

A Flask minimális architektúrát kínál a Django-hoz képest. Ez egy mikrokeret, amely nem foglalkozik olyan bonyolultsággal, mint a Django. A Django MVT architektúrájától eltérően a Flask a gyakoribbat követi Modell-Nézetek-Vezérlő (MVC) szerkezetét.

Azonban a Views és a Controller of Flask egyet jelent a Django sablonjaival, illetve Nézeteivel. Ez azt jelenti, hogy a Views of Django helyett a vezérlőket kapod a Flaskban. A Views of Flask pedig átveszi a Django's Templates funkcióit.

A Django-val ellentétben, amikor telepíti a Flask-ot a virtuális környezet és nyissa meg a projektet, egy üres fájlkönyvtárat kap. Ez azt jelenti, hogy el kell kezdenie manuálisan elkészíteni a fájlokat.

Így, ha el akarja kerülni a Django összetett szerkezetét, a Flask nagyszerű választás. Mivel azonban könnyű, a Flask nem kínál annyi beépített csomagot, mint a Django. A Flask ORM szolgáltatásának használatához pedig szükség van egy harmadik féltől származó, SQLAlchemy nevű adatbázis-injektáló csomagra.

Összefüggő: Fontos SQL parancsok, amelyeket minden programozónak tudnia kell

Könnyű tanulás és esély a elmélyülésre

Ami a könnyű tanulást illeti, a Django sok olyan fordulatot tartalmaz, amelyek unalmassá válhatnak számodra. A Flask tanulása azonban érdekesebb lehet az alkalmazás működéséhez szükséges néhány módosítás miatt.

A Django összetettsége és széleskörű alkalmazása miatt a különböző fejlesztési szögekben, mint például a REST keretrendszer szerepe a böngészhető API-fejlesztésben, a tanulási görbe zavaróvá válhat. De figyelembe véve ezt, a funkcionalitás önmagában jó ok lehet a Django megtanulására.

Bár a Flask rendelkezik REST bővítménnyel az API-k építéséhez, mégsem kínálja azt a teljes értékű és beépített API-struktúrát, amelyet a Django biztosít. De ha egy pillantást vetünk arra, hogy a keretrendszerek könnyen felvehetők általában, a Flask kezdőbarátabb.

És mivel Ön hozza létre a kapcsolatok nagy részét és strukturálja magát a Flaskban, ez felfedi a Pythonnal végzett webfejlesztés munkafolyamatának alapvető megértését. A Django-val ellentétben ez egy egyenes keretrendszer, amely arra összpontosít, hogy pontosan azt állítsa össze, amit szándékozik, anélkül, hogy szükségszerűen elveszítené a fájlok kapcsolódási módját.

Ha még nem ismeri túl sok Python-t, a Flask tanulása tökéletes módja lehet az indulásnak. Emellett a kódok Flaskban írása többnyire olyan, mint a tiszta Python írása.

Ha azonban egy nagyobb kihívást jelentő Python-keretrendszert szeretne felvenni, amely jobban megismerheti a A webfejlesztés szabványos gyakorlata, anélkül, hogy sokat foglalkozna a belső kábelezéssel, a Djangonak lehet igaza választás. Ez nem jelenti azt, hogy ne merülhetne mélyebbre a Flask segítségével, ahogyan azt korábban jeleztük, ez egy nagyszerű módja annak, hogy elkezdje tanulási útját Python webes keretrendszerekkel.

Felhasználói bázis és közösség

Annak ellenére, hogy könnyen megtanulható és könnyű, a Flask a Django mögött van a népszerűség tekintetében. A robusztusság, a verziókiadás stabilitása és a webes alkalmazások fejlesztésének gyorsasága a Django segítségével néhány ok, amiért ez a keretrendszer a legtöbb fejlesztő számára.

És ha megnézzük a Stack Overflow-ban mutatott trendjüket, a Django egy kicsit többet beszél, mint a Flask. Ez azt jelenti, hogy egy nagy Django közösséghez fordulhat segítségért, ha problémákba ütközik. Ez azonban nem teszi kisebbé a Flask-ot a közösségi támogatás szempontjából is.

Ráadásul a népszerűségük közötti különbség nem is olyan jelentős. A 2020-as fejlesztői felmérés szerint, amint arról a JetBrains A Django népszerűsége 49 százalék, míg a Flask 46 százalékos. Ez csak 3 százalékos különbség.

Ez a statisztika önmagában is megnyugtatja a félelmeit és aggodalmait azzal kapcsolatban, hogy elérhető-e egy támogató közösség a Flask számára. Tehát bármennyire is elakadt, mindig van megoldás, amelyre vissza kell esni.

Milyen projekttípusokat szolgálnak ki az egyes keretrendszerek?

A Django egyik jellemzője, hogy több alkalmazást is létrehozhat, és dedikált URL-eken keresztül összekapcsolhatja őket. Ez teszi a Django-t a választott keretrendszerré összetettebb, jövőt igénylő alkalmazások készítéséhez méretezhetőség.

A Flask segítségével azonban összetett alkalmazások készítése is lehetséges, de ez nem illik jól a jelenlegi architektúrához. Alkalmasabb egyszerű alkalmazások létrehozására, amelyek nem igényelnek bonyolult infrastruktúrát a továbblépéshez.

Bár a Django skálázhatóságot kínál, még mindig nincs teljes ellenőrzése az egységei felett. Ezzel szemben a lombik egyszerűséget kínál, de rugalmasságot biztosít a különböző összetevőibe való belemártáshoz. Ennek az az oka, hogy a Flaskban a legtöbb blokkot saját maga írja meg, minimális függőséggel a harmadik féltől származó csomagoktól.

A Python Web Framework közül melyiket válassza?

Mindkét keretrendszert megvitattuk anélkül, hogy egyiket a másik fölé helyeznénk. Tehát a mostani ismeretek alapján a tanuláshoz a legjobb Python webes keretrendszer a meglévő képességeitől és használati eseteitől függ.

Azonban jobb megközelítés a Python alapjainak ismerete. Ezután először megpróbálhatja az egyszerű keretrendszert, mielőtt áttérne az összetettre. És bármit is választ, mindkét keretrendszernek megvan a maga szakterülete. Tehát ez alapján is dönthet.

5 webes keretrendszer, amelyet érdemes megtanulni a fejlesztőknek

Érdekel a haladó webfejlesztés tanulása? Kerülje az ismétlődő kódírást, használja inkább ezeket a webfejlesztési keretrendszereket.

Olvassa el a következőt

RészvényCsipogEmail
Kapcsolódó témák
  • Programozás
  • Piton
A szerzőről
Idowu Omisola (111 cikk megjelent)

Idowu szenvedélyesen rajong minden intelligens technológiáért és a termelékenységért. Szabadidejében kódolással játszik, és ha unatkozik sakktáblára vált, de szeret időnként kiszakadni a rutinból. Szenvedélye, hogy megmutassa az embereknek a modern technológiát, arra sarkallja, hogy többet írjon.

Továbbiak Idowu Omisola-tól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez