Hvilke typer webrammer er der?
Da udviklerne af hver ramme havde forskellige behov, adskiller rammerne sig imellem dem. Nogle ønskede hurtigt at løse det eneste problem, de havde, og andre ønskede en mere fuldstændig løsning.
En mikroramme er bygget til at have meget lidt funktionalitet fra starten, så du kan tilføje, når dine behov vokser. Andre rammer er så fulde af funktioner fra starten, at du har et fungerende sted, så snart du har installeret det grundlæggende. Disse fungerer normalt som et indholdsstyringssystem fra bunden, noget du måske eller måske ikke vil have.
Hvad vil du oprette?
Når du vælger din ramme, skal du først overveje, hvad du vil oprette, og vælge i overensstemmelse hermed. Som nævnt tidligere vil du måske have et CMS og bare sætte dit eget spin på det, eller du har noget mere unikt i tankerne. Lav en plan for dit websted, og prøv at finde den ramme, du har brug for til den pågældende opgave. Hvis du vil lære, skal du vælge en, der har meget få funktioner først, da den vil lære dig mere. Hvis du vælger en mere avanceret, er der allerede gjort mange ting for dig. Mindre indsats og mindre læring eller mere indsats og dybere viden i sidste ende, dit valg.
Hvad vil du lære om hver ramme?
I denne artikel lærer du, hvilken ramme der fungerer bedst for dig ud fra nedenstående liste over rammer:
Django
Django er en velkendt ramme, der indeholder mange ting. Når du begynder at bruge det og kører det oprindelige script, indstiller det al kode, så den fungerer. Dit næste trin er at rydde ting, du ikke ønsker, og tilføje det, du ønsker. Alle nødvendige filer oprettes af det oprindelige script, og alt hvad du skal gøre er at redigere dem for at tilpasse sig dine egne behov. Mange databaser understøttes, og den har også en objektrelationskortlægger (ORM). En ORM er nyttig, fordi du kan designe dine databaser én gang og holde fast ved den, selv når du skifter database.
Kolbe
Kolben er mikro-web-ramme, det betyder, at den har meget få funktioner i starten. Du skal også selv oprette din filstruktur. Dette er mere arbejde, men betyder også mere kontrol. Der er mange plug-ins, så denne ramme som mikro gør det ikke begrænset. Det har bare brug for lidt mere opmærksomhed, når du begynder at opbygge et nyt projekt. Databaser er ikke indbygget, men du har flere fantastiske plug-ins tilgængelige på deres eget websted. Som med de fleste webrammer kan du også have en lokal webserver, der kører, mens du koder, til fejlfindingsformål.
Web2Py-ramme
Web2Py kører som det er, når du har det installeret, det kommer med en indbygget administrativ grænseflade og kan køre lokalt uden nogen installationsprocedure. Det er skrevet i Python og designet til at blive programmeret med Python. Denne ramme har også plug-ins som de andre, men denne har også 'opskrifter'. Disse opskrifter er al kode for et færdigt sted, som du kan downloade og tilpasse til dine egne behov. Med denne pakke kan du downloade en anden pakke og have et komplet websted kørende. Et eksempel er www.lillewebsite.net, du kan bruge GitHub-koden til web2py, gå til din applikationsmappe og klone den lille webside i den mappe, og du har et fungerende websted.
TurboGears
TurboGears har et interessant koncept, du kan starte denne pakke som en mikroramme eller tilføje, før du starter. Dette betyder, at du kan flytte ind i en fuld stak-løsning fra et mikro-framework. Den minimale tilstand har faktisk kun brug for en kildekodefil fra dig for at køre, så du kan vælge nøjagtigt, hvor meget kontrol du har, når du vokser. I fuld tilstand understøtter den mange databaser og har et omfattende skabelonsystem. For at prøve det skal du bare installere det i et virtuelt miljø ved hjælp af pip.
CubicWeb
Cubicweb-rammen har en enkel grænseflade med næsten al applikationslogik i 'terninger', disse er udvidelser. Når du begynder at bruge det, rådes det dig at vælge en 'terning' og se, hvad du vil ændre i den. CubicWeb installeres som en normal applikation i Debian-baserede applikationer, bare tilføj deres lager og installer. Der er to pakker; køretiden og udviklingspakken. Denne ramme er stærkt afhængig af objektorienteret programmering i Python, så hvis det er din smag, skal du se nærmere på det. Forbindelsen til databaser oprettes via deres eget forespørgselssprog, der hedder RQL, hvilket svarer til W3Cs SPARQL. Hvis dette lyder godt for dig, har de 190 'terninger', der hjælper dig med at oprette gode websteder.
Sanic
Sanic-rammen blev udviklet med hastighed som førstehåndsprioritet, det tillader async / afventer, som blev tilføjet i Python 3.5. Sanic understøtter Python 3.6 og højere! Du installerer sanic med pip-kommandoen. Det andet mål er at være enkel, du kan få en 'Hello World' startet i ti linjer kode. For at få fuld udnyttelse af denne ramme har du brug for uvloop og ujson, det fungerer alligevel, men den tilsigtede hastighed bliver ikke realiseret. Sanic er let at køre direkte som en webserver, mens den stadig bruges til at udvikle dit websted.
Giotto
Giotto er designet til at have meget lille codebase, mens den stadig har de fleste funktioner. Du installerer Giotto med pip-kommandoen. For at prøve det og begynde at eksperimentere har du kun brug for tre kommandoer. Projektet bruger Jinja2 til HTML-skabeloner, SQLAlchemy til databaseforbindelse og understøtter Redis til cachehåndtering. For at installere Giotto skal du bruge pip-kommandoen, den seneste version findes på GitHub. Du kan bruge git-udvidelsen af pip-kommandoen for at få den. For at oprette filstrukturen til et nyt projekt kører du kommandoen 'giotto create', dette skaber hele filstrukturen, så du kan tilpasse dig dine behov.
Pyramide
Pyramiden startede livet som Pylons Project, ambitionen er og har altid været en balance mellem mikroramme og full stack-løsning. Det sigter også mod at være lille og let skalere. En original idé er, at der ikke er noget udvidelsessystem, i stedet opretter og bruger du udvidelser på PyPi-systemet. Dette gør det fleksibelt at oprette en ny tilføjelse.
Flaske
Flasken distribueres som et enkelt filmodul og kræver kun Python selv. Det er meget lille og har en indbygget skabelonmotor og udvikling. På trods af det har den understøttelse af de andre skabelonmotorer og enhver tilgængelig WSGI-kompatibel server. Du kan bruge deres opskrifter til at få en idé om, hvordan du bruger rammen, og du er velkommen til at bruge disse i din egen kode. Bottle har mange plugins, dog ikke så mange som andre projekter.
CherryPy
CherryPy er stolt af at have lavet et kraftfuldt konfigurationssystem. Systemet er også ekstremt let at komme i gang med, da udviklere ikke behøver at lære om alle modulerne. Dette får det til at virke som om du ikke kan bruge det til større systemer, men det er forkert. Netflix bruger denne ramme.
Konklusion
Du har mange valg, når du vælger en ramme til dit næste webprojekt. Tag dig tid til at overveje, hvad du har brug for, før du starter. Der er dog så mange, at du skal sætte en tidsbegrænsning på din forskning og komme i gang med kun en.