Для чего используешь зависимости (dependencies) в Flutter?

«Для чего используешь зависимости (dependencies) в Flutter?» — вопрос из категории DI, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Зависимости в pubspec.yaml я использую для подключения внешних пакетов, которые решают общие или сложные задачи, чтобы не писать весь код с нуля. Это ускоряет разработку и повышает надежность.

Основные категории пакетов в моих проектах:

  1. Сетевое взаимодействие: http или dio для работы с REST API.
  2. Управление состоянием: riverpod, bloc или provider.
  3. Локализация и форматирование: intl.
  4. Работа с данными: sqflite для локальной БД, shared_preferences для простого хранилища.
  5. Утилиты: cached_network_image для загрузки изображений, flutter_dotenv для переменных окружения.

dev_dependencies я применяю для инструментов, нужных только в разработке: flutter_test для юнит-тестов, mockito для мокинг, flutter_lints для статического анализа.

Перед добавлением пакета я всегда оцениваю его поддержку, размер и лицензию.