Доброго дня.
Для начала опишу ситуацию: попался на переработку проект (PHP 5.1.х, ~2004 год выпуска), который представляет из себя обычный сервис для заказа экскурсий. То есть, ничего сложного: зарегистрировался на сайте, выбрал услугу, ввёл свои данные и желаемые даты, указал куда и с каким гидом (из каталога, с биографией и фоткой) хочешь пойти, отправил. Заказ ушёл на сервер, сохранился, в личном кабинете отобразился. Короче говоря, обычный функционал, ничего особенного.
Причём тут REST API, спросите вы. Отвечу: сам по себе проект ничем не примечателен, но он позволяет устанавливать специальную форму для заказа (считайте, та же форма, но в
iframe
) на любые другие сайты (партнёров). Для того, чтобы определять, какому из партнёров присваивать заказ с их формы – в личном кабинете генерируется ключ (MD5 по всем данным учётки), который потом вставляется в скрипт для вызова фрейма.
Так вот, чтобы сделать всё более технологичным, легко расширяемым/поддерживаемым и быстрым (а это вся история изрядно тормозит, особенно в сезон, когда более 300+ сайтов партнёров начинают генерить заказы со своей стороны в единую БД), я и хочу дать ему качественный REST API бэкэнд на одном из Python-фреймворков + PostgreSQL 9.6. Внешнюю часть я уже реализовал на Vue.js.
Итак, мой выбор, пока что, состоит из:
- Django (Django REST framework)
- Flask
- Bottle \ Eve
- Falcon
Flask и Bottle – уже использовал для других проектов, но там была не критична организация полноценного REST API, только запросы из фронтэнда и так, по мелочи. Так-то ответ очевиден: бери то, что уже знаешь, но меня сильно путают всякие бэнчмарки производительности и сама простота фреймворка (например, REST API на Eve это пять строк кода и там ничего нет, а у Django – отдельный модуль и куча настроек, но и возможностей и поддержки сообщества – гораздо больше).
Собственно, отсюда и вопрос: что лучше взять?
Может быть вообще можно обойтись гугловым Firebase или подобным сервисом?
Буду рад толковым советам/юзкейсам. Заранее спасибо!