Mobius 2016

4 июня 2016
Санкт-Петербург, Россия
Конференция для разработчиков мобильных приложений
Смотреть
В избранное

Wiebe Elsinga

Lead Developer в Egeniq

Денис Неклюдов

Ведущий Android-разработчик в Revolut

Егор Толстой

Руководитель отдела iOS в Rambler&Co

Андрей Скляревский

Программист в Одноклассники

Станислав Цыганов

Разработчик в Rambler&Co

О мероприятии

Наверняка вы уже были на конференциях по мобильной разработке и знаете, что это такое... Теперь представьте, что из них аккуратно вырезали весь маркетинговый буллшит, «продающие» доклады и полностью сосредоточились на хардкоре и чистой практике. Теперь прибавьте к этому возможность пообщаться с 200 коллегами-разработчиками (80% из которых Middle и Senior) и экспертами-докладчиками в кулуарах.

Это — Mobius, главная независимая конференция по мобильной разработке в России!

Для кого

  • Техническим директорам
  • Тимлидам
  • Разработчикам
  • Программистам
  • QA
Поделиться

Расписание

Развернуть все
суббота, 4 июня
День 1
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Wiebe Elsinga

Lead Developer в Egeniq

#UXMatters

Do you know what it takes to have a good mobile User eXperience? Are you adding the features to make your app taste like more? Are your users happy? Wiebe Elsinga will share is experience on what good and bad UX is, hoping to show you how to become a better developer and/or understand your designer.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Денис Неклюдов

Ведущий Android-разработчик в Revolut

Горячие новости с Google i/o 2016

Денис Неклюдов Google Developer Expert прилетает прямиком с ежегодной конференции разработчиков Google с рассказом о новейших анонсах и интереснейших докладах, которым посвящено три дня конференции Google i/o.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Егор Толстой

Руководитель отдела iOS в Rambler&Co

Typhoon Explained

Typhoon — очень мощный инструмент в руках разработчика. Помимо своей основной роли — реализации всех видов Dependency Injection (property, constructor, method), он также выступает в роли декларативного языка архитектуры приложения. Для того, чтобы полностью проанализировать взаимосвязи между всеми элементами и понять особенности их жизненного цикла, достаточно посмотреть на слой TyphoonAssembly. Именно эта особенность как всех IoC контейнеров, так и Typhoon в частности, остается за пределами внимания обычных разработчиков. Цель моего выступления — показать разработчикам, зачем в их приложении нужен дополнительный слой Assembly, чтобы каждый мог осознанно принять решение, встраивать ему Typhoon или нет. Определяющим моментом в этом вопросе должны выступать не детали синтаксиса и особенности внутреннего устройства библиотеки, а структурные вопросы. Лучший способ их раскрыть — показать слушателям методы работы с Typhoon во время разработки абстрактного приложения. Я планирую затронуть следующие возможности фреймворка:

  • Базовые способы инжекции зависимостей,
  • Автоинъекция,
  • Инъекция зависимостей в storyboard, xib, реюзабельные ячейки,
  • Работа с runtime-параметрами,
  • Работа с конфигурационными файлами,
  • Прозрачная декорация создаваемых объектов,
  • Пост-процессинг TyphoonDefinition,
  • Написание интеграционных тестов с TyphoonPatcher,
  • Написание тестов на TyphoonAssembly.

Все практические вопросы будут подкреплены определенным теоретическим базисом — к примеру, DI, IoC, декоратор. После выступления разработчики должны четко понимать, какие их текущие проблемы может решить Typhoon, как приступиться к этим задачам и какие его возможности им стоит использовать.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Андрей Скляревский

Программист в Одноклассники

Скорость — это качество!

С одной стороны, всем программистам знакома фраза Дональда Кнута «преждевременная оптимизация — корень всех зол». С другой стороны, быстрота запуска и работы приложения, сайта, любой программы — это неотъемлемый фактор их качества. Многим может казаться, что их программа тормозит оправданно — ведь она столько всего делает! Но на самом деле, в подавляющем большинстве программ, тормозить в буквальном смысле нечему: в UI популярного приложения нет «ракетной науки», а характеристики «железа» современных смартфонов давно превосходят иные суперкомпьютеры 15-летней давности. Но, тем не менее, от версии к версии, почти всё становится медленнее и медленнее.

