Andrey Karchevsky @realkarych
Software Engineer
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Backend Developer
Python
Git
OOP
Linux
PostgreSQL
Dart
Flutter
Software Engineer
Хранить все креды надо в переменных окружения / Конфиг-файлах (yaml / env / ini...)
Исправить комментарий выше не могу по сроку давности.
Ошибся по поводу библиотеки Fluentogram: это не обертка над встроенным в Aiogram механизмом i18n, а альтернатива, построенная на Mozilla Project Fluent.
Специфика чат-ботов в Telegram такова, что есть ограничение BotAPI — бот не может писать боту. По этой и многим другим причинам именно "UI" протестировать нормально нельзя. Так что обычно тестами покрывают бизнес-логику, а UI прокликивают вручную.
1) Aiogram — полноценный фреймворк, а не просто обертка над API Telegram. Он очень похож на аналогичные backend-фреймворки. Тут из коробки FSM (Finite State Machine — она же машина состояний), фильтры, миддлвари. Aiogram — честно-асинхронный, т.к. под капотом aiohttp, asyncio.
2) Комьюнити.
2.1) Оно просто самое большое и активное. Все проблемы решили до Вас, и в тех же Telegram-чатах есть ответы на большинство из интересующих вас вопросов. А если нет, то Вам на них скорее всего ответят.
2.2) Реализовано большое количество вспомогательных классных библиотек: упомянутый aiogram-dialog, fluentogram (обертка над встроенным механизмом i18n). Есть куча готовых темплейтов и примеров ботов на все случаи жизни со всеми "комбинациями" стеков.
3) Развитие фреймворка. Скоро релиз 3-ей версии (сейчас она в beta), в которой появятся роутеры, приятные фичи и наконец-то хорошая документация. Полный список отличий от текущей версии можете найти на официальном сайте (aiogram.dev).
4) Оперативные обновления с интеграцией новых версий BotAPI.
5) Он очень хорош с точки зрения наличия документ-строк (докстрингов), подсказок типов (тайпхинтов), без которых программировать на питоне уже дискомфортно.
Отличное дополнение. А почему бы не выкатывать сразу на стадии MVP нормальную админку под FastAPI? По требованиям заказчиков, какие я встречал, они все ± на одно лицо, и можно себе накидать базовый универсальный шаблон с UI на том же Vue.
Согласен, я и указал в "плюсах", что Django-admin — классная вещь с точки зрения скорости развертывания. Но там первое слово — Django, и тащить весь фреймворк в проект просто из-за админки — решение почти всегда не лучшее.
Кстати про FastAPI: я начал следить за проектом: https://github.com/fastapi-admin/fastapi-admin. Похоже, потихоньку развиваются альтернативы django-admin.