Vilka typer av webbramar finns det?
Eftersom utvecklarna av varje ram hade olika behov skiljer sig ramarna mellan dem. Vissa ville snabbt lösa det enda problemet de hade och andra ville ha en mer fullständig lösning.
Ett mikroramverk är byggt för att ha väldigt lite funktionalitet från början så att du kan lägga till när dina behov växer. Andra ramar är så fulla av funktioner från början att du har en fungerande webbplats så snart du har installerat grunderna. Dessa fungerar vanligtvis som ett innehållshanteringssystem från grunden, något du kanske eller inte vill ha.
Vad vill du skapa?
När du väljer ditt ramverk bör du först överväga vad du vill skapa och välja därefter. Som nämnts tidigare kanske du vill ha ett CMS och bara sätta din egen snurr på den eller så har du något mer unikt i åtanke. Gör en plan för din webbplats och försök hitta det ramverk du behöver för just den uppgiften. Om du vill lära dig väljer du en som har väldigt få funktioner först eftersom den lär dig mer. Om du väljer en mer avancerad, har många saker redan gjorts för dig. Mindre ansträngning och mindre inlärning eller mer ansträngning och djupare kunskap till slut, ditt val.
Vad kommer du att lära dig om varje ram?
I den här artikeln lär du dig vilken ram som fungerar bäst för dig baserat på listan nedan:
Django
Django är ett välkänt ramverk som innehåller många saker. När du börjar använda den och kör det ursprungliga skriptet ställer den in all kod så att den fungerar. Ditt nästa steg är att rensa bort saker du inte vill ha och lägga till det du vill ha. Alla filer som behövs skapas av det ursprungliga skriptet och allt du behöver göra är att redigera dem för att anpassa sig till dina egna behov. Många databaser stöds och det har också en objektrelationskarta (ORM). En ORM är användbar eftersom du kan designa dina databaser en gång och hålla fast vid den även när du byter databaser.
Flaska
Flaskan är mikroweb-ramverk, det betyder att den har mycket få funktioner i början. Du måste också skapa din filstruktur själv. Detta är mer arbete men innebär också mer kontroll. Det finns många plugin-program så detta ramverk som mikro gör det inte begränsat. Det behöver bara lite mer uppmärksamhet när du börjar bygga ett nytt projekt. Databaser är inte inbyggda men du har flera fantastiska plug-ins tillgängliga på deras egen webbplats. Som med de flesta webbramar kan du också ha en lokal webbserver som kör när du kodar för felsökningsändamål.
Web2Py-ramverk
Web2Py körs som när du har det installerat, det kommer med ett inbyggt administrativt gränssnitt och kan köras lokalt utan någon installationsprocedur. Den är skriven i Python och utformad för att programmeras med Python. Denna ram har också plug-ins som de andra, men den här har också 'recept'. Dessa recept är all kod för en färdig webbplats som du kan ladda ner och anpassa efter dina egna behov. Med detta paket kan du ladda ner ett annat paket och få en fullständig webbplats igång. Ett exempel är www.liten webbplats.net, du kan använda GitHub-koden för web2py, gå till din applikationskatalog och klona den lilla webbplatsen i den katalogen och du har en fungerande webbplats.
TurboGears
TurboGears har ett intressant koncept, du kan starta det här paketet som ett mikroramverk eller lägga till innan du börjar. Det betyder att du kan gå in i en full stack-lösning från ett mikroramverk. Det minimala läget behöver faktiskt bara en källkodsfil från dig för att köra, så att du kan välja exakt hur mycket kontroll du har när du växer. I fullständigt läge stöder den många databaser och har ett omfattande mallsystem. För att prova det, installera det bara i en virtuell miljö med pip.
CubicWeb
Cubicweb-ramverket har ett enkelt gränssnitt med nästan all applikationslogik i 'kuber', dessa är tillägg. När du börjar använda det rekommenderas du att välja en "kub" och se vad du vill ändra i den. CubicWeb installeras som en vanlig applikation i Debian-baserade applikationer, lägg bara till deras förvar och installera. Det finns två paket; körtid och utvecklingspaket. Detta ramverk är starkt beroende av objektorienterad programmering i Python, så om det är din fantasi, ta en närmare titt. Anslutningen till databaser görs via deras eget frågespråk, med namnet RQL som liknar W3Cs SPARQL. Om detta låter bra för dig har de 190 "kuber" som hjälper dig att skapa bra webbplatser.
Sanic
Sanic-ramverket utvecklades med hastighet som förstahandsprioritet, det tillåter asynkronisering / väntar som lades till i Python 3.5. Sanic stöder Python 3.6 och högre! Du installerar sanic med pip-kommandot. Det andra målet är att vara enkelt, du kan få en "Hello World" startad i tio rader kod. För att få full användning av detta ramverk behöver du uvloop och ujson, det fungerar ändå men den avsedda hastigheten kommer inte att uppnås. Sanic är lätt att köra direkt som en webbserver medan den fortfarande används för att utveckla din webbplats.
Giotto
Giotto är utformad för att ha mycket liten kodbas medan den fortfarande har de flesta funktioner. Du installerar Giotto med pip-kommandot. För att prova och börja experimentera behöver du bara tre kommandon. Projektet använder Jinja2 för HTML-mallar, SQLAlchemy för databasanslutning och stöder Redis för cachehantering. För att installera Giotto, använd pip-kommandot, den senaste versionen finns på GitHub. Du kan använda git-tillägget för pip-kommandot för att få det. För att skapa filstrukturen för ett nytt projekt kör du kommandot 'giotto create', detta skapar hela filstrukturen så att du kan anpassa dig till dina behov.
Pyramid
Pyramiden började livet som Pylons Project, ambitionen är och har alltid varit en balans mellan mikroram och full stack-lösning. Det syftar också till att vara liten och lätt skala. En ursprunglig idé är att det inte finns något tilläggssystem, istället skapar och använder du tillägg på PyPi-systemet. Detta gör det flexibelt att skapa ett nytt tillägg.
Flaska
Flaskan distribueras som en enda filmodul och kräver endast Python själv. Den är väldigt liten och har en inbyggd mallmotor och utveckling. Trots det har det stöd för andra mallmotorer och alla tillgängliga WSGI-servrar. Du kan använda deras recept för att få en uppfattning om hur du använder ramverket, använd gärna dessa i din egen kod. Bottle har många plugins, men inte lika många som andra projekt.
CherryPy
CherryPy är stolt över att ha skapat ett kraftfullt konfigurationssystem. Systemet är också extremt lätt att komma igång med eftersom utvecklare inte behöver lära sig mer om alla moduler. Det verkar som om du inte kan använda det för större system men det är felaktigt. Netflix använder detta ramverk.
Slutsats
Du har många val när du väljer en ram för ditt nästa webbprojekt. Ta dig tid att överväga vad du behöver innan du börjar. Det finns dock så många att du måste sätta en tidsgräns på din forskning och komma igång med en enda.