<aside>
<img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/1230daa6-7b14-4b10-a520-4f6160af6820/dfa9f7b5-9b3e-443f-86f9-25826f10c9e2/Mail.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/1230daa6-7b14-4b10-a520-4f6160af6820/dfa9f7b5-9b3e-443f-86f9-25826f10c9e2/Mail.png" width="40px" /> У Почты многомиллионная аудитория, а общий рейтинг приложения 4.8.
Почта — часть жизни, поэтому мы делаем для нее простой и максимально понятный UX.
</aside>
Технологические вызовы
- Почта — сложное "offline-first" приложение. Мы много внимания уделяем синхронизации данных (дождь, снег и моросящий или отсутствующий интернет нам не помеха) и бывает пишем SQL-запросы (и у нас не room).
- Файлы с Диска, расписание в Календаре, встречи в Телемосте — все это нужно в почте и мы активно интегрируем все сервисы.
- А еще есть амбициозная задача — изменить привычное поведение пользователей… Но об этом расскажем, когда присоединишься к нам в команду.
🛠 Стек
Android
- Java и RxJava. Количество стремительно уменьшается
- Kotlin, coroutines, flow. Количество стремительно увеличивается
- Архитектура MVP (раньше) и MVVM (сейчас)
- В качестве DI - dagger
- Многомодульность (в том числе и KMM-модули)
iOS
- Новый код на Swift, UIKit, Autolayout
- Присматриваемся к SwiftUI и Swift Concurrency
- Не забываем про iPad, поддержку темной темы, DynamicType, Accessibility
- CoreData: мультиконтекстность, ручные контролируемые миграции, оптимизации операций и хранилища
- Cocoapods на стероидах. Новый код пишется и тестируется в обособленных модулях. Во время разработки не придётся пересобирать всё приложение
👨🏻💻 Пара слов о команде
- Нас шестеро, поровну на Android и iOS. Среди нас есть те, кто вырастил Почту с пеленок (и android, и iOS) и те, кто писал под первые версии систем
- Каждый из нас прорабатывает фичу и имеет влияние на конечный результат, выполняя роль DevPM в рамках своей задачи.
- Мы умеем находить баланс между улучшением кода (делаем его только лучше) и продуктивностью
- Работаем из разных городов с гибким графиком, но встречаемся онлайн и иногда офлайн.
- Гордимся нашим QA, который не только тестирует, но и участвует в доработке фичей и пользовательских сценариев!
О текущих задачах
- Уже говорили же про сложную подсистему синхронизации? Синхронизировать данные придется. Как пример — управление рассылками.
- Улучшаем UI — добавляем новые виджеты, новые онбординги, новые экраны. Все продиктовано пользовательскими задачами. Как пример — управление нотификациями не только почты, но и других сервисов 360.
- Мы хотим переписать все на Compose/SwiftUI.
Наши принципы работы
⚙️ Хотим писать код один раз, поэтому активно будем увеличивать количество KMM модулей.
💫 Любим наше приложение и хотим видеть его максимально красивым, поэтому внедряем дизайн систему.