Python

Topp 10 Python Web Framework

Topp 10 Python Web Framework
Når du vil lage et nettsted, trenger du HTML, JavaScript og CSS. For å lage et nettsted ved hjelp av Python, trenger du et par andre ting. Disse tingene er måter å lage HTML, CSS og kanskje til og med JavaScript på. Du kan lage rutiner for å skrive hver webside når brukerne kommuniserer med nettstedet og andre hendelser inntreffer. 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 i det minste vil det hjelpe å gjøre prosessen raskere.

Hvilke typer nettrammer er det?

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 fullstendig løsning.

Et mikrorammeverk er bygget for å ha svært lite funksjonalitet fra starten, slik at du kan legge til når behovene dine vokser. Andre rammer er så fulle av funksjoner fra starten 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 eller ikke vil ha.

Hva vil du lage?

Når du velger rammeverket ditt, bør du først vurdere hva du vil lage og velge deretter. Som nevnt tidligere, vil du kanskje ha et CMS og bare sette din egen 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 svært få funksjoner først, da den vil lære deg mer. Hvis du velger en mer avansert, vil mange ting allerede ha blitt gjort 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 hvilket rammeverk som fungerer best for deg basert på denne listen over rammeverk nedenfor:

Django

Django er et kjent rammeverk som inneholder mange ting. Når du begynner å bruke den og kjører det første skriptet, setter den opp all kode slik at den fungerer. Det neste trinnet ditt er å fjerne ting du ikke vil ha, og legge til det du ønsker. Alle filer som trengs 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 Object Relational Mapper (ORM). En ORM er nyttig fordi du kan designe databasene dine en gang og holde fast ved den selv når du bytter database.

Kolbe

Flask er mikro-web-rammeverk, dette betyr at den 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 plug-ins, så dette rammeverket som mikro gjør det ikke begrenset. Det trenger bare litt mer oppmerksomhet når du begynner å bygge et nytt prosjekt. Databaser er ikke innebygd, men du har flere flotte plug-ins tilgjengelig på deres eget nettsted. Som med de fleste nettrammer, kan du også ha en lokal webserver som kjører mens du koder, for feilsøkingsformål.

Web2Py-rammeverk

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. Den er skrevet i Python og designet for å bli programmert med Python. Dette rammeverket har også plugin-moduler som de andre, men denne har også 'oppskrifter'. Disse oppskriftene er all koden for et ferdig nettsted som du kan laste ned og tilpasse til dine egne behov. Med denne pakken kan du laste ned en annen pakke og ha en fullstendig webside som kjører. Et eksempel er www.lille nettstedet.net, kan du bruke GitHub-koden for web2py, gå til applikasjonskatalogen din og klone den lille nettstedet i den katalogen, og du har et fungerende nettsted.

TurboGears

TurboGears har et interessant konsept, du kan starte denne pakken som et mikro-rammeverk eller legge til før du begynner. Dette betyr at du kan gå inn i en full stack-løsning fra et 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, er det bare å installere det i et virtuelt miljø ved hjelp av pip.

CubicWeb

Cubicweb-rammeverket har et enkelt grensesnitt med nesten all applikasjonslogikk i 'kuber', dette er utvidelser. Når du begynner å bruke den, anbefales det å velge en kube og se hva du vil endre i den. CubicWeb installeres som et vanlig program i Debian-baserte applikasjoner, bare legg til depotet og installer det. Det er to pakker; kjøretiden og utviklingspakken. Dette rammeverket er sterkt avhengig av objektorientert programmering i Python, så hvis det er din fancy, ta en nærmere titt. Tilkoblingen til databaser skjer gjennom sitt eget spørrespråk, kalt RQL, som ligner på W3Cs SPARQL. Hvis dette høres bra ut for deg, har de 190 'kuber' for å hjelpe deg med å lage flotte nettsteder.

Sanic

Sanic-rammeverket ble utviklet med hastighet som førstehåndsprioritet, det tillater asynkronisering / venter 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 enkelt, du kan få en 'Hello World' startet i ti linjer med kode. For å få full bruk av dette rammeverket, trenger du uvloop og ujson, det fungerer uansett, men den tiltenkte hastigheten blir ikke realisert. Sanic er lett å kjøre direkte som en webserver mens du fortsatt bruker den til å utvikle nettstedet ditt.

Giotto

Giotto er designet for å ha veldig liten kodebase mens den 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 cachehåndtering. For å installere Giotto, bruk pip-kommandoen, den nyeste versjonen er på GitHub. Du kan bruke git-utvidelsen til pip-kommandoen for å få den. For å opprette filstrukturen for et nytt prosjekt kjører du kommandoen 'giotto create', dette skaper hele filstrukturen for å tilpasse seg dine behov.

Pyramide

Pyramiden startet livet som Pylons Project, ambisjonen er og har alltid vært en balanse mellom micro framework og full stack-løsning. Det tar også sikte på å være liten og lett skalere. En original ide er at det ikke er noe utvidelsessystem, i stedet oppretter og bruker du utvidelser på PyPi-systemet. Dette gjør det fleksibelt å lage et nytt tillegg.

Flaske

Flasken distribueres som en enkelt filmodul og krever bare Python selv. Den er veldig liten og har en innebygd malmotor og utvikling. Til tross for det har den støtte for de andre malmotorene og enhver tilgjengelig WSGI-kompatibel server. Du kan bruke oppskriftene deres for å få en idé om hvordan du bruker rammeverket, bruk disse gjerne i din egen kode. Bottle 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 webprosjekt. Ta deg litt tid til å vurdere hva du trenger før du begynner. Imidlertid er det så mange, du må sette en tidsbegrensning på forskningen din og komme i gang med bare en.

Hvordan fange opp og streame spilløkten din på Linux
Tidligere ble spill bare ansett som en hobby, men med tiden så spillindustrien en enorm vekst når det gjelder teknologi og antall spillere. Spillpubli...
Beste spill å spille med håndsporing
Oculus Quest introduserte nylig den gode ideen om håndsporing uten kontrollere. Med et stadig økende antall spill og aktiviteter som utfører støtte en...
Hvordan vise OSD-overlegg i fullskjerm Linux-apper og spill
Å spille fullskjermspill eller bruke apper i distraksjonsfri fullskjermmodus kan avskrekke deg fra relevant systeminformasjon som er synlig i et panel...