Informazioni sull'offerta
Разработка и развитие iOS-мессенджера на базе протокола Matrix и Element. Нужно привести интерфейс и поведение iOS-версии к соответствию с Android-версией, работать с Matrix-событиями, E2EE и нативной инфраструктурой приложения.
О проекте
Команда развивает мессенджер на базе протокола Matrix, за основу взят Element. Проект находится на первой итерации и включает личные и групповые переписки, отдельные каналы и доставку апдейтов через событийную модель Element.
Что предстоит делать
- Разрабатывать и дорабатывать UI мессенджера на SwiftUI и UIKit.
- Работать с Matrix-событиями: sync, timeline и room_tags.
- Обеспечивать E2EE: Megolm, key backup, восстановление ключей и device verification.
- Интегрироваться с matrix-ios-sdk через Obj-C API, отлавливать и исправлять краши на implicitly-unwrapped optionals.
- Настраивать Keychain, entitlements, app groups и пуш-расширения NSE.
- Дебажить анимации, кастомные жесты, Spring-анимации, работу с GeometryReader и PreferenceKey.
- Взаимодействовать с дизайнерами, аналитиками, QA и Android-командой для синхронизации поведения.
- Проводить code review, проектировать архитектуру, оптимизировать производительность и поддерживать релизы.
Требования
- Глубокое знание Swift и SwiftUI: GeometryReader, PreferenceKey, safeAreaInset, zIndex, hit-testing, drawingGroup, кастомные жесты LongPress→Drag и spring-анимации.
- Опыт работы с UIKit и интеропом: hosting controllers, координаторы легаси-навигации Element, UIKit-вьюхи внутри SwiftUI и SwiftUI-вьюхи внутри UIKit.
- Понимание Obj-C интеропа, включая работу с matrix-ios-sdk, NSString-мостами и implicitly-unwrapped optionals.
- Опыт работы с Keychain, entitlements, app groups и NSE.
- Знание основ E2EE: Megolm, key backup, восстановление ключей и device verification.
Будет плюсом
- Опыт с SQLCipher.
- Опыт с Metal и CI-фильтрами.
- Опыт разработки Telegram-подобных клиентов.
- Знание FCM и UnifiedPush.
- Опыт с Espresso и UI Automator для самопроверки на iOS.
Условия
Удалённая работа по РФ. Сотрудничество по ИП или самозанятости. Оплата профессиональных курсов, скидки на обучение и корпоративная бонусная программа.
Зарплата — 250 тыс. рублей, оплата почасовая.
- Участие в развитии сложного высоконагруженного цифрового продукта.
Отклик
В сообщении нужно сразу прислать резюме. Писать: @i_schanti.