Žiniatinklio sistemos palengvina kūrimą žiniatinklio kūrėjams. Tačiau Python, viena iš populiariausių programavimo kalbų, gavo daug indėlių, susijusių su jos taikymu kuriant pagrindines programas.
Python turi daug žiniatinklio struktūrų. Šios sistemos skirstomos į makro arba mikro kategorijas. „TurboGears“, „Web2Py“, „Pyramid“ ir „Django“ yra kai kurios „Python“ makro žiniatinklio sistemos. Tuo tarpu „Flask“, „CherryPy“ ir „Bottle“ yra mikrokarkasų pavyzdžiai.
Tačiau dažniausiai naudojami pavyzdžiai bet kurioje kategorijoje yra „Django“ ir „Flask“. Dėl šios priežasties pažvelkime į abi sistemas, kurios padės jums nuspręsti, kuriai išmokti verta skirti daugiau laiko.
Pagrindinė karkasų struktūra
Nepaisant to, kad tai yra Python sistemos, Django ir Flask architektūra visiškai skiriasi viena nuo kitos. Pažiūrėkime, kaip jų architektūra veikia jūsų, kaip vartotojo, pasirinkimą.
Django struktūra
Dėl savo naudojimo kuriant sudėtingesnes Python pagrindu sukurtas žiniatinklio programas, Django turi tvirtą architektūrą, leidžiančią keisti mastelį. tai
Modelis-Žiūrėti-Šablonas (MVT) struktūra daro jį puikia sistema viso paketo kūrimui. Taigi, jei ieškote būdo, kaip susipažinti su žiniatinklio kūrimo priekinės ir užpakalinės dalies aspektais ir naudoti Python kaip serverio kalbą, „Django“ vis tiek yra geriausias pasirinkimas.Be daugybės kūrimo paketų ir iš anksto sukurtos Python failų struktūros, „Django“ siūlo įmontuotą Objektų santykio žemėlapių sudarytojas (ORM), suteikiant lanksčią prieigą prie įvairių duomenų bazių. Iš esmės jums nereikia rašyti daug užklausų, kad įterptumėte ar iškviestumėte objektus iš duomenų bazės.
Kai kuriate lenteles naudodami Django modelius, tereikia apibrėžti tų lentelių atributus savo duomenų bazėje atskiruose objektuose. Neapdorotos užklausos, sudarančios šias lenteles, automatiškai įtraukiamos į jūsų perkėlimo failą, kai lenteles perkeliate į duomenų bazę.
Taigi, Django ORM padeda jums susidoroti su papildomu darbu, atsirandančiu rašant atskiras duomenų bazės užklausas. Ir jei norite daugiau dėmesio skirti tam, kad jūsų svetainė veiktų, nesijaudindami dėl trečiosios šalies duomenų bazės įterpimo konfigūravimo, „Django“ gali būti pasirinkimas.
Kolbos struktūra
„Flask“ siūlo minimalią architektūrą, palyginti su „Django“. Tai mikrosistema, kuri nėra tokia sudėtinga kaip „Django“. Skirtingai nuo „Django“ MVT architektūros, „Flask“ yra labiau paplitusi Modelis-Peržiūrėjo-Valdiklis (MVC) struktūra.
Tačiau „Views“ ir „Flask“ valdiklis yra atitinkamai „Django“ šablonų ir rodinių sinonimai. Tai reiškia, kad vietoj „Django Views“ jūs gaunate valdiklius „Flask“. Kolbos vaizdai atlieka Django šablonų funkcijas.
Skirtingai nuo Django, kai įdiegiate „Flask“ savo virtualią aplinką ir atidarykite savo projektą, gausite tuščią failų katalogą. Tai reiškia, kad turite pradėti kurti failus rankiniu būdu.
Taigi, jei norite išvengti sudėtingos „Django“ struktūros, „Flask“ yra puikus pasirinkimas. Tačiau kadangi „Flask“ yra lengvas, jis nesiūlo tiek daug įmontuotų paketų kaip „Django“. O kad galėtumėte naudoti Flask ORM funkciją, jums reikia trečiosios šalies duomenų bazės įterpimo paketo, vadinamo SQLAlchemy.
Susijęs: Svarbios SQL komandos, kurias turėtų žinoti kiekvienas programuotojas
Lengvas mokymasis ir galimybės įsigilinti
Kalbant apie mokymosi lengvumą, „Django“ apima daug posūkių, kurie jums gali tapti nuobodūs. Tačiau „Flask“ gali būti įdomiau mokytis dėl kelių patobulinimų, susijusių su programos veikimu.
Dėl „Django“ sudėtingumo ir plataus taikymo įvairiais kūrimo aspektais, pvz., REST sistemos vaidmens naršymo API kūrime, mokymosi kreivė gali tapti paini. Tačiau atsižvelgiant į tai, vien funkcionalumas gali būti gera priežastis mokytis Django.
Nors „Flask“ taip pat turi REST plėtinį, skirtą API kurti, jis vis tiek nepasiūlo visų funkcijų ir integruotos API struktūros, kurią teikia „Django“. Tačiau pažvelgus į tai, kaip paprastai lengva pasirinkti bet kurią sistemą, „Flask“ yra palankesnė pradedantiesiems.
Kadangi daugumą ryšių užmezgate ir struktūrizuojate save naudodami „Flask“, tai suteikia jums pagrindinius žiniatinklio kūrimo su Python darbo eigą. Skirtingai nei „Django“, tai tiesioginė sistema, kurioje pagrindinis dėmesys skiriamas būtent tai, ko ketinate sukurti, nebūtinai prarandant failų prijungimo kontrolę.
Jei dar neturite daug Python žinių, „Flask“ mokymasis gali būti puikus būdas pradėti. Be to, kodų rašymas „Flask“ dažniausiai panašus į gryno Python rašymą.
Tačiau jei siekiate pasirinkti sudėtingesnę Python sistemą, kuri suteiks jums daugiau galimybių Įprasta žiniatinklio kūrimo praktika, daug negalvojant apie vidinius laidus, „Django“ gali būti teisingas pasirinkimas. Tai nereiškia, kad negalite pasinerti giliau su Flask, kaip minėjome anksčiau, tai puikus būdas pradėti mokymosi kelionę naudojant Python žiniatinklio sistemas.
Vartotojų bazė ir bendruomenė
Nepaisant to, kad Flask yra lengva išmokti ir yra lengvas, jis populiarumu atsilieka nuo Django. Tvirtumas, versijos išleidimo stabilumas ir žiniatinklio programų kūrimo su Django sparta yra keletas priežasčių, kodėl dauguma kūrėjų pasirenka šią sistemą.
Ir pažvelgus į jų tendencijas „Stack Overflow“, „Django“ yra šiek tiek daugiau aptarinėjamas nei „Flask“. Tai reiškia, kad iškilus problemoms yra didelė Django bendruomenė, kuri gali kreiptis pagalbos. Tačiau tai nereiškia, kad „Flask“ taip pat yra bendruomenės paramos pagrindas.
Be to, skirtumas tarp jų populiarumo nėra toks reikšmingas. Remiantis 2020 m. kūrėjų apklausa, kaip pranešama JetBrains „Django“ pagal populiarumą užima 49 procentus, o „Flask“ – 46 procentus. Tai tik 3 procentų skirtumas.
Vien ši statistika turėtų numalšinti jūsų baimes ir nerimą dėl „Flask“ palaikymo bendruomenės. Taigi, kad ir kaip atsidurtumėte įstrigę, visada yra sprendimas, kuriuo galite grįžti.
Kokius projektų tipus aptarnauja kiekviena sistema?
Viena iš „Django“ funkcijų yra ta, kad galite sukurti kelias programas ir susieti jas naudodami tam skirtus URL. Dėl to „Django“ yra pasirinkimo sistema kuriant sudėtingesnes programas, kurioms reikia ateities mastelio keitimas.
Tačiau naudojant „Flask“ taip pat galima kurti sudėtingas programas, tačiau tai nedera su dabartine architektūra. Tai labiau tinka kuriant paprastas programas, kurioms nereikia sudėtingos infrastruktūros.
Nors „Django“ siūlo mastelio keitimą, jūs vis tiek negalite visiškai valdyti jo įrenginių. Kita vertus, kolba pasižymi paprastumu, tačiau suteikia galimybę lanksčiai panardinti rankas į įvairius jos komponentus. Taip yra todėl, kad „Flask“ daugumą blokų esate linkę rašyti patys, minimaliai priklausydami nuo trečiųjų šalių paketų.
Kurį iš Python Web Framework turėtumėte pasirinkti?
Aptarėme abi sistemas, nesiekdami iškelti vienos virš kitos. Taigi, remiantis tuo, ką dabar žinote, geriausia Python žiniatinklio sistema, kurią reikia pradėti mokytis, priklauso nuo jūsų turimų gebėjimų ir naudojimo atvejų.
Tačiau geresnis būdas yra žinoti Python pagrindus. Tada galite išbandyti paprastą sistemą, prieš pereidami prie sudėtingos sistemos. Ir kad ir koks būtų jūsų pasirinkimas, abi sistemos turi savo specialybės sritį. Taigi, jūs galite nuspręsti ir tuo pagrindu.
Norite išmokti pažangaus interneto kūrimo? Nerašykite pasikartojančio kodo, naudokite šias žiniatinklio kūrimo sistemas.
Skaitykite toliau
- Programavimas
- Python
Idowu aistringai vertina viską, kas yra išmanioji technologija ir produktyvumas. Laisvalaikiu jis žaidžia koduodamas ir, kai jam nuobodu, pereina prie šachmatų lentos, bet taip pat mėgsta retkarčiais atitrūkti nuo rutinos. Jo aistra parodyti žmonėms kelią apie šiuolaikines technologijas skatina jį rašyti daugiau.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Norėdami užsiprenumeruoti, spustelėkite čia