Обсудим распространённые мифы и заблуждения, мешающие делать быстрый код. В частности, архитектурные решения, тормозящие всё целиком, без возможности оптимизации лишь одного «узкого горлышка». На примере мобильной версии Одноклассников посмотрим, что нужно замерять и как анализировать полученную статистику. Поговорим о специфике мобильной разработки, в том числе про то, как выжать максимум из «медленного 3G».

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Станислав Цыганов

Разработчик в Rambler&Co

Особенности реализации подхода «Feature toggle» на iOS

Мы каждый день добавляем новую функциональность в наши приложения по запросам бизнеса, часто забывая о её инкапсуляции. В начале доклада я расскажу про подход «Feature toggle», который позволяет легко и удобно управлять набором «фич» и их конфигураций. Ну а в завершение доклада я покажу, все ли действительно так легко и просто, как могло показаться на первый взгляд.

Что будет в выступлении?

  • Введение, что такое «Feature toggle»
  • Категории
  • Подходы к реализации на iOS
  • Подводные камни подхода
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Владимир Иванов

Руководитель разработки мобильных приложений в Аполлофон
и ещё 1
докладчик

Material Design in practice

A lot of applications are awfully designed. Their developers are ashamed and unhappy as their users are. Why do they worry? They let users uninstall applications, they let business fail, they let other developers change their job for a better one. It’s time to stop that. Using Material Design we are able to save ourselves by creating a beautiful, responsive and live application. We are going to talk about Material Design and the way you implement it, getting our hands dirty with a lot of code. We are considering

  • General approach
  • Activity transitions
  • Natural motions are done with animators
  • Ripples and shadows
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Кирилл Попов

Разработчик в Одноклассники

O Fresco и как его готовить, а также о картинках в Android в целом

Android-приложение Одноклассников большое и имеет кучу функционала. Многие части нашего приложения работают с изображениями, и поэтому за годы работы у нас сформировалась большая самописная библиотека для работы с ними.

