Вопрос: стек для 💭
TG Webapp 💻
Представим, что я python разраб, немного писал Firebase Cloud Functions на nodejs.
Я хочу написать tgbot с webapp, ничего не знаю про фронт, хочется просто заюзать готовые современные стили.
Вебапп имеет бекенд, который сможет скейлится до 1М дау. На бекенде есть ручка, которая что-то дорогое делает, за что юзер платит кредитами с баланса (например, генерация картинки по промпту). Авторизация на беке через хедер от телеги.
Какой бы ты для этого всего посоветовал стек?
Например:
- взять заботать реакт и node js, взять такой-то туториал/шаблон и забыть про питон.
- бек писать на питоне, фронт взять htmx потому что ...
В целом есть два стула противоположных стека:
- фулстек JS (next.js в целом потянет все что нужно, я даже background jobs queue нашел нормальный)
- фулстек питон с htmx
Давате посмотрим на них:
# next.js+ в одном месте фронт и бек, они плотно связаны и в целом даже удобно взаимодействуют (тот же
trpc, я в шоке был когда нашел, или server actions)
+ есть тонны ui-китов на любой вкус и цвет, оно скорее всего не будет выглядеть как говно даже если ты не фронтендер
+ гибко как с интерактивом на фронте, так и на бекенде
- предстоит заботать новый фреймворк со своими специфичными штуками как сделать Х (можно без этого конечно, но с этим обычно лучше)
= я встречал много шаблонов проектов, с которыми можно почти сразу писать фичи вместо сетапа всего (как раз в посте выше)# python + htmx+ более знакомый сетап, скорее всего многие бекенд вещи получится сделать проще (быстрее/эффективнее по деньгам?)
- htmx без допов ограничивает интерактив на фронте (по сути тот же шаблонизатор джанги/фласка, грубо говоря), а с ними - не сильно отличается от реакта
= за шаблоны не могу сказать, не в теме тут, но субъективно их кажется меньше, и htmx в целом кажется более нишевымобщее:= по перфомансу (селфхостед или клауд) вряд ли одно из решений будет выигрывать (но firebase functions мне кажется слишком дорогими при скейле)
= и там и там много инструментов на любую задачу
= на первый взгляд кажется что у тг вебаппа не так много фронта
----
PS.: еще есть опция сделать фронт на реакте/нексте и ходить в питоновскую апишку (а на vercel в cloud functions можно писать не только на next.js но и на го, питоне или еще чем-то и это может лежать в том же репо), или взять всякие firebase/supabase/etc, но на мой взгляд это больше усложняет итоговую систему и дает иллюзию простоты решения, а на деле проще не становится (а я так пробовал делать)
---
Мнение:я бы лично делал на next'e, очевидно, но обычно я топлю за то, чтобы брать знакомый стек для начала - это позволяет не тупить в простых вещах и быстрее катить, а потом можно и переехать при желании - тут вопрос в том, насколько есть желание/возможности/необходимость ботать новое