Рубрики
Без рубрики

9 Best Python Frameworks для строительства маленьких до корпоративных приложений

Python – это веселая игрушка и пугающий огнемет. То же самое идет с тем, что вы можете сделать с Python …. Теги с Python, Django, Flask, WebDev.

Python – это веселая игрушка и пугающий огнемет. То же самое идет с тем, что вы можете сделать с Python.

Python любим хоббистами, учеными и архитекторами.

Это чертовски легко начать, имеет абстракции более высокого порядка и возможности MetaProgramming для создания крупных и сложных систем, а также имеет грузовые нагрузки библиотек для более чего-либо. Конечно, есть ограничения, когда речь идет о параллелизме и сильной печати, но вы можете обойти их.

В этой статье мы посмотрим на некоторые из лучших рамок Python, когда речь идет о строительстве веб-приложений, больших и маленьких.

  1. Django Framework Django выдержал испытание временем Web Framework для сообщества Python. Если вы нападете на разработчик Python в их сон и заставили их построить веб-приложение на пистолете, они автоматически достигли Django, как рубист достигнет рельсов.

И есть хорошая причина для этого. Джанго, поскольку говорит Tagline, «веб-каркас для перфекционистов с сроками. «Это то, что называется« аккумуляторы включены »Framework (очень похоже на то, как Python – это язык, включающий в себя батареи), который предоставляет все общие функции из коробки.

С этими функциями, запеченными, Django Massivious снижает время разработки:

Удобный и приятной ORM, с миграцией, созданными и применяемыми автоматически в рамках. Леса для автоматической генерации администратора в зависимости от ваших моделей. Поддержка файлов cookie, сеансов, промежуточных программ, шаблонов и т. Д. Особенности безопасности, такие как профилактика XSS, профилактика CRSF и т. Д., применяются автоматически. Работает практически все базы данных там (легко найти адаптеры, где официальная поддержка не существует) Первокласская поддержка географических данных и пространственных запросов, хотя Геджанго и многое, многое другое. Достаточно сказать, что Django является полноценным, дружелюбным веб-каркасом.

Django для вас?

Абсолютно да.

Django отлично подходит для всех случаев использования, будь то быстрые прототипирование или планирование корпоративного приложения. Единственный грубый край, который вы столкнетесь, – это структура рамки. Поскольку Django изгибается назад назад, чтобы сделать разработку быстро и легко для вас, он налагает свою структуру (концепция под названием «Конвенция по конфигурации») на разработчике, с которой вы не согласны. Например, если вы хотите заменить Django ORM с чем-то другим (скажем, SQL Alchemy), будьте готовы к сюрпризам.

Заинтересованы в том, чтобы стать полным составом стека с Django и Python? – Проверьте этот фантастический онлайн курс.

  1. Флэк, пока Джанго занимает почти все рассмотрение в веб-разработке Python, колбу является сильным соперником.

В отличие от Django, колба представляет собой «микро-каркас», что означает, что он фокусируется на получение нескольких минимальных минимальных вещей и оставляет вам остальные. Это «остальное зависит от вас» может быть источником разочарования или восторга, в зависимости от того, что ваши цели. Для тех, кто знает, что они делают и хотят с любовью редить свои веб-приложения, выбрав компоненты их выбора, колба – это боготворение.

Флэк предлагает следующие функции:

Маршрутизация, шаблон, управление сеансом и другие полезные функции. Полная поддержка единиц-тестирования минимальной, подключаемой архитектуре Первоклассная поддержка поддержки отдохнитеми для чертежей, уникальный взять на себя архитектуру для крошечных веб-приложений Выберите пакеты для ORM, миграции и т. Д. Гибкая структура приложений – поставьте свои файлы, где они имеют наибольшее значение для вас статического файла, обслуживающего WGSI, совместим к вам в колбе?

Как уже говорилось, Flask – минимальная веб-каркас, со всем разбитым в отдельные компоненты, которые вы можете поменяться. Если вы спешите построить прототип, вы проведете много времени, делая тривиальные решения в базе данных, структуру папки, маршрутизации и т. Д., Что может оказаться контрпродуктивным. Флэбка работает лучше всего, когда вы на устойчивом, серьезном проекте среднего до крупномасштабных, особенно отдыхающих API.

  1. Бутылка Если вы думали, что подход колбы не был достаточно минимальным, а вам все равно понравится больше контроля, скажи привет к бутылке.

Бутылка их еще больше, до такой степени, что единственная зависимость – это стандартная библиотека Python. Это означает, что нет PIP устанавливает это или PIP Установите это, хотя, скорее всего, вам нужно до долгого. Вот почему бутылка выделяется для некоторых людей:

Одно файловое развертывание. Да, все ваше приложение живет в одном файле «.py». Нет внешних зависимостей. Если у вас установлена правая версия Python, вы добруетесь. Поставляют свой шаблонный двигатель, который можно помешать с Jinja2, Mako или Cheetah. Поддержка форм, заголовков, файлов cookie и файлов загрузки. Встроенный веб-сервер, который можно легко заменять. Бутылка для тебя?

