Topp topp 10 Python Web Frameworks

Topp topp 10 Python Web Frameworks
Når du vil lage et nettsted, trenger du HTML, JavaScript og CSS. For å opprette et nettsted ved hjelp av Python, trenger du noen få andre ting. Disse tingene er måter å lage HTML, CSS og kanskje til og med JavaScript. Du kan lage rutiner for å skrive hver webside når brukere samhandler med nettstedet og andre hendelser oppstår. Dette er nøyaktig hva forfatterne av nettrammer har gjort, noe som gjør det enkelt å lage sider og hele nettsteder. Å kalle det enkelt er en overdrivelse, men det vil i det minste bidra til å gjøre prosessen raskere.

Hvilke typer nettrammer er der?

Siden utviklerne av hvert rammeverk hadde forskjellige behov, skiller rammene seg mellom dem. Noen ønsket å raskt løse det eneste problemet de hadde, og andre ønsket en mer full løsning.

Et mikrorammeverk er bygget for å ha veldig liten funksjonalitet fra starten av, slik at du kan legge til når dine behov vokser. Andre rammer er så fulle av funksjoner fra starten av at du har et fungerende nettsted så snart du har installert det grunnleggende. Disse fungerer vanligvis som et innholdsstyringssystem fra bunnen av, noe du kanskje ikke vil ha.

Hva vil du lage?

Når du velger rammen din, bør du først vurdere hva du vil opprette og velge deretter. Som nevnt tidligere, vil du kanskje ha en CMS og bare sette ditt eget spinn på den, eller du har noe mer unikt i tankene. Lag en plan for nettstedet ditt og prøv å finne rammene du trenger for den aktuelle oppgaven. Hvis du vil lære, velg en som har veldig få funksjoner først, da det vil lære deg mer. Hvis du velger en mer avansert, vil det allerede blitt gjort mange ting for deg. Mindre innsats og mindre læring eller mer innsats og dypere kunnskap til slutt, ditt valg.

Hva vil du lære om hvert rammeverk?

I denne artikkelen vil du lære hvilke rammer som fungerer best for deg basert på denne listen over rammer nedenfor:

Django

Django er et kjent rammeverk som inkluderer mange ting. Når du begynner å bruke det og kjøre det første skriptet, setter det opp all kode slik at det fungerer. Det neste trinnet ditt er å fjerne ting du ikke vil ha og legge til det du vil ha. Alle filer som er nødvendige er opprettet av det første skriptet, og alt du trenger å gjøre er å redigere dem for å tilpasse deg dine egne behov. Mange databaser støttes, og den har også en gjenstandsrelasjonell mapper (ORM). En ORM er nyttig fordi du kan designe databasene dine en gang og holde deg til den selv når du bytter databaser.

Kolbe

Kolbe er Micro Web Framework, dette betyr at det har veldig få funksjoner i begynnelsen. Du må også lage filstrukturen din selv. Dette er mer arbeid, men betyr også mer kontroll. Det er mange plugins, slik at dette rammeverket er mikro ikke gjør det begrenset. Det trenger bare litt mer oppmerksomhet når du begynner å bygge et nytt prosjekt. Databaser er ikke innebygd, men du har flere flotte plugins tilgjengelig på sitt eget nettsted. Som med de fleste av nettrammer, kan du også ha en lokal webserver som kjører som kode, for feilsøkingsformål.

Web2py Framework

Web2py kjører som når du har det installert, det kommer med et innebygd administrativt grensesnitt og kan kjøre lokalt uten noen installasjonsprosedyre. Det er skrevet i Python og designet for å bli programmert med Python. Dette rammeverket har også plugins som de andre, men denne har også 'oppskrifter'. Disse oppskriftene er all koden for et ferdig nettsted som du kan laste ned og tilpasse deg dine egne behov. Med denne pakken kan du laste ned en annen pakke og ha en full nettsted som kjører. Et eksempel er www.TinyWebsite.Net, du kan bruke GitHub -koden for Web2PY, gå til applikasjonskatalogen din og klone TinyWebsite til den katalogen, og du har vaksineringsnettsted.

Turbogars

