Во вторник состоялся Rambler.iOS V, который мы анонсировали на Хабре ранее. Эксперимент с разбитием одной очень крупной темы на восемь связанных между собой докладов отлично состоялся — благодаря такой гранулированности докладчики смогли сосредоточиться именно на своем аспекте VIPER и подготовить действительно мощные выступления.
Для тех, кому лень читать: Плейлист выступлений.
1. Вступление, в котором Егор Толстой рассказывает о том, почему Rambler&Co и почему VIPER.
Видео
2. VIPER a la Rambler — Сергей Крапивенский рассказал о том, что случилось с когда-то простой и стройной архитектурой после того, как ее пропустили через блендер из наших разработчиков. На самом деле, случилось только хорошее.
Слайды
Видео
3. Кодогенерация и Генерамба - Егор Толстой рассказал о наших страданиях, 10 минутах на создание модуля, секретаршах и кодогенераторе, разработанном в Rambler&Co.
Слайды
Видео
4. Переходы между модулями — Андрей Зарембо затронул больную для многих тему использования UIKit в рамках VIPER, в частности — UIStoryboardSegue для переходов между модулями. Если вы испытывали проблемы при передаче данных от одного экрана другому, связывали роутеры друг с другом или использовали для этого синглтон — это выступление точно для вас.
Слайды
Видео
5. Сложные модули — Вадим Смаль рассказал о том, как правильно декомпозировать экран на множество подмодулей, типах их связи, достоинствах и недостатках. Модули-вьюшки в модулях-ячейках в модуле-таблице в модуле-контейнере? Да легко!
Слайды
Видео
6. Разбиваем Massive View Controller — Александр Сычев показал на своем опыте, что VIPER подходит не только для написания новых приложений, но и является отличным инструментом при рефакторинге тех самых контроллеров, которые пишут все, но молчат об этом. Отдельное внимание стоит уделить окончанию выступления — Саша привёл статистику некоторых из наших проектов по количеству строк кода, VIPER-модулей, и сравнивает результаты до и после рефакторинга.
Слайды
Видео
7. Тестирование VIPER — Стас Цыганов рассказал, как методология TDD ложится на написание нового модуля, показал всем свои IBOutlet'ы и IBAction'ы, в деталях описал подходы к тестированию каждого из элементов VIPER'а. Помимо непосредственно тестирования, доклад объясняет причины некоторых из наших решений, о которых рассказывали другие выступающие.
Слайды
Видео
8. VIPER и Swift — Валерий Попов, главный адепт Swift'а в нашей команде, рассказал о том, что меняется в архитектуре модуля с переходом на другой язык. Строение модуля, DI, тестирование, организация переходов — и все без единой квадратной скобочки.
Слайды
Видео
9. Секция вопросов и ответов — после просмотра восьми докладов у зрителей появилось большое количество интересных вопросов. Ребята из нашей команды ответили на то, сколько стоит ввести нового разработчика на проект, как новый подход к архитектуре влияет на точность выставления сроков, рассказали об аспектах использования NSFetchedResultsController на уровне интерактора — и рассказали много других клевых штук, которые не вошли в предыдущие выступления.
Видео
Прошедшая конференция — не единственный наш вклад в популяризацию VIPER:
- The Book of VIPER: статьи, практики и советы по использованию VIPER.
- Generamba: наш кодогенератор.
- ViperMcFlurry — библиотека хелперов по работе с сами-знаете-чем.
- Рамблер.Конференции — приложение, демонстрирующее наш подход к архитектуре мобильных приложений.
- Слайды с выступления Егора Толстого на MBLTdev 2015.
Ждите следующий Rambler.iOS в новом году!