Если вы делаете действительно небольшое приложение (скажем, менее 500 строк кода) без особых требований, бутылка может иметь большое значение для вас. Это полный подход No-Nonsense к созданию веб-приложений, но на практике вы обнаружите, что вам будет более затруднено, чем помогать бутылкой. Причина в том, что реальный мир всегда меняется, и прежде чем вы это узнаете. Новые требования будут сброшены на вашу голову. В этот момент положить все в один файл, станет рукой.

Кроме того, если вы думаете, что бутылка и колба почти похожи, вы правы. Предложения об объединении двух дату до 2012 года и даже Армин, создатель колбы, соглашается с этим. Однако Марсель, создатель бутылки, поддерживает строгое идеологическое различие из-за одного файлового подхода и настаивает на том, что двое остаются отдельными.

  1. Зап Зап сложен, чтобы объяснить, но я попытаюсь. Да, это веб-каркас, которая может использоваться для создания приложений больших или маленьких, но это не все. Zope – это больше платформы, которая состоит из инструментов (включенных в Интернете), созданные под философией Zope и поддерживаются Zope Corporation.

Zope имеет несколько интересных компонентов и функций, подходящих для разработки приложений предприятия:

Архитектура регистрации и открытия компонента, чтобы настроить большое приложение. ZODB – (единственная) объектная база данных для Python для хранения объектов. Полноразрешенные рамки и стандарты для систем управления контентом Набор Frameworks веб-приложений – Canonical One по-прежнему называется Zope, хотя на его верхней части построили несколько новых структур (например, GROK). Сильные стандарты для разработки, выпуска и обслуживания программного обеспечения. Зап для тебя?

Если вы после высоко структурированной среды для построения действительно больших приложений, Zope – это хорошо. Это сказано, вы также столкнетесь с вашей справедливой долей вопросов. В то время как Zope продолжает развиваться, сообщество действительно мало, в той степени, в которой многие разработчики Python даже не слышали об этом. Поиск учебных пособий и обширной документации трудно, поэтому будьте готовы сделать много копающих (хотя сообщество действительно полезно!). Кроме того, разработчики Python, которые вы столкнулись, могут не хотеть изучать Zope и «разбавить» их навыки.

  1. Turbogears Turbogears – это очень гибкая каркас, которая имеет действительно композимную архитектуру. Это каркас, который масштабируется в соответствии с вашими потребностями, и вы можете использовать его, чтобы построить одно файловое приложение или мультирежиемое бегемот.

У Turbogears есть некоторые элегантные функции, некоторые из которых либо не присутствуют в популярных рамках (таких как Django), либо трудно построить:

Первокласская поддержка для нескольких баз данных Multi-базы данных транзакций Высоко модульная – начните с одного файла и масштабироваться столько, сколько вам нужна мощная ORM (SQLALCHEMY, которая более зрела и способен, чем ORM Django) Ступительная архитектура на основе встроенной поддержки спецификации WSGI для базы данных, связанной с функциональным интерфейсом, в отличие от глубоких, жестких объектно-ориентированных иерархий. Turbogears для вас?

Если вы хотите радостно развиваться и хотите проверить, зрелые и надежные рамки вдали от средств массовой информации «потрясающий, следующий генерал» и все это, Turbogears – отличная посадка. Он высоко уважается в сообществе и имеет полную обширную документацию. Конечно, Turbogears не достоверно, что означает первоначальную настройку и время конфигурации, но это идеальная основа для разработки приложений предприятия.

  1. Web2PY Web2PY начался как проект хобби и был выпущен в 2007 году. Его цели – сделать веб-разработки простыми и доступными для всех.

В результате Web2Py принимает подход к нулю зависимости к Extreme – оно не имеет никаких требований, ничего для установки и включает в себя полнофункциональный веб-редактор для разработки, управление базами данных, а также развертывание.

Вы можете почти думать об этом как об этом как Android-студия, что является более полной средой, чем просто рамки. Некоторые приятные функции, которые Web2Py есть:

Практически нет кривой обучения. Минимальное ядро (только 12 объектов), которые могут быть даже запомнены! Защита шаблонов Pure-Python от XSS, CSRF и других атак приятных и последовательных API Web2Py для вас?

Web2PY – это стабильная и веселая каркаса, но трудно рекомендовать его против других вариантов, таких как Django, Flask и т. Д. Вряд ли есть какие-либо рабочие места, и история тестирования подразделения не велика. Тем не менее, вы можете наслаждаться API кода и общий опыт предложений Framework, особенно если вы строите API для отдыха.

  1. Cherrypy Cherrypy – это еще одно микроразрушение, предназначенное для обеспечения базовой структуры функциональности и быстро уйти с дороги.

Хотя он сопоставим с другими микроразрушающими работами, такими как колба, Cherrypy похвастается некоторого различия:

