Architekturális döntési feljegyzés a Python Django keretrendszerhez
Döntés dátuma: 2021-07-15
Állapot: Elfogadott
Háttér
Szervezetünk ügyféladatokat kezelő webalkalmazás fejlesztését tervezi. A Pythont választottuk programozási nyelvnek, és a Djangót fontolgatjuk az alkalmazás fejlesztéséhez használt webes keretrendszerként.
Döntés
Úgy döntöttünk, hogy a Django webes keretrendszert használjuk a webalkalmazás fejlesztéséhez. A Django robusztus eszköz- és funkciókészletet nyújt webalkalmazások gyors és hatékony építéséhez.
Tényezők
A döntésünket befolyásoló tényezők közül néhány:
Objektum-relációs leképezés (ORM): A Djangónak beépített ORM-je van, amely lehetővé teszi, hogy SQL-lekérdezések írása nélkül kommunikáljunk az adatbázissal. Ez megkönnyíti az alkalmazás fejlesztését és hosszú távú karbantartását.
MVC keretrendszer: A Django Model-View-Controller (MVC) architektúrát követ, ami megkönnyíti az alkalmazás üzleti logikai és megjelenítési rétegének szétválasztását.
Skálázhatóság: A Django skálázhatósági képességeiről ismert, ami kiváló választássá teszi nagyméretű alkalmazások fejlesztéséhez.
Biztonság: A Djangónak beépített biztonsági funkciói vannak, mint a gyakori webes támadások, például a cross-site scripting (XSS) és az SQL-injekció elleni védelem.
Közösségi támogatás: A Djangónak nagy és aktív közössége van, amely támogatást nyújt, és hozzájárul a keretrendszer fejlesztéséhez.
Megfontolt alternatívák
Megfontoltunk más webes keretrendszereket, mint a Flask és a Pyramid. Azt találtuk azonban, hogy a Django érettebb és jobban megalapozott keretrendszer, robusztus funkciókészlettel.
Megbeszéltük az alkalmazás webes keretrendszer nélküli fejlesztését is, olyan könyvtárakkal, mint az SQLAlchemy és a Flask-RESTful. Azt találtuk azonban, hogy a Django szélesebb funkcionalitást kínál, ami jobb választássá teszi egy teljes webalkalmazáshoz.
Következmények
A Django bevezetése a következő következményekkel jár:
Az alkalmazás könnyebb fejleszthetősége és karbantarthatósága a Django beépített eszközeinek és funkcióinak köszönhetően.
Az üzleti logika és a megjelenítési réteg szétválasztása, ami rendezettebb és könnyebben karbantartható kódhoz vezet.
Az alkalmazás skálázhatósága és robusztussága.
Beépített biztonsági funkciók, amelyek segítenek megvédeni az alkalmazást a gyakori webes támadásoktól.
Hozzáférés egy nagy és aktív közösséghez támogatásért.
Megértjük, hogy a Djangónak meredekebb tanulási görbéje van, mint más keretrendszereknek, de úgy találjuk, hogy megéri a befektetést az általa nyújtott hosszú távú előnyök miatt.
Összegzés
A megfontolt tényezők alapján úgy döntöttünk, hogy a Django webes keretrendszert használjuk a webalkalmazás fejlesztéséhez. Úgy véljük, hogy a Django funkciói, közösségi támogatása és skálázhatósági képességei a legjobb választássá teszik egy teljes webalkalmazás építéséhez. Képezni fogjuk fejlesztőinket a Django használatára, hogy biztosítsuk a keretrendszer hatékony és eredményes használatát.