За 4 года участия в разработке проекта я получил бесценный опыт продуктовой разработки в одном из крупнейших отельных интеграторов России. Также я принимал участие в технических инициативах по внедрению современных технологий разработки, таких как:
- MVP + Coordinator В рамках переписывания с нуля реализовывал разделы приложения (Избранные, поделится бонусами и др.)
- Concurrency (async await, tasks, actors) - освоил в рамках реализации сетевого взаимодействия через RestAPI и библиотеки Alamofire
- Tuist - С нуля было принято решение избавится от cocoaPods и tuist стал лучшим решением
- Firebase - Обработка новых ивентов пользователя
- SnapKit - Переход от StoryBoard на верстку кодом в старой версии приложения
- Combine (немного), Swift UI (немного) Отдельные фичи для реактивного взаимодействия
- Gcd - В старой версии приложения вся работа с TableView и сетевое взаимодействие были
завязаны на нем
- DiffableDataSource - В новом приложении участвовал в реализации самописного датасорса и снапшотов для коллекций
- MVC - Старая версия была реализована через этот паттерн и так же занимался разработкой разделов и фичей
- Objective C legacy (довольно много) Большая часть старой версии приложения была написана на нем и часто возникала необходимость переносить функционал на swift