Он содержит встроенный многопоточный сервер (что-то, что остается в списке пожелания Flask) (Одноместный) веб-сервер может размещать несколько приложений! Служите свое приложение в качестве приложения WSGI (для интерфейса с другими приложениями WSGI) или простой HTTP-сервером (который выполняет лучше) Первокласская поддержка профилирования и тестирования на Pypy in Pypy (для правдивых точек зрения), Jython и даже Android Cherrypy делает все это, а затем обычно ожидают от веб-структуры.

Морелся для тебя?

Если вы создаете спокойные услуги в основном, Cherrypy является гораздо более серьезным претендентом, чем колба. Это десятилетний рамок, который хорошо созрел и подходит для небольших и больших приложений.

  1. Sanic Рост узла и его асинхронной модели программирования оставил множество сообществ, чувствующих себя позади, включен Python. В ответ на радаре появился бурри async Web Frameworks, оказался одним из них.

Sanic сильно вдохновлен колбой, в той степени, в которой она позаимствовала декораторы маршрута, чертежи и другие основы крючков и грузило. И им не стыдно признать это. Какое саниновое приводит к столу, если вы вентилятор колбы, является верным безблокировкой ввод/вывода для удовлетворения уровней производительности приложения узла. Другими словами, Sanic – это колба с поддержкой async/ждать!

По сравнению с Cherrypy Sanic имеет невероятное преимущество производительности (просто подумайте о том, как это будет тариться против колбы!). Проверьте следующие результаты, протестированные DataWeave:

Как видите, после того, как номера параллелизма начнутся превышать 50 в секунду, Cherrypy практически задыхается и выбрасывает высокую частоту отказов.

Санчан для тебя?

Хотя характеристики производительности санатового удара все остальное из воды, это может быть не лучший выбор для вашего следующего проекта. Основной причиной является отсутствие асинхронных библиотек. Большая часть существующих инструментов и библиотек Python была написана для одной резьбовой версии Cpython, не представляемая высокой последовательности или асинхронными операциями. Если, например, ваш любимый ORM не поддерживает асинхронные операции, вся точка использования санана побеждается.

Из-за этих соображений погашения и наличия мы не будем рассмотреть более асинхронные рамки в Python.

9.Мамонит Я наступил в эту структуру некоторое время назад и думал, что это был шаг в правильном направлении. С тех пор версия 2.0 была выпущена, и я чувствую, что время, наконец, пришел, чтобы дать казонит немного любви.

Проще говоря, Masonite – это версия Python of Larave (известная PHP Framework, если вы не знаете). Почему это имеет значение? Это имеет значение, потому что Ласкал был построен на принципах Ruby на рельсах, а вместе эти две рамки позволяют не рубиновым разработкам испытать «рельсы пути» делать вещи.

Разработчики Laravel (и в той мере, рельсы) будут чувствовать себя прямо у себя дома и будут работать в буквально нет времени. Когда я попробовал масонит (и я отправил проблему или два, включая ошибку!), Я смог создать API для отдыха с ровно нулевым мышлением, потому что моя мышечная память Лырява все.

В качестве батареи, включенные, Full-Stack Framework, Masonite приносит несколько интересных вещей в таблицу:

Миграция баз данных в стиле Active-Record Record (которая, в отличие от Django, должна быть создана разработчиком) Мощный контейнер IOC для инъекций для зависимостей собственного CLI (называемый «ремеслом») для лесов и выполнения задач первой классы поддержки подразделения для тестирования подразделения самого большого «соперника» для масонита является Django, поскольку сообщество делает все возможное, чтобы продвинуть каркас , восхитительный, а следующая большая вещь. Будет ли он превзойдет Django – это то, что время скажет (если вы спросите меня, у него есть приличный выстрел), но для обсуждения, сравнивающего два, см. Здесь и здесь.

Масонит для вас?

Масонит по-прежнему ребенок по сравнению с Джанго, поэтому нет никакого способа, чтобы он мог быть рекомендован над Джанго. Тем не менее, если вы находитесь в дорожке рельсов (или путь Laravel) делать вещи, вы будете признателен тем, что может предложить масонит. Он идеально подходит для быстрого создания прототипов, которые нужно все предварительно сконфигурированное и легко в переключении.

Заключение нет нехватки веб-карканов Python там, большой и маленький. Хотя вы можете получить в значительной степени для небольшого проекта, приложение Enterprise имеет требования, которые не могут выполнить не так много из этих рамх. Если вы спросите меня, для развития предприятия, Джанго (в масштабе), Zope и Turbogears – это то, что приходит на ум. И даже среди них я склонен к турбогугам.

То, что сказал, какой-то архитектор стоит его соль, может подобрать микрофрамную работу и выкатить их архитектуру. И это в значительной степени, что происходит на практике, что объясняет успех колбы и аналогичных идей.

Если вы новичок, то этот онлайн-курс будет полезен для изучения Python.

Оригинал: “https://dev.to/dihfahsih1/9-best-python-frameworks-for-building-small-to-enterprise-applications-2jla”