Rejestr decyzji architektonicznych dla frameworka Python Django
Data decyzji: 2021-07-15
Status: Zaakceptowany
Kontekst
Nasza organizacja planuje opracować aplikację internetową do zarządzania danymi klientów. Jako język programowania wybraliśmy Python i rozważamy Django jako framework internetowy do tworzenia tej aplikacji.
Decyzja
Postanowiliśmy użyć frameworka internetowego Django do tworzenia aplikacji internetowej. Django zapewnia solidny zestaw narzędzi i funkcji do szybkiego i efektywnego budowania aplikacji internetowych.
Czynniki
Niektóre z czynników, które wpłynęły na naszą decyzję:
Mapowanie obiektowo-relacyjne (ORM): Django ma wbudowany ORM, który pozwala komunikować się z bazą danych bez pisania zapytań SQL. Ułatwia to tworzenie aplikacji i jej utrzymanie w dłuższej perspektywie.
Framework MVC: Django opiera się na architekturze Model-View-Controller (MVC), co ułatwia oddzielenie warstw logiki biznesowej i prezentacji aplikacji.
Skalowalność: Django jest znany ze swoich możliwości skalowania, co czyni go doskonałym wyborem do tworzenia aplikacji na dużą skalę.
Bezpieczeństwo: Django ma wbudowane funkcje bezpieczeństwa, takie jak ochrona przed typowymi atakami internetowymi, jak cross-site scripting (XSS) i wstrzykiwanie SQL.
Wsparcie społeczności: Django ma dużą i aktywną społeczność, która zapewnia wsparcie i przyczynia się do rozwoju frameworka.
Rozważane alternatywy
Rozważaliśmy inne frameworki internetowe, takie jak Flask i Pyramid. Stwierdziliśmy jednak, że Django jest bardziej dojrzałym i ugruntowanym frameworkiem z solidnym zestawem funkcji.
Omawialiśmy też tworzenie aplikacji bez frameworka internetowego, z użyciem bibliotek takich jak SQLAlchemy i Flask-RESTful. Stwierdziliśmy jednak, że Django oferuje szerszą funkcjonalność, co czyni go lepszym wyborem dla kompletnej aplikacji internetowej.
Konsekwencje
Przyjęcie Django przyniesie następujące konsekwencje:
Łatwiejsze tworzenie i utrzymanie aplikacji dzięki wbudowanym narzędziom i funkcjom Django.
Oddzielenie logiki biznesowej od warstwy prezentacji, co prowadzi do bardziej uporządkowanego i łatwiejszego w utrzymaniu kodu.
Skalowalność i solidność aplikacji.
Wbudowane funkcje bezpieczeństwa, które pomagają chronić aplikację przed typowymi atakami internetowymi.
Dostęp do dużej i aktywnej społeczności wsparcia.
Rozumiemy, że Django ma bardziej stromą krzywą uczenia się niż inne frameworki, ale uważamy, że warto w to zainwestować ze względu na długoterminowe korzyści.
Podsumowanie
Na podstawie rozważonych czynników postanowiliśmy użyć frameworka internetowego Django do tworzenia aplikacji internetowej. Wierzymy, że funkcje Django, wsparcie społeczności i możliwości skalowania czynią go najlepszym wyborem do budowy kompletnej aplikacji internetowej. Przeszkolimy naszych programistów w używaniu Django, aby framework był wykorzystywany skutecznie i efektywnie.