Ответ
Я ищу пакеты в первую очередь на pub.dev — это официальный репозиторий для Dart и Flutter. Там есть вся необходимая информация: версии, зависимости, рейтинг (pub points), и часто — ссылка на исходный код.
Перед добавлением пакета я всегда проверяю несколько ключевых моментов:
- Активность поддержки: Смотрю дату последнего обновления и частоту коммитов на GitHub.
- Качество: Обращаю внимание на количество открытых issues, наличие тестов и документации.
- Соответствие задаче: Убеждаюсь, что пакет решает именно мою проблему, а не добавляет избыточный функционал.
- Зависимости: Проверяю, не тянет ли пакет за собой множество других больших библиотек.
Для нишевых задач или вдохновения также смотрю курируемые списки, например, awesome-flutter, и читаю статьи в блогах известных разработчиков из сообщества.
Ответ 18+ 🔞
Э, слушай, а вот это ты правильно подметил, про поиск пакетов. Прям в точку, ёпта. Потому что иначе можно так впиздюриться в зависимости, что потом сам от себя охуеешь, пытаясь это всё собрать.
Ну, первое дело — конечно, pub.dev. Это как священная корова, на неё молятся. Там всё есть: версии, эти твои pub points (которые, честно говоря, иногда вызывают подозрение ебать), и главное — ссылка на гитхаб. Без неё вообще ни в коем случае. Если пакет без исходников — это сразу красный флаг, размером с хуй с горы. Шёл бы такой пакет на хуй, сразу.
А дальше, чувак, начинается настоящая детективная работа. Вот мои правила, выстраданные кровью и дебагом в три часа ночи:
- Активность. Захожу на гитхаб и первым делом — в
Insights. Если последний коммит был два года назад, а открытых issues — овердохуища, это плохой знак. Значит, пакет накрылся медным тазом. Автору, видимо, стало да похуй. Ну или он помер. Бывает. - Качество. Смотрю, есть ли тесты. Нет тестов? Ну, доверия ебать ноль. Документация — одна строчка «читайте код»? Пизда рулю. Это же мартышлюшка какая-то, а не библиотека. Ещё смотрю, как автор реагирует на issues. Если он там всем советует «пофикси сам и сделай PR» — это, конечно, круто с точки зрения open source, но для меня, как для пользователя, сигнал, что поддержка — хитрая жопа.
- Соответствие. Вот это ключевое! Бывает, нужен простой слайдер, а находишь мега-виджет, который и кофе варит, и на Марс летает. Ебать мои старые костыли, зачем мне этот монстр? Беру только то, что решает конкретную задачу. Иначе потом терпения ноль ебать рефакторить эту лапшу.
- Зависимости. Открываю
pubspec.yamlи ахуеваю. Пакет для работы с JSON тянет за собой всю вселенную, включая какой-нибудьuniversal_io_web_socket_bloc_provider. Ни хуя себе! Сразу закрываю. Ищу что-то более легковесное. Помни: каждый лишний пакет — это потенциальный конфликт версий, который вылезет в самый неподходящий момент. Волнение ебать обеспечено.
Ну а если на pub.dev пусто, или всё какое-то блядовитое, лезу в кураторские списки, типа awesome-flutter. Там народ обычно отфильтровал уже самое годное. И да, статьи всяких гулей из сообщества — это сила. Они часто пишут про подводные камни, про которые в официальной доке ни слова. Э, бошка, думай! Не изобретай велосипед, если его уже собрали, отладили и даже покрасили.
Короче, вся философия в том, чтобы не быть распиздяем. Добавил левую зависимость — получи сосалку на всю жизнь, которая будет сосать твоё время на обновлениях и фиксах. Выбирай с умом, будь параноиком. Это как жениться: посмотри не только на невесту (документацию), но и на всю её семью (зависимости) и прошлое (issues на гитхабе). А то будет вам хиросима и нигерсраки в продакшене.