Веб-фреймворки

  1. Чем полезны веб-фреймворки?
  2. Общая функциональность веб-фреймворка
  3. Должен ли я использовать веб-фреймворк?
  4. Сравнение веб-фреймворков
  5. Ресурсы веб-фреймворка
  6. Контрольный список изучения веб-фреймворков
  7. Какой веб-фреймворк вы хотите узнать?

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

веб-разработка

Чем полезны веб-фреймворки?

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

Общая функциональность веб-фреймворка

Фреймворки предоставляют функциональность в своем коде или через расширения для выполнения общих операций, необходимых для запуска веб-приложений. Эти общие операции включают в себя:

  1. URL-маршрутизация
  2. Обработка и проверка формы ввода
  3. HTML , XML, JSON и другие выходные форматы с шаблонизатор
  4. Конфигурация соединения с базой данных и постоянное манипулирование данными через объектно-реляционный маппер (ORM)
  5. Веб-безопасность против подделки межсайтовых запросов (CSRF), SQL-инъекций, межсайтовых сценариев (XSS) и других распространенных вредоносных атак
  6. Хранение и поиск сессии

Не все веб-фреймворки содержат код для всех вышеперечисленных функций. Фреймворки делятся на спектр от выполнения одного варианта использования до предоставления каждой известной функции веб-фреймворка каждому разработчику. Некоторые фреймворки используют подход «батарейки включены», когда все возможное поставляется в комплекте с фреймворком, в то время как другие имеют минимальный базовый пакет, который поддается расширениям, предоставляемым другими пакетами.

Например, Фреймворк для веб-приложений Django включает в себя Джанго ОРМ слой, который позволяет разработчику писать реляционная база данных операции чтения, записи, запроса и удаления в коде Python, а не в SQL. Тем не менее, ORM Джанго не может работать без значительных изменений на нереляционные (NoSQL) базы данных такие как MongoDB или же Cassandra ,

Некоторые другие веб-фреймворки, такие как колба а также пирамида легче использовать с нереляционными базами данных, используя внешние библиотеки Python. Существует спектр между минимальной функциональностью с легкой расширяемостью на одном конце и включением всего в структуру с тесной интеграцией на другом конце.

Должен ли я использовать веб-фреймворк?

Используете ли вы веб-фреймворк в своем проекте, зависит от вашего опыта веб-разработки и того, чего вы пытаетесь достичь. Если вы начинающий программист и просто хотите работать над веб-приложением в качестве учебного проекта, то инфраструктура может помочь вам понять перечисленные выше концепции, такие как маршрутизация URL-адресов, манипулирование данными и аутентификация, которые являются общими для большинства веб-приложений.

С другой стороны, если вы опытный программист со значительным опытом веб-разработки, вам может показаться, что существующие фреймворки не соответствуют требованиям вашего проекта. В этом случае вы можете смешивать и сочетать библиотеки с открытым исходным кодом, такие как Werkzeug для WSGI-сантехники с вашим собственным кодом для создания вашей собственной инфраструктуры. В экосистеме Python все еще есть много места для новых фреймворков, чтобы удовлетворить потребности веб-разработчиков, которые не удовлетворены Джанго , колба , пирамида , бутылка а также многие другие ,

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

Сравнение веб-фреймворков

Вам интересно, как структурирован код в проекте Django по сравнению с Flask? Проверять, выписываться это руководство по веб-приложению Django а затем посмотреть то же самое приложение, созданное с помощью Flask ,

У Поговорите со мной на Питоне был эпизод подкаста с подробным сравнением Джанго , колба Торнадо и пирамида рамки.

Существует также хранилище под названием сравнить-питон-веб-фреймворков где одно и то же веб-приложение кодируется с помощью различных веб-фреймворков Python, шаблонизаторов и объектно-реляционные картографы ,

Ресурсы веб-фреймворка

  • Когда вы изучаете, как использовать одну или несколько веб-платформ, полезно иметь представление о том, что делает код под покровом. Этот пост по построению простой Python Framework с нуля показывает, как HTTP-соединения, маршрутизация и запросы могут работать всего за 320 строк кода. Этот пост является удивительным, даже несмотря на то, что получившаяся структура представляет собой упрощение таких структур, как Джанго , колба а также пирамида позволяют разработчикам достичь.

  • Существует также еще один, более поздний учебник из нескольких частей о создании вашей собственной веб-среды на Python. Эта серия основана на алькасар Проект автор кодирует в учебных целях:

  • Проверьте ответ на " Что такое веб-фреймворк и как он сравнивается с LAMP? "вопрос о переполнении стека.

  • Еще одна замечательная серия, раскрывающая магию веб-фреймворка, - «Веб-приложение с нуля». Четыре части:

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

  • " Что такое веб-фреймворк? "является подробным объяснением того, что такое веб-фреймворки и их отношение к веб-серверам.

  • Джанго против Flask против пирамиды: выбор веб-платформы Python содержит справочную информацию и сравнение кода для похожих веб-приложений, созданных в этих трех больших платформах Python.

  • Это увлекательное сообщение в блоге посвящено сложность кода нескольких веб-фреймворков Python предоставляя визуализации на основе их кодовых баз.

  • Тесты веб-фреймворков Python является тестом отзывчивости фреймворка с кодированием объекта в JSON и его возвратом в качестве ответа, а также извлечением данных из базы данных и отображением их в шаблоне. Не было никаких убедительных результатов, но о результатах интересно читать.

  • Какие веб-фреймворки вы используете и почему они классные? является языковой независимой дискуссией Reddit о веб-фреймворках. Интересно посмотреть, что программистам на других языках нравится и не нравится в их наборе веб-фреймворков по сравнению с основными фреймворками Python.

  • Этот сайт с вопросами и ответами на вопрос " Какие лучшие веб-фреймворки Python общего назначения можно использовать в производстве? Msgstr "Голоса не так важны, как список многих фреймворков, доступных для разработчиков Python.

  • Не питон вашего отца: удивительные мощные рамки охватывает рост веб-фреймворков, таких как Sanic , которые построены на Python asyncio функциональность, которая была встроена в стандартную библиотеку начиная с Python 3.4.

Контрольный список изучения веб-фреймворков

  1. Выберите основной веб-фреймворк Python ( Джанго или же колба рекомендуется) и придерживаться его. Когда вы только начинаете, лучше сначала изучить одну структуру, а не пытаться понять каждую структуру.

  2. Проработайте подробное руководство, которое можно найти в ссылках на ресурсы на странице платформы.

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

  4. Создайте первую простую итерацию вашего веб-приложения и перейдите к развертывание раздел, чтобы сделать его доступным в Интернете.

Какой веб-фреймворк вы хотите узнать?

Что такое веб-фреймворк Django?

Я хочу узнать о веб-фреймворке Flask.

Какие еще существуют веб-фреймворки Python?

Чем полезны веб-фреймворки?
Чем полезны веб-фреймворки?
Должен ли я использовать веб-фреймворк?
Что такое веб-фреймворк?
Какие веб-фреймворки вы используете и почему они классные?
Какой веб-фреймворк вы хотите узнать?
Что такое веб-фреймворк Django?
Какие еще существуют веб-фреймворки Python?