Python

Top 10 Python Web Frameworks

Top 10 Python Web Frameworks
Ko želite narediti spletno mesto, potrebujete HTML, JavaScript in CSS. Če želite ustvariti spletno mesto s pomočjo Pythona, potrebujete nekaj drugih stvari. Te stvari so načini za ustvarjanje HTML, CSS in morda celo JavaScript. Lahko ustvarite rutine za pisanje vsake spletne strani, ko uporabniki interakcijo s spletno stranjo in drugi dogodki. Natanko to so storili avtorji spletnih struktur, s čimer je bilo enostavno ustvariti strani in celotna spletna mesta. Če ga preprosto imenujemo, je pretiravanje, vendar bo vsaj pripomoglo k hitrejšemu postopku.

Katere vrste spletnih okvirov obstajajo?

Ker so imeli razvijalci vsakega ogrodja različne potrebe, se okviri med seboj razlikujejo. Nekateri so želeli hitro rešiti en sam problem, drugi pa bolj popolno rešitev.

Mikro ogrodje je zgrajeno tako, da ima od začetka zelo malo funkcionalnosti, tako da ga lahko dodajate, ko vaše potrebe rastejo. Drugi okviri so že od samega začetka tako polni funkcij, da imate delujoče spletno mesto takoj, ko namestite osnove. Ti običajno delujejo kot sistem za upravljanje vsebin od začetka, kar si morda želite ali ne.

Kaj želite ustvariti?

Ko izberete svoj okvir, morate najprej razmisliti, kaj želite ustvariti, in temu primerno izbrati. Kot smo že omenili, boste morda želeli sistem za upravljanje vsebin in ga preprosto postavili v lastno vrtenje ali pa boste imeli v mislih nekaj bolj unikatnega. Naredite načrt za svojo spletno stran in poskusite najti okvir, ki ga potrebujete za to določeno nalogo. Če se želite učiti, najprej izberite tistega, ki ima zelo malo funkcij, saj vas bo naučil več. Če izberete naprednejšega, bo za vas že narejenih veliko stvari. Manj truda in manj učenja ali več truda in globljega znanja na koncu, vaša izbira.

Kaj se boste naučili o posameznem okviru?

V tem članku boste izvedeli, kateri okvir deluje najbolje za vas na podlagi spodnjega seznama okvirov:

Django

Django je dobro znan okvir, ki vključuje veliko stvari. Ko ga začnete uporabljati in zaženete začetni skript, nastavi celotno kodo, tako da deluje. Vaš naslednji korak je razčistiti stvari, ki jih ne želite, in dodati, kaj želite. Vse potrebne datoteke so ustvarjene z začetnim skriptom in vse, kar morate storiti, je, da jih uredite, da se prilagodijo vašim potrebam. Podprte so številne zbirke podatkov, vsebuje pa tudi objektni relacijski preslikavalnik (ORM). ORM je uporaben, ker lahko svoje baze podatkov oblikujete enkrat in se držite tega, tudi če preklapljate med njimi.

Bučka

Bučka je mikro spletno ogrodje, kar pomeni, da ima na začetku zelo malo funkcij. Strukturo datotek morate ustvariti tudi sami. To je več dela, pomeni pa tudi več nadzora. Obstaja veliko vtičnikov, zato ta mikro okvir ni omejen. Potrebuje le malo več pozornosti, ko začnete graditi nov projekt. Baze podatkov niso vgrajene, vendar imate na njihovem spletnem mestu na voljo več odličnih vtičnikov. Kot pri večini spletnih okvirov lahko tudi za odpravljanje napak imate med izvajanjem kode nameščen lokalni spletni strežnik.

Okvir Web2Py

Web2Py deluje, ko je nameščen, ima vgrajen skrbniški vmesnik in se lahko izvaja lokalno brez kakršnega koli namestitvenega postopka. Napisan je v Pythonu in je zasnovan za programiranje s Pythonom. Ta okvir ima tudi vtičnike kot drugi, vendar ima tudi ta "recepte". Ti recepti so vsa koda končnega spletnega mesta, ki ga lahko prenesete in prilagodite svojim potrebam. S tem paketom lahko prenesete še en paket in deluje celotno spletno mesto. En primer je www.majhno spletno mesto.net, lahko uporabite kodo GitHub za web2py, pojdite v imenik aplikacij in klonirajte majhno spletno mesto v ta imenik in imate delujoče spletno mesto.

TurboGears

