Python

Топ 10 на Python Web Frameworks

Топ 10 на Python Web Frameworks
Когато искате да направите уебсайт, имате нужда от HTML, JavaScript и CSS. За да създадете уебсайт с помощта на Python, имате нужда от няколко други неща. Тези неща са начини за създаване на HTML, CSS и може би дори JavaScript. Можете да създадете рутини за писане на всяка уеб страница, докато потребителите взаимодействат със сайта и се случват други събития. Точно това са направили авторите на уеб рамки, улеснявайки създаването на страници и цели сайтове. Наричането му лесно е преувеличено, но поне ще помогне за ускоряване на процеса.

Какви видове уеб рамки съществуват?

Тъй като разработчиците на всяка рамка имаха различни нужди, рамките се различават помежду им. Някои искаха бързо да разрешат единствения проблем, който имаха, а други искаха по-пълно решение.

Изградена е микро рамка, която да има много малко функционалност от самото начало, за да можете да добавяте, когато вашите нужди нарастват. Други рамки са толкова пълни с функции от самото начало, че имате функциониращ сайт веднага след като сте инсталирали основите. Те обикновено работят като система за управление на съдържанието от нулата, нещо, което може да искате или не.

Какво искате да създадете?

Когато избирате вашата рамка, първо трябва да помислите какво искате да създадете и да изберете съответно. Както споменахме по-рано, може да искате CMS и просто да го завъртите или да имате предвид нещо по-уникално. Направете план за вашия сайт и се опитайте да намерите необходимата рамка за тази конкретна задача. Ако искате да научите, първо изберете такава, която има много малко функции, тъй като ще ви научи на повече. Ако изберете по-напреднал, много неща вече ще са направени за вас. По-малко усилия и по-малко учене или повече усилия и по-задълбочени знания в крайна сметка, по ваш избор.

Какво ще научите за всяка рамка?

В тази статия ще научите коя рамка работи най-добре за вас въз основа на този списък от рамки по-долу:

Джанго

Django е добре позната рамка, която включва много неща. Когато започнете да го използвате и стартирате първоначалния скрипт, той настройва целия код, така че да работи. Следващата ви стъпка е да изчистите неща, които не искате, и да добавите това, което искате. Всички необходими файлове се създават от първоначалния скрипт и всичко, което трябва да направите, е да ги редактирате, за да се адаптират към вашите собствени нужди. Поддържат се много бази данни и той също има обектно релационно картографиране (ORM). ORM е полезен, защото можете да проектирате своите бази данни веднъж и да се придържате към него, дори когато превключвате бази данни.

Колба

Flask е микро уеб рамка, това означава, че има много малко функции в началото. Вие също трябва да създадете вашата файлова структура сами. Това е повече работа, но означава и повече контрол. Има много приставки, така че тази рамка, която е микро, не я прави ограничена. Просто се нуждае от малко повече внимание, когато започнете да изграждате нов проект. Базите данни не са вградени, но имате няколко чудесни приставки на разположение на техния собствен сайт. Както при повечето уеб рамки, можете също така да имате локален уеб сървър, който да работи, докато кодирате, с цел отстраняване на грешки.

Рамка на Web2Py

Web2Py работи както е, когато сте го инсталирали, той се предлага с вграден административен интерфейс и може да работи локално без никаква процедура за инсталиране. Той е написан на Python и е проектиран да бъде програмиран с Python. Тази рамка също има приставки като останалите, но тази също има „рецепти“. Тези рецепти са целият код за завършен сайт, който можете да изтеглите и адаптирате към вашите собствени нужди. С този пакет можете да изтеглите още един пакет и да имате пълен уебсайт. Един пример е www.малък уебсайт.net, можете да използвате кода на GitHub за web2py, да отидете в директорията на вашите приложения и да клонирате малкия уебсайт в тази директория и имате работещ уебсайт.

TurboGears

TurboGears има интересна концепция, можете да стартирате този пакет като микро рамка или да добавите, преди да започнете. Това означава, че можете да преминете към пълно решение за стека от микро рамка. Минималният режим всъщност се нуждае само от един файл с изходен код, за да стартирате, което ви позволява да изберете точно колко контрол имате, докато растете. В пълен режим той поддържа много бази данни и има изчерпателна система от шаблони. За да го изпробвате, просто го инсталирайте във виртуална среда с помощта на pip.

CubicWeb

Рамката cubicweb има опростен интерфейс с почти цялата логика на приложението в „кубчета“, това са разширения. Когато започнете да го използвате, е добре да изберете „куб“ и да видите какво искате да промените в него. CubicWeb се ​​инсталира като нормално приложение в приложения, базирани на Debian, просто добавете тяхното хранилище и инсталирайте. Има два пакета; времето за изпълнение и пакета за разработка. Тази рамка разчита до голяма степен на обектно-ориентираното програмиране в Python, така че ако това ви харесва, погледнете отблизо. Връзката с бази данни се осъществява чрез техен собствен език за заявки, наречен RQL, който е подобен на SPARQL на W3C. Ако това ви звучи добре, те имат 190 „кубчета“, за да ви помогнат да създадете страхотни уебсайтове.

Санич

Рамката Sanic е разработена със скорост като приоритет от първа ръка, тя позволява async / await, която е добавена в Python 3.5. Sanic поддържа Python 3.6 и по-висока! Инсталирате sanic с командата pip. Другата цел е да бъдете прости, можете да започнете едно „Hello World“ с десет реда код. За да използвате пълноценно тази рамка, имате нужда от uvloop и ujson, тя ще работи така или иначе, но предвидената скорост няма да бъде реализирана. Sanic е лесно да се стартира директно като уеб сървър, докато все още го използва за разработване на вашия уеб сайт.

Джото

Джото е проектиран да има много малка кодова база, като същевременно има повечето функции. Инсталирате Джото с командата pip. За да го изпробвате и да започнете да експериментирате, са ви необходими само три команди. Проектът използва Jinja2 за HTML шаблони, SQLAlchemy за връзка с база данни и поддържа Redis за обработка на кеш. За да инсталирате Giotto, използвайте командата pip, най-новата версия е на GitHub. Можете да използвате git разширението на командата pip, за да го получите. За да създадете файлова структура за нов проект, стартирате командата 'giotto create', това създава цялата файлова структура, за да се адаптирате към вашите нужди.

Пирамида

Пирамидата стартира живота си като Pylons Project, амбицията е и винаги е била баланс между микро рамка и пълно решение на стека. Той също така цели да бъде малък и лесно мащабиран. Една оригинална идея е, че няма система за разширения, вместо това вие създавате и използвате разширения в системата PyPi. Това го прави гъвкав за създаване на нова добавка.

Бутилка

Бутилката се разпространява като единичен файлов модул и изисква само самия Python. Той е много малък и има вграден шаблон и разработка. Въпреки това той има поддръжка за другите механизми за шаблони и всеки наличен сървър с възможност за WSGI. Можете да използвате техните рецепти, за да получите представа как да използвате рамката, не се колебайте да ги използвате в собствения си код. Bottle има много приставки, но не толкова, колкото други проекти.

CherryPy

CherryPy се гордее, че е създал мощна конфигурационна система. Системата също е изключително лесна за започване, тъй като разработчиците не трябва да научават за всички модули. Това изглежда, че не можете да го използвате за по-големи системи, но това е неправилно. Netflix използва тази рамка.

Заключение

Имате много възможности за избор, когато избирате рамка за следващия си уеб проект. Отделете малко време, за да обмислите какво ви трябва, преди да започнете. Има обаче толкова много, че трябва да поставите ограничение във времето за вашето изследване и да започнете само с едно.

Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...