Опубликовано 5 дней назад

Разработчик мобильного приложения (Android - Kotlin, iOS - Swift) в KonnektU Москва

Building iconв офис
Money bag iconне указана

Ищем опытного full stack mobile developer для разработки и поддержки двух нативных приложений (Android на Kotlin, iOS на Swift) для CRM в фармацевтике. Нужно обеспечить офлайн-синхронизацию, server-driven UI, интеграцию с локальной БД и безопасность.

Задачи:

  • Разработка и поддержка двух нативных приложений (Android на Kotlin, iOS на Swift) — написание нового кода, доработка существующего, обеспечение паритета функциональности между платформами.
  • Работа с офлайн-синхронизацией — реализация надёжного обмена данными с сервером при ограниченной связи, кэширование, разрешение конфликтов.
  • Реализация сервер-driven UI — приём конфигураций с сервера, динамическое построение форм/экранов, валидаций, навигации без перевыпуска приложения.
  • Интеграция с локальной базой данных — проектирование объектной модели, миграции, оптимизация запросов.
  • Интеграция с веб-контентом — использование WebView (WKWebView) для отображения HTML-форм, организация мостов (бриджей) между JavaScript и нативным кодом для доступа к локальным данным и вызова нативных функций.
  • Взаимодействие с бэкендом — описание и согласование API (желательно через OpenAPI/Swagger), использование моков для параллельной разработки, генерация клиентских моделей.
  • Обеспечение безопасности — хранение токенов в Keychain/KeyStore, подпись запросов, TLS, защита от повторов (опыт с кастомным шифрованием для Bluetooth-протокола приветствуется).
  • Тестирование — написание unit-тестов (бизнес-логика, валидаторы) и UI-интеграционных тестов (сквозные сценарии на симуляторах с моками сервисов).
  • Участие в архитектурных решениях — выбор паттернов (MVP, MVVM, VIPER), организация слоёв (репозитории, use cases), адаптация под современные фреймворки (SwiftUI, Compose, App Intents).
  • Работа с публикацией — сборка, подпись, выкладка (процесс уже отлажен, но требуются знания).
  • Поддержка существующего кода — правка багов, рефакторинг, перенос фич с одной платформы на другую.
  • Коммуникация — участие в обсуждении требований с аналитиками, продактом, проджектами.
  • Отслеживание трендов — оценка кроссплатформенных решений (Flutter, KMP) и их применимость для продукта.

Требования:

  • Android: Kotlin.
  • iOS: Swift (включая SwiftUI), UIKit, работа с Core Data или SwiftData (опыт с Realm будет плюсом).
  • Архитектурные паттерны: MVVM (основной), MVP, MVC – с пониманием их сильных и слабых сторон.
  • Базы данных: Realm (понимание принципов объектных БД, миграций, многопоточности важно).
  • Сеть: REST, работа с URLSession, Alamofire / KTOR (для Android — KTOR приветствуется как кросс-платформенное решение).
  • Безопасность: Keychain / KeyStore, TLS, подпись запросов.
  • Дополнительные технические навыки: Server-driven UI, WebView и JavaScript Bridge, офлайн-синхронизация, работа с OpenAPI / Swagger, тестирование (JUnit / XCTest, Espresso / XCUITest, моки, стабы), инструменты: Git, CI/CD, Ansible, понимание кроссплатформенности (Flutter vs KMP vs натив).

Условия:

  • Работа с интересным продуктом в ИТ компании.
  • Современный стек, грамотная команда, отлаженные процессы.
  • Официальное трудоустройство согласно ТК РФ (оформление трудовых отношений только по трудовому договору).
  • График работы: гибрид, с 9:00 - 18:00 по МСК.

Навыки:

  • Kotlin
  • Swift
  • SwiftUI
  • UIKit
  • Core Data
  • SwiftData
  • Realm
  • MVVM
  • MVP
  • MVC
  • REST
  • URLSession
  • Alamofire
  • KTOR
  • Keychain
  • KeyStore
  • TLS
  • Server-driven UI
  • WebView
  • WKWebView
  • JavaScript Bridge
  • OpenAPI
  • Swagger
  • JUnit
  • XCTest
  • Espresso
  • XCUITest
  • Git
  • CI/CD
  • Ansible
  • Flutter
  • KMP
Эту вакансию мы нашли в Telegram-канал
KO

KonnektU

Москва

Получить оффер

Похожие вакансии

Это единственная вакансия по вашему фильтру

Не то, что искал?

Автоотклики