Специалист по Фронтенду Middle/Senior Mobile Developer (Flutter)/Frontend Developer (Web)

Дата размещения вакансии: 03.12.2025
Работодатель: ЕС СЕРВИС
Уровень зарплаты:
от 70000 до 90000 RUR
Город:
Нижний Новгород
Яблоневая улица 20
Требуемый опыт работы:
От 1 года до 3 лет

Обязанности:

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

Приложение должно обеспечивать сбор данных, их визуализацию, запуск анализа, коммуникацию и управление подписками.

С чем придется столкнуться и что необходимо соблюдать:

Реализуемое кроссплатформенное приложение должно обеспечивать сбор данных, их визуализацию, запуск анализа, коммуникацию и управление подписками.

Реализация всех модулей приложения согласно ТЗ и дизайн-макетом Figma (аутентификация, профиль, BLE-подключение, графики, чат, отчеты, подписки и т.д.)

Взаимодействие с командой бэкенда для интеграции с REST API и WebSockets

Программирование взаимодействие с датчиком (чтение/запись данных, настройка параметров, OTA обновление, мониторинг данных состояния)

Реализация алгоритмов фильтрации и (детекции метрик согласно ТЗ) на стороне клиента (Dart) перед отображением на графике

Написание модульных/виджет-текстов, проведение отладки (для BLE части, чтения с памяти датчика) и исправление ошибок (баг фиксинг)

Подготовка и помощь (сопровождение) приложения к публикации в App store (IOS) и Google Play и отечественные платформы для Android, включая настройку In-App Purchase и разрешений (Permissions)

Соблюдение код-стандартам проекта, участие в code review, ведение технической документации по своей части работы

Краткое описание:

  • Разработка мобильного кроссплатформенного приложения IOS по готовому дизайну Figma;
  • реализация BLE логики и чата;
  • Обеспечение качества платформы, и всего функционала платформы;
  • Взаимодействие и интеграция с Backendom, ИИ сервисом и БД (S3);
  • разработка веб-кабинета, реализация инструментов анализа и графиков (обсуждается);
  • Обеспечения безопасности (защиты платформы в соответствующими нормами и требованиями);
  • UX/UI Дизайн некоторых окон (страниц приложения).

Требования:

Разработчик должен обладать следующими навыками:

  • Языки и Фреймворки
    • Dart (Обязательно): Глубокое знание языка Dart, его асинхронных возможностей (Async/Await, Isolate), понимание принципов ООП
    • Flutter SDK (Обязательно): Уверенное владение фреймворком Flutter, умение создавать сложные пользовательские интерфейсы, анимации, понимание работы с Widgets, Stateful/Stateless виджетами.
  • Работа с Протоколами и API
    • HTTP/HTTPS и REST API: Опыт интеграции с RESTful API, обработки JSON-данных, работы с библиотеками (например, dio или http), обработки ошибок сети и кодов состояния HTTP.
    • WebSockets (WSS): Опыт реализации двусторонней связи для модуля чата в реальном времени.
    • Bluetooth Low Energy (BLE): Критически важно. Опыт работы с BLE-протоколом в Flutter (с использованием плагинов вроде flutter_blue_plus или ble_industrial), умение сканировать устройства, подключаться к ним, читать/писать GATT-характеристики, подписываться на уведомления (Notifications/Indications).
  • Управление состоянием и архитектура
    • Управление состоянием: Опыт использования современных подходов и решений для управления состоянием приложения (BLoC, Riverpod, Provider или Redux)
    • Архитектурные паттерны: Понимание принципов чистой архитектуры (Clean Architecture) или MVVM
  • Нативные знания и интеграции
  • Опыт написания нативного кода Swift/Objective-C(IOS) и иди Kotlin/Java (Android) для реализации специфических функций, недоступных во Flutter (сложных фоновых сервисов для BLE) - умение интеграции Готовых сервисов BLE (сервисы BLE реализованы их необходимо подключить "внедрить")
  • Опыт интеграции с нативными системами оплаты
  • Опыт интеграции с Firebase Cloud Messaging (FCM) и APNS и иными.
  • Опыт использования библиотек для построения динамических, прокручиваемых графиком в реальном времени (syncfusion_flutter_charts или fl_chart) и графиком отображения с пост обработкой
  • Уверенное использование Git (для контроля версий) GitFlow

Дополнительные требования и желаемые навыки кандидата:

  • D3.js, Angular, WSS, знание нативных особенностей IOS/Android (Permissions, Background services, BLE
  • Разработка мобильного кроссплатформенного приложения по готовому дизайну Figma, реализация логики BLE и чата, интеграция с бэкендом.
  • Технологический стек:
    • Использование и знание фреймворка Flutter (Dart)​​​​ для кроссплатформенной разработки;
    • Нативные зависимости: Использование нативных плагинов для работы с Bluetooth Low Energy (BLE) и нативными платежными системами (Apple Pay / Google Pay /ЮKassa и иными);
  • Знание протоколов BLE (обмена данных)
  • Знание HTTPS (REST API, JSON) (для взаимодействия с основным бэкендом)
  • Знание WSS (WebSockets)
  • Знание FCM/APNS (для реализации возможности доставки Push-уведомлений)
  • Разработка мобильного приложения IOS версии 14.0 и выше
    • Разрешения (Permissions): Обязательный запрос разрешений на Bluetooth (в Info.plist), уведомления.
    • Background Modes: Необходима поддержка работы с BLE в фоновом режиме, чтобы не прерывать измерение при сворачивании приложения.
    • Платежи: Интеграция с Apple Pay и In-App Purchases для управления подписками.
    • App Store Review: Приложение должно соответствовать всем гайдлайнам Apple, особенно в части HealthKit (если применимо) и использования Bluetooth
  • Андройд версии 8.0 (API 26) и выше
    • Google Play Review: Соответствие требованиям Google Play.
    • Разрешения (Permissions): Запрос разрешений на Bluetooth/BLUETOOTH_SCAN/BLUETOOTH_CONNECT (для Android 12+), точное местоположение (для Android 10/11 для сканирования BLE), уведомления.
    • Background Services: Использование Foreground Services для надежной работы с BLE в фоне (с обязательным отображением постоянного уведомления в шторке).
    • Платежи: Интеграция с Google Play Billing Library / Google Pay.
  • Разработка веб-кабинета специалиста, реализация инструментов анализа и графиков ( при наличии опыта создания веб-форм (по договоренности).
  • Качество кода: Соблюдение код-стандартов Dart. Использование архитектурных паттернов (BLoC, Provider или Riverpod) для управления состоянием приложения.
  • Тестирование: Модульные, виджет- и интеграционные тесты;
  • Документация: Подробное комментирование кода и ведение актуальной технической документации по мобильной части.

Условия:

  • Оплата как за проект, так и частями в соответствии с выполненными пунктами ТЗ;
  • Согласование оплаты труда ( как разово за проект или трудоустройство), после собеседования.