Что это простыми словами
drift — это инструмент, который помогает приложению сохранять данные прямо на телефоне пользователя.
Аналогия: представьте записную книжку, которая всегда лежит в кармане приложения. Вы можете записывать туда заметки, списки покупок, любимые рецепты — и всё это останется даже без интернета. drift организует эту записную книжку: создаёт для неё разделы, помогает быстро находить нужное и не даёт записям перепутаться.
Данные, которые так хранятся, разработчики называют «локальными» — они живут на устройстве, а не на сервере в облаке.
Официальное определение
Теперь, когда суть понятна, вот как drift описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме — и теперь будете понимать, что за ней стоит.
«drift — типобезопасная библиотека для работы с реляционными базами данных SQLite во Flutter-приложениях с поддержкой реактивных запросов».
Разберём по словам. «SQLite» — это технология для хранения данных в виде таблиц, как в Excel, только внутри приложения. «Типобезопасная» значит, что библиотека помогает не перепутать, где лежат цифры, где текст — ошибки такого рода отловятся ещё до запуска. «Реактивные запросы» — данные обновляются на экране сами, как только что-то изменилось в хранилище, не нужно перезагружать страницу вручную.
Какую задачу решает
Мобильные приложения часто должны работать без интернета или сохранять данные, чтобы не загружать их заново при каждом открытии. Например, мессенджер хранит историю переписки на телефоне, приложение для заметок держит ваши записи локально, музыкальный плеер запоминает плейлисты.
drift упрощает эту задачу. Без него разработчику пришлось бы вручную писать длинный сложный код для каждой операции с данными: сохранить, найти, обновить, удалить. drift берёт рутину на себя и даёт удобные короткие команды.
Побочная польза: если данные хранятся локально, приложение работает быстрее — не нужно ждать ответа от сервера.
К какой экосистеме относится
Язык — Dart.
Фреймворк — Flutter.
Специальность — Mobile Developer Cross-platform (разработчик мобильных приложений, работающих и на Android, и на iOS одновременно).
drift встречается только в проектах на Flutter. Если видите drift в резюме, значит человек писал мобильные приложения на этом фреймворке.
Чем заменяется
drift — не единственный способ хранить данные локально во Flutter. Ту же задачу решают Hive (ещё одна популярная библиотека для локального хранения, проще в освоении), sqflite (более низкоуровневая работа с SQLite, требует больше кода) и isar (современная альтернатива, быстрая и удобная). В одном проекте обычно используют что-то одно.
Главное: переход между ними дешёвый. Разработчик, который работал с drift, освоит Hive или isar за несколько дней — задача одна, меняется только способ записи. Это не разные профессии, а разные инструменты для одной работы.
Что не путать
drift ≠ база данных на сервере. Серверная база (PostgreSQL, MySQL) хранит данные централизованно для всех пользователей, drift держит их только на устройстве конкретного человека.
drift ≠ Firebase или Supabase. Это облачные сервисы для хранения данных в интернете, drift работает офлайн на телефоне.
drift ≠ Flutter. Flutter — это сам фреймворк для создания приложений, drift — лишь одна из библиотек внутри него.
drift ≠ Bloc или Riverpod. Те управляют состоянием приложения (что показано на экране прямо сейчас), drift отвечает за долговременное хранение.
Насколько это важно при отборе
Короткий ответ: обычно это НЕ повод отбраковывать кандидата.
Самая частая ошибка новичка-рекрутера — искать строго «Flutter + drift» и отсеивать сильного разработчика, у которого в резюме указан Hive или isar. Он освоит drift за несколько дней, потому что задача та же. Отсеивая по конкретной библиотеке, вы теряете хороших людей и затягиваете поиск.
Правильный подход: смотрите, есть ли у кандидата опыт с любой библиотекой для локального хранения данных во Flutter. Если есть — этого достаточно. Если в вакансии жёстко написано «только drift», уточните у нанимающего менеджера, действительно ли это принципиально: часто оказывается, что нет.
Когда всё же стоит обратить внимание: если приложение работает с большими объёмами структурированных данных и сложными запросами, опыт именно с SQL-подобными решениями (drift или sqflite) может быть важнее, чем просто Hive. Но это частный случай — уточняйте у команды.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.