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
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.
É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
- Programozás
- Piton
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.
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