Backend Web-приложения большую часть времени обрабатывает запросы от frontend'а. Ответная реакция на запрос, как правило, зависит от того, какой был запрошен адрес и с каким HTTP-глаголом. Чаще всего используются POST- и GET-запросы. Подробнее о глаголах протокола HTTP вы узнаете в соответствующем курсе, пока же достаточно понимать, что глагол — такая же часть запроса, как и URL (тот самый адрес, который вы видите в браузере).
Практически в любом Web-приложении нужно
Этот набор действий практически не меняется от проекта к проекту, поэтому его и выносят во фреймворк. При этом типичный фреймворк (не только Web-фреймворк) устроен так, что работает в режиме "не звоните нам, мы сами вам позвоним": пользователь фреймворка встраивает свои функции в готовый каркас, а фреймворк сам решает, когда и какие функции вызывать. Этим фреймворк отличается от обычной библиотеки — последние обычно отдают контроль пользователю.
Давайте рассмотрим пример кода, построенного с использованием web-фреймворка:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
Эти пять строчек — готовое Web-приложение, пусть и содержащее всего один обработчик hello_world
. Обратите внимание на то, насколько код обработчика лаконичен: обработчик возвращает строку и вообще является максимально простой функцией. Вся "магия" (в смысле "автоматика") сокрыта в декораторе @app.route
, который привязывает обработчик к конкретному пути (route).
В HTTP-запросе путь — это часть адреса, идущая следом за доменным именем. В адресе https://foo.bar/this/is/a/path
путём будет строка /this/is/a/path
. В примере выше hello_world
отвечает на запросы по пути '/'
— это так называемый "корень" ("root"), минимально возможный путь (в адресе "https://hexlet.io/" завершающий слэш — тот самый "корень" сайта, т.е. его главная страница).
Рассмотренный пример демонстрирует использование микрофреймворка Flask. Приставка "Микро-" в отношении Web-фреймворка обычно говорит о том, что фреймворк берёт на себя только маршрутизацию (routing) (сопоставление путей с обработчиками) и, возможно, немного помогает с формированием простых ответов (скажем, текстовых как в примере выше).
"Микроскопичность" часто связана ещё и с тем, что небольшие web-приложения, реализованные с помощью микрофреймворков, умещаются в один файл с кодом! А вот большие фреймворки вроде Django уже требуют тщательного распределения кода по пакетам и модулям в соответствии со строгими правилами.
И если к микрофреймворку вы, скорее всего будете со временем добавлять библиотеки, добавляющие приложению функциональности, то большой фреймворк обычно уже укомплектован кодом, как говорят, на все случаи жизни.
Такое разделение на "разумный минимум" и "всё сразу (и сразу по строгим правилам)" сказывается на простоте изучения: с микрофреймворком сильно проще стартовать! А большие фреймворки можно будет освоить позже, когда вы освоитесь с основами Web-разработки и решите создать что-то большое и сложное!
Вы могли бы подумать, что микрофреймворки — это нечто "игрушечное" или "учебное", но я предостерегаю вас от подобного вывода! Микрофреймворки применяются в реальных проектах, в том числе и больших. Разница между большим фреймворком и микрофреймворком с дополнительными библиотеками может быть минимальна. Часто выбор между тем и другим вообще зависит от вкусовых предпочтений разработчика :)
Прочитайте главу "A Minimal Application" руководства по быстрому старту с Flask и добейтесь того, чтобы приложение запускалось на вашей машине локально и сайт открывался в браузере.
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Статья «Ловушки обучения»
Вебинар «Как самостоятельно учиться»
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт