Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Какие темы нужно копать мобильному разработчику, чтобы стать профессиональнее? Чему должны быть посвящены доклады на мобильных конференциях? Чтобы сделать как можно лучше конференцию Mobius, которая пройдёт в Петербурге 23-24 июня, мы расспросили самих разработчиков о том, что им ближе и важнее.
Если из их ответов сделать несколько главных выводов, то оказывается, что Mobius давно этим выводам соответствует:
- Разработчики хотят доклады о технологиях (а не маркетинг и тому подобное).
- Они не боятся «нырять глубоко». Это не значит, что вся программа конференции должна быть зубодробительной, но присутствие хардкора ценно.
- Их интересуют как темы, жёстко привязанные к конкретной платформе (Android/iOS), так и «универсальные».
- Доклады важны, но не докладами едиными: многие приходят на конференцию за живым общением, и мероприятие должно к нему располагать.
Но помимо этих главных вещей, мы лучше поняли, что конкретно волнует разработчиков — и по-новому сформулировали список тем, на которые ориентируется Mobius. Под катом можно узнать, что это за темы и какие имена спикеров известны уже сейчас. А заодно мы вспомнили некоторые доклады с предыдущих Mobius — так что ниже не только текст о будущем, но и несколько видеозаписей отличных выступлений.
Подход к программе
Список интересных нам тематик, по которому можно понять «чего ждать от Mobius», получился таким:
Платформы под капотом
Как известно, «стоит понимать технологии на уровень ниже того, на котором работаешь». Поэтому на Mobius разбирают не только то, как лучше писать для iOS/Android на Swift/Kotlin, но и то, как работают сами эти платформы и языки. У нас уже были доклады с названиями вроде «компиляторы, Dalvik, ART и всё вокруг них» — и в будущем «кишочки» продолжат появляться.
Clean code
На конференцию идут не с запросом «что-то мой код не компилируется» (это к Stack Overflow), а с запросом «мой код компилируется, но я хочу писать его ещё лучше». И мы стремимся отвечать на этот запрос. Какие в мобильной архитектуре есть полезные паттерны, а что, наоборот, будет антипаттерном? Как лучше заниматься техническим долгом? А если пришлось столкнуться с легаси, где технический долг уже достиг масштабов ипотеки, то как правильнее отрефакторить?
Качество продукта
Улучшать свой код — это не только про его чистоту. Например, насколько быстро этот код выполняется? Достаточно ли ваше приложение защищено? Удобен ли интерфейс? Разбираетесь ли в новых UI-решениях? В общем, что с производительностью, безопасностью, UI/UX?
Ещё один возможный вариант улучшения приложения — там, где это оправданно, отказаться от библиотеки и решить задачу нативными средствами. И многим запомнился доклад Евгения Ртищева (iOS) «Работаем с сетью эффективно», где как раз говорилось о подобном:
Тренды в мобильной разработке
Мы не «хайпожоры» и не стремимся составить всю программу конференции из баззвордов («Как сделать VR-приложение с блокчейном для складного 5G-смартфона со 120Гц-экраном и пятью камерами»). Но держать руку на пульсе индустрии, безусловно, надо. Например, в случае с кроссплатформенной разработкой наш опрос показал, что разработчиков сейчас интересуют Flutter и Kotlin/Native — так что если в программу Mobius 2020 Piter попадёт пара докладов по кроссплатформе, то связанных с этими технологиями. Айосеров сейчас волнует SwiftUI, андроидоводов Jetpack Compose — и мы обо всём этом думаем.
Инфраструктура
Это смежная с разработкой тема, но любому мобильному разработчику приходится иметь с ней дело (а уж в инди-разработке так особенно). Мобильный DevOps: миф или реальность? Как правильнее выстроить CI/CD? В 2018-м у нас был доклад Артёма Зиннатуллина о сборке «Android Builds at Lyft», очень понравившийся зрителям, но с тех пор всё продолжило меняться — а что нужно знать о системах сборки в 2020-м?
Software craftsmanship
Наконец, есть ещё вещи, которые сложно объединить в один строгий набор, но которые тоже важны для создания качественных приложений. Какие есть подводные камни в работе с известными фреймворками? Какие у Swift/Kotlin/Java есть неочевидные особенности? Как интегрировать в своё приложение различные вещи вроде платёжных систем? Под названием «software craftsmanship» мы собрали всё это и не только.
Если вы ощущаете, что вам есть что рассказать по этим темам — на сайте сейчас открыт приём заявок на доклады. А если сами выступать не готовы, но с охотой послушали бы чужие доклады об этом, то для вас на сайте актуальнее страница регистрации.
Спикеры и доклады
Окей, про абстракцию понятно, теперь хотелось бы увидеть имплементацию. Ну, то есть, можно ли увидеть описания нескольких докладов с приближающегося Mobius, чтобы идеи из предыдущей части были проиллюстрированы наглядными примерами? Можно.
Ася Свириденко — Оптимизация работы приложения на медленной сети (iOS)
Вот и наглядный пример ситуации, когда технически приложение и так работает, но этого недостаточно и хочется большего. Пока что пользователям всё ещё приходится сталкиваться с медленной мобильной сетью, и в таком случае использование нашего приложения может превратиться в боль. Что мы можем сделать в случае с iOS, чтобы избавить людей от этой боли? Ася расскажет.
Матвей Мальков — Эволюция декларативных фреймворков: от динозавров к Jetpack Compose (Android)
Слова «Декларативное программирование» от мобильных разработчиков можно услышать всё чаще. В вебе и кроссплатформенной разработке это уже было, теперь добирается и до нативного UI с помощью Jetpack Compose. А Матвей здесь оказывается прямо-таки не передовой: он не просто использует этот фреймворк, а работает в Google над ним самим. Так что в докладе, начав с декларативных фреймворков в целом, перейдёт к принципам, которыми руководствуются при работе над Jetpack Compose. В общем, редкая возможность уже сегодня послушать из первых рук о том, чем многие из нас будут пользоваться завтра.
А старожилы Mobius могут помнить Матвея по его докладам, сделанным ещё несколько лет назад — например, «The Art of Rx» 2016 года. Ностальгия!
Степан Гончаров — Bazel для Android: это не страшно (Android)
В числе интересующих нас тем мы называли и инфраструктуру, и новые тренды. А тут два в одном: и про средства сборки (то есть инфраструктуру), и про перемены в этих средствах. Годами мы использовали Gradle на Android, и могло показаться, что так будет вечно, но теперь всё чаще слышно о миграции на Bazel. Такая миграция — это только для гигантов с приложениями на сотни модулей, которые в Gradle начинают страшно тормозить? Степан считает, что не только — и намерен убедить в этом вас.
Любопытно, что в прошлый раз он рассказывал на Mobius как раз про нюансы Gradle. Прямо ощущается, как меняются времена.
Денис Неклюдов — Карьерный рокет-джамп (iOS/Android)
Mobius объединяет людей: когда-то Степан Гончаров и Денис Неклюдов вместе работали в Сингапуре, а теперь раскиданы по планете (Степан в Дании, Денис в Долине), но в списке спикеров снова оказываются рядом!
Денис давно полюбился Android-разработчикам, но в этот раз его выступление подойдёт и айосерам. Хотя в основном Mobius про конкретные технологии, в отдельных случаях (вроде открывающих/закрывающих кейноутов) лучше подходят смежные темы, и это как раз такой случай.
Как много из нас движется по жизненному пути по течению, не вдаваясь в планирование своего будущего? А как мало из нас тех, кто понимает, как обеспечить себе уверенный профессиональный рост? А как много разработчиков, которые не представляют многообразие своих карьерных путей после достижения «сеньёрского статуса»? Денис составит стратегию развития, обсудит карьерные лестницы и то, как передвигаться по ним со скоростью рокет-джампа.
А в ожидании нового выступления можно вспомнить доклад Дениса о масштабируемой архитектуре с прошлогоднего питерского Mobius — он тогда возглавил зрительский рейтинг:
Помимо докладов
Как бы ни были важны доклады, многие разработчики говорят, что на конференции для них важнее возможность лично пообщаться с другими профессионалами. И мы со своей стороны стремимся, чтобы всё этому способствовало. Тут без сюрпризов — те, кто был на предыдущих Mobius, узнают все форматы:
- После каждого доклада спикер отправляется в дискуссионную зону, где его можно расспрашивать не пять минут (как это происходило бы в зале), а как следует. То есть каждый доклад — это не только «человек вещает со сцены», а ещё и живое общение. Иногда спикера в дискуссионной зоне просто обступают, и разговор идёт оживлённее некуда.
- BOF-сессии — ещё один формат, где участник может не просто слушать, а участвовать в живом обсуждении. Суть такая: заранее выбирается тема, собираются несколько спикеров, которым есть что по этой теме сказать, а также все желающие зрители — и начинается дискуссия. Там тоже бывает жарко.
- Вечеринка. Казалось бы, и без неё ничто не мешает общаться с другими участниками в перерывах. Но днём есть много другого (порешать задачки на стендах компаний, переваривать услышанное на прошедшем докладе, не пропустить следующий), и всё это не настолько располагает к разговорам. То ли дело вечером: можно уже никуда не торопиться, а пиво и музыка помогают справиться с интроверсией и пообщаться с людьми вокруг.
В общем, остаётся только напомнить дату и место: Санкт-Петербург, 23-24 июня. Вся остальная полезная информация — на сайте.
Ветераны Mobius могли заметить, что месяц выбран нестандартно (обычно конференция проходила весной, а в этот раз летом). Ну, у тех, кто живёт не в Питере, появляется ещё один повод приехать на конференцию: это ещё и разгар белых ночей! Главное — не залюбоваться разводом мостов настолько, что после этого проспишь всю конференцию.