Сальников Станислав Сергеевич

Разработчик Flutter (Карты/GIS)

2 500 - 3 000 USD
  • Санкт-Петербург
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет

Обзор роли

Разработка и выпуск приложения на Flutter с использованием функционала карт Mapbox, возможностей ГИС, надежного офлайн-режима и аккуратной интеграции с REST API. Вы будете отвечать за полный цикл мобильной разработки — от UI до локального хранилища и оптимизации производительности.

Основные обязанности

  • Реализовывать функции работы с картами в Mapbox для Flutter (стили, векторные тайлы, маркеры, кластеризация, пользовательские слои).

  • Разрабатывать офлайн-режим: упаковка карт/тайлов, версионирование данных, синхронизация, обработка конфликтов, фоновые повторные попытки.

  • Работать с ГИС-данными: GeoJSON, проекции, буферизация/упрощение, пространственные запросы, рисование/редактирование геометрий.

  • Интегрировать REST API (авторизация, пагинация, фильтрация) и проектировать устойчивую сетевую логику с кэшированием и обработкой ошибок.

  • Создавать локальное хранилище (SQLite/sqflite/Drift) и модели данных, оптимизированные для офлайн-чтения/записи.

  • Оптимизировать производительность (плавная работа карт, профилирование памяти/CPU, контроль расхода батареи и трафика).

  • Писать модульные, виджет- и интеграционные тесты, поддерживать архитектуру приложения, дружественную к CI.

Обязательные требования

  • 3+ лет опыта с Flutter/Dart; наличие хотя бы одного опубликованного production-приложения на Flutter.

  • Практический опыт работы с Mapbox в Flutter (переключение стилей, runtime-стилизация, источники/слои, аннотации).

  • Подтвержденный опыт реализации offline-first: стратегии синхронизации, фоновые задачи и разрешение конфликтов.

  • Уверенные навыки работы с REST API (JWT/OAuth2, interceptors, повторные запросы, экспоненциальная задержка).

  • Основы ГИС: системы координат, тайлинг (z/x/y), векторные и растровые тайлы, GeoJSON, базовые пространственные операции.

  • Опыт работы с локальными БД (sqflite или Drift), миграциями, индексированием, оптимизацией запросов.

  • Знание чистой архитектуры (BLoC/Cubit/Provider), навыки code review.

Будет плюсом

  • Опыт офлайн-маршрутизации/поиска пути (A*/Дейкстра) или работы с готовыми графами.

  • Работа с PostGIS/GeoDjango-бэкендами; знание OpenAPI/Swagger.

  • Опыт разработки фоновых сервисов/isolates, менеджеров загрузок и работы с файлами на iOS/Android.

  • Понимание вопросов безопасности, шифрования данных «на месте» и безопасного хранения.