TurboGears ima zanimiv koncept, ta paket lahko začnete kot mikro ogrodje ali dodate pred začetkom. To pomeni, da se lahko iz mikro okolja premaknete v celotno rešitev skladov. Minimalni način dejansko potrebuje samo eno datoteko izvorne kode, ki vam omogoča, da natančno izberete, koliko nadzora imate med rastjo. V polnem načinu podpira številne zbirke podatkov in ima celovit sistem predlog. Če ga želite preizkusiti, ga preprosto namestite v navidezno okolje s pomočjo pipa.

CubicWeb

Okvir cubicweb ima preprost vmesnik s skoraj vso aplikacijsko logiko v 'kockah', to so razširitve. Ko jo začnete uporabljati, vam svetujemo, da izberete "kocko" in vidite, kaj želite v njej spremeniti. CubicWeb se namesti kot običajna aplikacija v aplikacijah, ki temeljijo na Debianu, samo dodajte njihovo skladišče in namestite. Obstajata dva paketa; čas delovanja in razvojni paket. Ta okvir se močno opira na objektno usmerjeno programiranje v Pythonu, zato, če je to vaša želja, si ga oglejte podrobneje. Povezava z bazami podatkov poteka prek lastnega jezika poizvedb, imenovanega RQL, ki je podoben SPARQL-u W3C. Če se vam to zdi dobro, imajo na voljo 190 'kock', ki vam pomagajo ustvariti odlične spletne strani.

Sanič

Okvir Sanic je bil razvit s hitrostjo kot prednostno nalogo, omogoča async / await, ki je bil dodan v Python 3.5. Sanic podpira Python 3.6 in več! Sanic namestite z ukazom pip. Drugi cilj je biti preprost, enega "Hello World" lahko začnete v desetih vrsticah kode. Za popolno uporabo tega ogrodja potrebujete uvloop in ujson, vseeno bosta delovala, vendar predvidena hitrost ne bo realizirana. Sanic je enostavno zagnati neposredno kot spletni strežnik, medtem ko ga še vedno uporabljate za razvoj vašega spletnega mesta.

Giotto

Giotto je zasnovan tako, da ima zelo majhno kodno bazo, hkrati pa ima še vedno večino funkcij. Giotto namestite z ukazom pip. Če ga želite preizkusiti in začeti eksperimentirati, potrebujete le tri ukaze. Projekt uporablja predloge Jinja2 za predloge HTML, SQLAlchemy za povezavo z bazo podatkov in podpira Redis za obdelavo predpomnilnika. Če želite namestiti Giotto, uporabite ukaz pip, najnovejša različica je na GitHub. Za njegovo uporabo lahko uporabite razširitev git ukaza pip. Če želite ustvariti datotečno strukturo za nov projekt, zaženite ukaz 'giotto create', ta ustvari celotno strukturo datotek, da se prilagodite vašim potrebam.

Piramida

Piramida je začela življenje kot projekt Pylons, ambicija je in je bila vedno ravnovesje med mikro ogrodjem in rešitvijo celotnega sklada. Tudi njen cilj je biti majhen in enostavno. Ena prvotna ideja je, da ni razširitvenega sistema, temveč ustvarjate in uporabljate razširitve v sistemu PyPi. Zaradi tega je prilagodljivo ustvariti nov dodatek.

Steklenica

Steklenička se distribuira kot en datotečni modul in zahteva samo Python. Je zelo majhen in ima vgrajen mehanizem za predloge in razvoj. Kljub temu ima podporo za druge mehanizme predlog in kateri koli strežnik, ki podpira WSGI. Njihove recepte lahko uporabite, da dobite idejo o uporabi ogrodja. Te lahko uporabite v svoji kodi. Steklenica ima veliko vtičnikov, vendar ne toliko kot drugi projekti.

CherryPy

CherryPy se ponaša z izdelavo zmogljivega konfiguracijskega sistema. S sistemom je tudi zelo enostavno začeti, saj razvijalcem ni treba spoznati vseh modulov. Zaradi tega se zdi, da ga ne morete uporabljati za večje sisteme, vendar to ni pravilno. Netflix uporablja ta okvir.

Zaključek

Ko izberete okvir za naslednji spletni projekt, imate veliko izbire. Vzemite si nekaj časa, da premislite, kaj potrebujete, preden začnete. Vendar jih je toliko, da morate časovno omejiti svoje raziskave in začeti samo z enim.

Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...
Najboljše aplikacije za preslikavo gamepadov za Linux
Če želite igre na Linuxu igrati z igralno ploščico namesto s tipičnim sistemom za vnos tipkovnice in miške, je za vas na voljo nekaj uporabnih aplikac...