Arkitekturbeslutningslogg for rammeverket Python Django
Beslutningsdato: 2021-07-15
Status: Godtatt
Kontekst
Organisasjonen vår planlegger å utvikle en webapplikasjon som håndterer kundedata. Vi har valgt Python som programmeringsspråk og vurderer Django som rammeverk for webutvikling av applikasjonen.
Beslutning
Vi har besluttet å bruke webrammeverket Django til å utvikle webapplikasjonen. Django har et robust sett med verktøy og funksjoner for å bygge webapplikasjoner raskt og effektivt.
Faktorer
Noen av faktorene som påvirket beslutningen vår, er:
Objekt-relasjonell kartlegging (ORM): Django har en innebygd ORM som lar oss samhandle med databasen uten å skrive SQL-spørringer. Det gjør det enklere å utvikle applikasjonen og vedlikeholde den på lang sikt.
MVC-rammeverk: Django følger en Model-View-Controller-arkitektur (MVC), som gjør det enklere å skille forretningslogikken fra presentasjonslagene i applikasjonen.
Skalerbarhet: Django er kjent for sin skalerbarhet, noe som gjør det til et utmerket valg for å utvikle storskala applikasjoner.
Sikkerhet: Django har innebygde sikkerhetsfunksjoner, som beskyttelse mot vanlige nettangrep som cross-site scripting (XSS) og SQL-injeksjon.
Støtte fra miljøet: Django har et stort og aktivt miljø som gir støtte og bidrar til utviklingen av rammeverket.
Vurderte alternativer
Vi vurderte andre webrammeverk som Flask og Pyramid. Vi fant imidlertid ut at Django er et mer modent og veletablert rammeverk med et robust sett med funksjoner.
Vi diskuterte også å utvikle applikasjonen uten et webrammeverk og bruke biblioteker som SQLAlchemy og Flask-RESTful. Vi fant imidlertid ut at Django har bredere funksjonalitet, noe som gjør det til et bedre valg for en komplett webapplikasjon.
Konsekvenser
Innføringen av Django vil få følgende konsekvenser:
Enklere å utvikle og vedlikeholde applikasjonen takket være Djangos innebygde verktøy og funksjoner.
Skille mellom forretningslogikk og presentasjonslag, noe som gir mer ryddig kode som er enklere å vedlikeholde.
Skalerbarhet og robusthet i applikasjonen.
Innebygde sikkerhetsfunksjoner som hjelper til med å beskytte applikasjonen mot vanlige nettangrep.
Tilgang til et stort og aktivt miljø for støtte.
Vi forstår at Django har en brattere læringskurve enn andre rammeverk, men vi mener at det er verdt investeringen på grunn av de langsiktige fordelene det gir.
Konklusjon
På grunnlag av faktorene vi har vurdert, har vi besluttet å bruke webrammeverket Django til å utvikle webapplikasjonen. Vi mener at Djangos funksjoner, støtten fra miljøet og skalerbarheten gjør det til det beste valget for å bygge en komplett webapplikasjon. Vi vil gi utviklerne våre opplæring i Django for å sikre at rammeverket brukes effektivt og virkningsfullt.