Turbogears har et interessant konsept, du kan starte denne pakken som mikroramme eller legge til før du starter. Dette betyr at du kan flytte inn i en full stabelløsning fra en mikro -rammeverk. Den minimale modusen trenger faktisk bare en kildekodefil fra deg for å kjøre, slik at du kan velge nøyaktig hvor mye kontroll du har når du vokser. I full modus støtter den mange databaser og har et omfattende malsystem. For å prøve det, bare installer det i et virtuelt miljø ved hjelp av PIP.

Cubicweb

Cubicweb -rammen har et enkelt grensesnitt med nesten all applikasjonslogikk i 'Cubes', dette er utvidelser. Når du begynner å bruke den, anbefales du godt å velge en "kube" og se hva du vil endre i den. CubicWeb installerer som en normal applikasjon i Debian -baserte applikasjoner, bare legg til depotet sitt og installer. Det er to pakker; Kjøretiden og utviklingspakken. Denne rammen er veldig avhengig av objektorientert programmering i Python, så hvis det er din fancy, kan du se nærmere på. Forbindelsen til databaser er laget gjennom sitt eget spørringsspråk, kalt RQL som ligner W3Cs SPARQL. Hvis dette høres bra ut for deg, har de 190 'Cubes' for å hjelpe deg med å lage flotte nettsteder.

Sanic

Sanic Framework ble utviklet med hastighet som førstehånds prioritet, det tillater async/avventer som ble lagt til i Python 3.5. Sanic støtter Python 3.6 og høyere! Du installerer Sanic med PIP -kommandoen. Det andre målet er å være enkel, du kan få en 'Hello World' startet i ti kodelinjer. For å få full bruk av dette rammeverket, trenger du Uvloop og Ujson, det vil fungere uansett, men den tiltenkte hastigheten vil ikke bli realisert. Sanic er lett å kjøre direkte som en webserver mens du fremdeles bruker den til å utvikle nettstedet ditt.

Giotto

Giotto er designet for å ha veldig liten kodebase mens du fremdeles har de fleste funksjoner. Du installerer Giotto med PIP -kommandoen. For å prøve det og begynne å eksperimentere, trenger du bare tre kommandoer. Prosjektet bruker Jinja2 for HTML -maler, Sqlalchemy for databasetilkobling og støtter Redis for cache -håndtering. For å installere Giotto, bruk PIP -kommandoen, den nyeste versjonen er på GitHub. Du kan bruke GIT -utvidelsen av PIP -kommandoen for å få den. For å lage filstrukturen for et nytt prosjekt kjører du 'Giotto Create' -kommandoen, dette skaper hele filstrukturen for at du kan tilpasse deg dine behov.

Pyramide

Pyramiden startet livet som Pylons -prosjektet, ambisjonen er og har alltid vært en balanse mellom mikroramme og full stabelløsning. Det tar også sikte på å være liten og skalere lett. En original idé er at det ikke er noe utvidelsessystem, i stedet oppretter og bruker utvidelser på PYPI -systemet. Dette gjør det fleksibelt å lage et nytt tillegg.

Flaske

Flasken distribueres som en enkelt filmodul og krever bare Python i seg selv. Den er veldig liten og har en innebygd malmotor og utvikling. Til tross for at den har støtte for de andre malmotorene og enhver WSGI -dyktig server tilgjengelig. Du kan bruke oppskriftene deres for å få et inntrykk av hvordan du bruker rammen, kan du gjerne bruke disse i din egen kode. Flasken har mange plugins, men ikke så mange som andre prosjekter.

Cherrypy

Cherrypy er stolt av å ha laget et kraftig konfigurasjonssystem. Systemet er også ekstremt enkelt å komme i gang med siden utviklere ikke trenger å lære om alle modulene. Dette får det til å virke som om du ikke kan bruke det til større systemer, men det er feil. Netflix bruker dette rammeverket.

Konklusjon

Du har mange valg når du velger et rammeverk for ditt neste nettprosjekt. Ta deg tid til å vurdere hva du trenger før du begynner. Imidlertid er det så mange, du må legge en tidsbegrensning på forskningen din og bare komme i gang med en.