Arkkitehtuuripäätöstietue: Python Django -kehys
Päätöksen päivämäärä: 2021-07-15
Tila: Hyväksytty
Konteksti
Organisaatiomme suunnittelee verkkosovelluksen kehittämistä asiakastietojen hallintaan. Olemme valinneet Pythonin ohjelmointikieleksi ja harkitsemme Djangoa verkkokehykseksi sovelluksen kehittämiseen.
Päätös
Olemme päättäneet käyttää Django-verkkokehystä verkkosovelluksen kehittämiseen. Django tarjoaa vankan joukon työkaluja ja ominaisuuksia verkkosovellusten rakentamiseen nopeasti ja tehokkaasti.
Tekijät
Joitakin päätökseemme vaikuttaneita tekijöitä ovat:
Objekti-relaatiomappaus (ORM): Djangossa on sisäänrakennettu ORM, jonka avulla voimme olla vuorovaikutuksessa tietokannan kanssa kirjoittamatta SQL-kyselyjä. Tämä helpottaa sovelluksen kehittämistä ja ylläpitoa pitkällä aikavälillä.
MVC-kehys: Django noudattaa Model-View-Controller (MVC) -arkkitehtuuria, mikä helpottaa sovelluksen liiketoimintalogiikan ja esityskerroksen erottamista.
Skaalautuvuus: Django tunnetaan skaalautuvuusominaisuuksistaan, mikä tekee siitä erinomaisen valinnan laajamittaisten sovellusten kehittämiseen.
Tietoturva: Djangossa on sisäänrakennettuja tietoturvaominaisuuksia, kuten suojaus yleisiltä verkkohyökkäyksiltä, kuten sivustojen väliseltä komentosarjahyökkäykseltä (XSS) ja SQL-injektiolta.
Yhteisön tuki: Djangolla on suuri ja aktiivinen yhteisö, joka tarjoaa tukea ja osallistuu kehyksen kehittämiseen.
Harkitut vaihtoehdot
Harkitsimme muita verkkokehyksiä kuten Flask ja Pyramid. Havaitsimme kuitenkin, että Django on kypsempi ja vakiintuneempi kehys, jolla on vankka ominaisuusjoukko.
Keskustelimme myös sovelluksen kehittämisestä ilman verkkokehystä käyttäen kirjastoja kuten SQLAlchemy ja Flask-RESTful. Havaitsimme kuitenkin, että Django tarjoaa laajemman toiminnallisuuden, mikä tekee siitä paremman valinnan täydelliseen verkkosovellukseen.
Seuraukset
Djangon käyttöönotto johtaa seuraaviin seurauksiin:
Sovelluksen kehittäminen ja ylläpito on helpompaa Djangon sisäänrakennettujen työkalujen ja ominaisuuksien ansiosta.
Liiketoimintalogiikan ja esityskerroksen erottaminen, mikä johtaa järjestäytyneempään ja helpommin ylläpidettävään koodiin.
Sovelluksen skaalautuvuus ja vakaus.
Sisäänrakennetut tietoturvaominaisuudet, jotka auttavat suojaamaan sovellusta yleisiltä verkkohyökkäyksiltä.
Pääsy suureen ja aktiiviseen yhteisöön tuen saamiseksi.
Ymmärrämme, että Djangon oppimiskäyrä on jyrkempi kuin muilla kehyksillä, mutta pidämme sitä investoinnin arvoisena sen tarjoamien pitkän aikavälin hyötyjen vuoksi.
Johtopäätös
Huomioon otettujen tekijöiden perusteella olemme päättäneet käyttää Django-verkkokehystä verkkosovelluksen kehittämiseen. Uskomme, että Djangon ominaisuudet, yhteisön tuki ja skaalautuvuusominaisuudet tekevät siitä parhaan valinnan täydellisen verkkosovelluksen rakentamiseen. Koulutamme kehittäjämme käyttämään Djangoa varmistaaksemme, että kehystä käytetään tehokkaasti ja vaikuttavasti.