Несколько месяцев назад у нас возникла идея заменить наш самописный код на какое-то стандартное решение. Мы посмотрели на Picasso, Glide, Universal Image Loader и несколько других решений, но в итоге выбрали Fresco (https://github.com/facebook/fresco).

В начале доклада я расскажу о том, какими критериями мы руководствовались в этом выборе. Далее речь пойдет про некоторые фичи Fresco, которые нам особенно понравились. После мы поговорим о минусах Fresco — при работе с ним нашлось довольно много интересных подводных камней, которые нам пришлось обходить. В завершении доклада я расскажу о некоторых нестандартных подходах к использованию Fresco, которые мне показались особенно интересными.

Будет пару слов про работу с картинками в целом, про производительность, про загрузку из интернета, про переиспользование памяти. Будут и всякие интересные данные, собранные Одноклассниками — наши графики по latency, скорости интернета по регионам и т.д.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Алексей Рыбаков

Senior Developer в DataArt

Android TV Game Development

Android очень активно проникает во все сферы нашей жизни:
cмартфоны и часы, автомобили, фотокамеры, холодильники.
Относительно недавно появился Android и в телевизорах, но что более интересно, — в игровых приставках и сет-топ-боксах. Мы кратко обсудим, что есть на рынке Android TV устройств, более подробно остановимся на NVIDIA Shield Android TV, а также посмотрим, что и как можно делать с помощью пакета NVIDIA GameWorks https://developer.nvidia.com/gameworks Кратко остановимся на Vulkan https://developer.nvidia.com/Vulkan и поговорим о проблемах, которые почти гарантированно возникнут при разработке такого рода приложений. Смотреть и запускать все будем на NVIDIA Shield https://shield.nvidia.com/android-tv

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Матвей Мальков

Lead Android Developer в Nexters

The Art of Rx

Проблема, друзья! Реактивщина везде — её слишком много, и уже никому от нее не деться. Мы все можем написать ASyncTask, Service или ContentProvider (я в это верю). Все можем повернуть битмапу или сгонять на сервер за данными — это всё довольно очевидно. Но еще МЫ ДУМАЕМ, что можем готовить реактивищну правильно. Это далеко не всегда так.
Я покажу на примерах, как делать не надо и как нужно делать обязательно.
Расскажу, что такое контракт потока и как его соблюдать.
А также покажу, какие части внутри RxJava меня особенно радуют.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Евгений Ртищев

Разработчик в Сбербанк-Технологии

Реактивный MVVM

На примере разрабатываемого продукта внутри компании я покажу преимущества, которые даёт MVVM-подход с реактивной связкой. А именно:

  • Удобная и понятная структура проекта,
  • Возможность разделения задач между разработчиками,
  • Многопоточные ViewModel,
  • Разработка на Mock-ах и переход к реальным данным,
  • Реактивная связка на CocoaReactive,
  • Тестирование ViewModel.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Ирина Дягилева

Старший iOS разработчик в Rambler&Co

Типографика в iOS

Почему постоянно приходится наугад подбирать отступы текстовых элементов, чтобы выглядело как в макетах? Почему, выставив все параметры, которые указал дизайнер, все равно получается другой результат? После доклада у вас не останется этих вопросов. Мы разберем всю механику рендеринга текста, основные метрики шрифта, атрибуты символов, и, разумеется, рассмотрим возможности, которые iOS предоставляет нам для продвинутого форматирования текста. А чтобы теория не была такой утомительной, вместо скучных слайдов будет интерактивное демо с примерами!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Борис Рютин

Аналитик в Digital Security

Последние фичи безопасности в iOS и Android

Мобильные операционные системы iOS и Android развиваются постоянно. Механизмы безопасности этих ОС также совершенствуются, устраняются различные проблемы и уязвимости. Однако, разработчики приложений для мобильных систем часто не следят за такими нововведениями. В рамках данной презентации мы рассмотрим, какие новые механизмы безопасности, доступные разработчикам, появились с iOS 9.0 и Android 5.0. И мы непременно поговорим о том, как с помощью этих обновлений возможно повысить уровень безопасности ваших приложений.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Дмитрий Полищук

Разработчик в Яндекс

Погружение в Android Multimedia

Я расскажу про тонкости работы с мультимедийной подсистемой Android. В докладе я покажу, как правильно готовить свои видеоплееры, чтобы они заработали. Я покажу, с какими проблемами можно столкнуться при их реализации. Ну и конечно, я покажу какие бывают сложности в написании высокопроизводительного плеера и как с ними бороться.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Игорь Василенко

iOS разработчик в Yota

Прикладной ReactiveCocoa

Большинство приложений тратят много времени на ожидание событий и их обработку:

  • приложения ожидают взаимодействия пользователя с интерфейсом,
  • ожидают ответа на сетевой запрос,
  • ожидают завершения асинхронных операций,
  • ждут изменения зависимого значения.

И только потом приложения реагируют.

Все эти ожидания и реакции можно реализовать большим количеством способов. Нам становится трудно рассуждать о них, связывать и создавать в любой высокоуровневой форме. Но мы можем сделать лучше.

Уже достаточно известный фреймворк ReactiveCocoa пользуется большим спросом в iOS разработке, но не все знают некоторые особенности работы с ним. В докладе я расскажу о том, что еще не было рассказано ранее.

В том числе:

  • Многопоточность и асинхронность с ReactiveCocoa
  • ReactiveCocoa 2.5 vs. ReactiveCocoa 4. Основные различия между версиями.
  • ReactiveCocoa vs. RxSwift. За и против.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Ян Жуланов

Программист в JetBrains

Android-приложения на Kotlin: почему это хорошо

Kotlin — современный и практичный язык программирования для платформы JVM (и не только). На Kotlin можно писать приложения под Android. Возможности языка позволяют не только сделать код более лаконичным и читаемым, но и избавить его от ряда распространённых ошибок.

В докладе будут рассмотрены темы:

  • Преимущества Kotlin (в сравнении с Java в целом и Java 8 в частности);
  • Что уже сделано и что делается для того, чтобы программировать на Kotlin под Android было ещё приятнее;
  • Пример использования возможностей Kotlin: обзор библиотеки Anko для быстрого и простого создания layouts.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Максим Соколов

Разработчик в Avito

Advanced Swift Generics - перейдем на < T >

Swift — мощный язык программирования, но зачастую iOS-разработчики упускают из вида некоторые из его самых сильных сторон, так как не сталкивались с подобными подходами, используя Objective-C. В докладе речь пойдёт про дженерики и их возможности в Swift: для решения каких задач их можно эффективно использовать, как их применять на разных этапах разработки приложения. Будут продемонстрированы примеры работы с сетью (доступ к репозиторию и обработка различных типов полученных данных) и UI (работа с классом UITableView с помощью дженериков).

Использование дженериков позволяет писать безопасный, строготипизированный код, который можно эффективно переиспользовать и легко поддерживать, что положительно сказывается на скорости разработки и качестве продукта.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Евгений Мацюк

Разработчик в СберТех

Пишем тестируемый код

За последние два года жизнь android-разработчика серьезно изменилась, и она уже больше никогда не будет прежней.
Уверен, что каждый из нас, приходя в новый проект, испытывал боль, пытаясь разобраться в том, как все работает и как устроено. И это не из-за того, что предыдущие разработчики были плохими, а скорее из-за того, что не было единых, удобных инструментов и подходов. Повсеместно встречалась неправильная работа с потоками исполнения, неаккуратная синхронизация, огромные фрагменты UI и классы-активити, смешение бизнес-логики и UI.
Однако, Гуглом, а главное Android-сообществом, была проделана огромная работа, чтобы код приложений становился более структурированным, декомпозированным и покрытый тестами.
Теперь у нас есть отличная возможность писать «тестируемый» код. Что это такое — «тестируемый код»? Это код, который легко сопровождать, модифицировать и покрывать тестами.
В своем докладе я бы хотел рассмотреть «новые-старые» архитектурные подходы (Clean Architecture, MVP, MVVM, DI) и инструменты (RxJava, Dagger 2, Retrofit, Otto и другие), которые позволяют писать нам красивый, тестируемый код, и привести короткие примеры улучшений (до и после).
Также доклад будет являться площадкой для дискуссий и обсуждений, так как архитектура — это излюбленная тема для «холиваров».

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Игорь Кашкута

iOS разработчик в Badoo

Пизанская башня мобильной разработки

Интерфейс — это неотъемлемая часть любого мобильного приложения. Более того, он играет одну из главных ролей с точки зрения бизнеса, ведь люди зачастую выбирают именно то, что им удобно и понятно. И именно с интерфейсом возникает большинство проблем.

Последние несколько лет меня не покидает ощущение, что в нашем с вами мире мобильной разработки что-то фундаментально не так: задачи, которые перед нами стоят, решаются через силу; любой шаг в сторону от стандартных компонент вендора, так или иначе, влечёт за собой ряд проблем; задумки дизайнеров порой и вовсе неясно как делать. А тут ещё и новые технологические тренды (читай: часы) подливают масла в полыхающий огонь!

И, как обычно, во всей этой спешке не хватает времени на то, чтобы перестроить систему подходящим образом. Более того, не всегда понятно, как это сделать (читай: MVVM/MVP/VIPER не есть решение всех бед). Вместо того, чтобы системно побеждать, мы тратим наше драгоценное мыслетопливо на решение каждой новой мелочи. Задачи, которые, казалось бы, должны решаться по щелчку пальца, бывает трудно сделать. Новые требования ломают контракты вашего кода. Эппл/гугль опять что-то придумал, что непонятно как делать, а надо. Но ведь я построил систему на их компонентах — какого чёрта?!

И тут эффективные менеджеры начинают сравнивать производительность команд разработки под разные платформы и замечать странное: почему-то веб-разработчики на своём однопоточном, слабо типизированном динамическом суперязыке программирования делают работу нескольких мобильных разработчиков. И тут иногда начинается.

Я хочу поговорить обо всём этом. Хочу обозначить проблемы, рассказать о насущном, и почему всё так, подниму вопросы для дальнейшего обсуждения и возможного прогресса, вероятно предложу своё решение.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Михаил Розумянский

Разработчик в ИТ

Bytecode weaving 101

В последнее время генерация кода стала неотъемлемой частью в мире Android-разработки. ButterKnife, DataBinding, Dagger — далеко не полный список библиотек, которые активно используют кодогенерацию. Все эти библиотеки работают через стандартный механизм annotation processing и генерируют новый код в виде исходников на языке Java. В своем докладе я расскажу про альтернативный способ кодогенерации на уровне байткода и подробно остановлюсь на следующем:

  • Примеры Android-библиотек, которые уже патчат ваш байткод под капотом;
  • Нужно ли знать байткод и устройство JVM, чтобы написать свой собственный патчер;
  • Какие существуют библиотеки для упрощения работы с байткодом;
  • Как встроиться в build процесс и при этом ничего не сломать;
  • Плюсы и минусы по сравнению со стандартным annotation processing’ом.

Доклад рассчитан на продвинутую аудиторию разработчиков. В ходе доклада мы поговорим про патчинг байткода в целом и напишем свой собственный патчер.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Александр Коршак

Разработчик в MERA LLC

Опыт разработки Cardboard приложения для 3D-реконструкции медицинских данных

Ни для кого не секрет, что такое проекты 80/20 в компании Google и как в 2014 году появился Google Cardboard. Предположу, что посетители Google I/O 2014 наверняка помнят презентацию сего творения и тот «вау» эффект, который сумела произвести всего лишь картонная коробка с двумя линзами. Получив незабываемое первое ощущение, сообщество стало ломать голову практической полезностью Cardboard, в конечном итоге сойдясь на мнении, что это игрушка. Данная проблема не обошла стороной и меня.

В своем докладе я расскажу о возникшей у меня идеи применения Cardboard и ему подобных устройств (e.g. Gear VR) в медицине и диагностике. Этапах ее реализации, попутных проблемах и их решениях, покажу живое демо на Google Cardboard и более серьезном Gear VR (Oculus Powered версия).

Доклад расчитан на широкую аудиторию, поэтому небольшое количество времени (не более 10%) планирую посвятить рассказу о технологии в целом и Cardboard SDK. «How to guide» для «самых маленьких» будет прилагаться к презентации.;

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 1

Андрей Хитрый

Android - разработчик в Trinity Digital

Realm and Data binding

Тезисы доклада:

  1. Почему Realm?
  2. Почему DataBinding?
  3. Как наладить взаимодействие между Realm и DataBinding или простой путь
  4. MVVM-like подход
  5. Делим VM и M
  6. Передача информации между Activity
  7. DI подход
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 2

Матвей Мальков

Lead Android Developer в Nexters

Scala для Android: миф или реальность?

Scala — хороший, но сложный JVM-based язык. Наверное, именно поэтому он нашел свою нишу в server-based сообществе. На нем пишутся высоконагруженные сервисы и средства обработки больших массивов данных. Но ведь язык то хорош, чертяга!

Если с джавой все понятно, то в последнее время все популярней в мобильном мире становится Kotlin. Но мы решили не идти на поводу у моды и написали большое мобильное приложение на Scala. Что из этого получилось, с какими подводными камнями мы столкнулись и какие профиты получили — я расскажу в своем докладе.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Секция 3

Денис Кретов

Программист в Notissimus
и ещё 1
докладчик

Разработка мобильных приложений с помощью Xamarin и MvvmCross

Я поделюсь опытом сокращения времени разработки под различные мобильные платформы.
Я продемонстрирую компромисс между Xamarin.Forms и отдельной разработкой под каждую платформу. По своей натуре я практик, поэтому не буду делать много умозрительных слайдов, а на реальных примерах продемонстрирую наш подход.

Структура будет следующая:

  1. Краткое введение: проблема кроссплатформенной разработки (отличия в UI, плюсы и минусы Xamarin.Forms, возможно, для наглядности расскажу про html5)
  2. Подход, который мы выбрали в нашей компании: Трехзвенная архитектура :
    • PCL – библиотека для работы с серверной частью,
    • MvvmCross библиотека, которая объединяет в себя всю бизнес логику и описывает взаимодействие с элементам UI
    • Конечные интерфейсы для iOS и Android
  3. Демонстрация подхода с использованием iBeacons.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

JUG.ru
https://jugru.org

Организационный комитет: JUG.ru, info@jugru.org, 78126802918

Похожие мероприятия

5-6 июня 2017
Докладов 22
Просмотров 1
android, apple, google play, ios, windows phone, мобайл, по, приложение, программирование, разработка, софт
28-29 июня 2018
Докладов 35
Просмотров 1
android, google play, ios, windows phone, игры, мобайл, по, приложения, разработка, софт
13-14 февраля 2018
Докладов 43
Просмотров 0
android, google play, ios, windows phone, игра, мобайл, по, приложения, разработка, софт
показать ещё