Apps Conf 2016

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

Алексей Денисов

Senior Software Engineer в Blacklane

Сергей Крапивенский

Руководитель группы iOS-разработки в Rambler Digital Solutions

Тимур Юсипов

iOS разработчик и архитектор в Avito

Константин Цховребов

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

Александр Смирнов

Head of Android в Splyt

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

Конференция Apps Conf посвящена разработке мобильных приложений: технологиям Android, iOS, кросс-платформенной разработке, архитектуре и процессам разработки.

Для кого

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

Расписание

Развернуть все
вторник, 31 мая
День 1
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

Алексей Денисов

Senior Software Engineer в Blacklane

Getting started with LLVM using Swift

Некоторое время назад компания Apple опубликовала исходные коды языка Swift. С тех пор LLVM получил еще более широкую популярность в среде мобильных разработчиков. Тем не менее, не все понимают роль LLVM в процессе компиляции, и не все осознают мощь этого фреймворка.

Цель моего доклада — рассказать о том, как использовать LLVM в связке с языком Swift и показать, что это не "rocket science".

В своем докладе я расскажу о том:

- что такое LLVM и какова его роль в процессе компиляции.
- что происходит с программой на пути от исходного код в код машинный
- какие есть практические применения у LLVM в контексте разработки прикладных приложений
- как можно начать использовать LLVM без боли уже сейчас

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

Сергей Крапивенский

Руководитель группы iOS-разработки в Rambler Digital Solutions

Чистая архитектура с VIPER

- Что такое "чистая" архитектура приложений. Чем грозит "грязная" архитектура, чем от нее отличается "чистая" архитектура, и какой от нее профит.
- История появления VIPER.
- Идея VIPER. Как изменяется структура приложения при применении этого подхода.
- Опыт использования VIPER в Rambler&Co. Что мы изменили и добавили. 
- Работа с VIPER на примере user story из реального приложения.
- Выводы: чем помогает VIPER и когда его использовать не стоит.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

Тимур Юсипов

iOS разработчик и архитектор в Avito

Удобный и расширяемый роутинг в iOS-приложении

В своём докладе я расскажу о подходе к построению навигации в больших приложениях на примере демо-проекта, приближенного по архитектуре к приложению Avito.

Данная архитектура позволяет поддерживать DeepLink’и и iPad в существующем приложении, показывать плашки Push-уведомлений в верхнем видимом модуле, совершать переходы из верхнего видимого модуля, вызванные корневым модулем приложения, а также централизовано управлять анимацией переходов.

Разработанная нами навигация оборачивает UIKit для совершения переходов в засахаренном и декларативном стиле. Использование этой системы позволило снизить связанность кода для повышения его переиспользуемости и тестируемости, а также выработать общие стандарты к построению стека навигации. Наиболее хорошо эта система сочетается с архитектурой VIPER, но может использоваться и без нее.

По ходу доклада я также расскажу о том, как выглядела навигация в приложении Avito раньше; о том, какой она стала с началом использования архитектуры VIPER; о проблемах, которые мы увидели, и об итоговом решении. Также вкратце рассмотрим, что же скрывается под капотом у этой системы.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии Android

Константин Цховребов

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

Обработка голоса кодеком на Си под Андроид? Сделано!

Opus, Ogg, NDK и другие подводные камни.

1) Зачем иногда необходимо использовать нативный код в Android разработке;
2) когда не нужно этого делать;
3) что для этого необходимо настроить в проекте;
4) кодек для сжатия аудио Opus (чем хорош, кто использует);
5) контейнер Ogg (преимущества перед другими);
6) практический пример записи голоса, сжатия кодеком opus и упаковка в Ogg контейнер.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии Android

Александр Смирнов

Head of Android в Splyt

Security in Android Applications

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

Дмитрий Куркин

Руководитель iOS-команды ICQ в Mail.Ru

Оптимизация UI потока

- WatchDog. Что это такое? Схема реализации с таймером и схема реализации на RunLoop'e.
- Как собирать результат работы WatchDog. Примеры того, что можно таким образом найти, и что мы нашли на проекте ICQ.
- Как работать с полученными результатами. Анализ стеков потоков. Профилирование с учетом расходов на синхронизацию.
- Проблемы при работе с WatchDog. Системные механизмы и популярные библиотеки, вызывающие проблемы. Методы обхода этих проблем. Итоговые параметры, применяемые на проекте ICQ.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

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

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

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

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

В докладе мы рассмотрим не только возможности, которые предоставляет система для продвинутого форматирования, но и все тонкости, которые с этим связаны: 
- основные термины типографики применительно к iOS;
- символьные атрибуты — какие из них наиболее подходят к конкретной задаче;
- отличия отрисовки текста в UITextView и UILabel;
- TextKit и способы расширения его возможностей.

А чтобы теория не была такой утомительной, вместо скучных слайдов будет интерактивное демо с примерами!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии iOS

Дмитрий Евдокимов

Директор исследовательского центра в Digital Security

Самочувствие malware на iOS устройствах

В данном докладе рассмотрим, как сегодня чувствует себя вредоносный программный код на устройствах с ОС iOS без jailbreak. И конечно, ответим на вопрос о том, дают ли последняя версия ОС и отсутствие jailbreak на устройстве гарантию, что на нем нет вредоносного кода.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
среда, 1 июня
День 2
Кросс-платформенная разработка

Евгений Федоров

Основатель и CTO в LOOKBUCK

Успешный кейс использования React Native в продакшне

— Космическая скорость разработки приложения (iOs-приложение за неделю);
— Сравнение типичного экрана со списком данных на Objective-C и React Native;
— Поддержка приложения, Debugging; 
— Ограничения React Native, которые следует учитывать;
— Бонус: при написании приложения для iOs — 80% Android приложения в подарок :)

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Кросс-платформенная разработка

Владимир Солдатов

Разработчик в САПРАН

Разработка кроссплатформенного фреймворка на С++ для мобильных платформ

В процессе разработки нашего Enterprise-ready продукта HyperHive — http://eigenmethod.com/products/hh/ (бренд EigenMethod создан для продвижения продукта на Запад, не удивляйтесь другому домену) мы столкнулись с необходимостью реализации ряда задач на нескольких платформах: iOS, Android, Cordova (Android и iOS), а в перспективе и под Windows для мобильных устройств.

Был вариант реализации под каждую платформу на родных языках, но мы выбрали путь создания кроссплатформенного фреймворка на C++ с последующим его портированием под все целевые платформы.

Функционал фреймворка:
1. Параллельные потоки загрузки данных с сервера и записи в базу (sqlite) и передачи на сервер в рабочих потоках (без блокирования UI).
2. Поддержка Дельта-обновлений при передаче данных (пересылается только разность между двумя версиями данных).
3. Шифрование трафика и базы данных алгоритмами ГОСТ и RSA.
4. Сжатие трафика.
5. Аутентификация и авторизация на сервере, поддержка сессий.
6. Обработка push-уведомлений (MQTT).
7. API для мобильных приложений для предоставления данных, в том числе в оффлайн-режиме.
8. Логирование действий мобильного клиента на сервере.

С задачей успешно справились, но, так как задача нетривиальна и мало освещена в сети, были сложности — как технические, так и в подходе к разработке.

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

Кирилл Потехин

Разработчик в Cognitico
и ещё 1
докладчик

Реализация бессерверного бэкенда мобильного приложения на базе AWS

- Бессерверная архитектура бэкендов.
- Микросервисная архитектура.
- Мобильные бэкенды.
- Облачные технологии.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии Android

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

Разработчик в Лаборатория Касперского

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

1. Обзор паттернов и средств, которые применялись для построения архитектуры android приложений.
2. Обзор "новых старых" паттернов программирования, которые сейчас модны в построении архитектуры — Clean architecture, MVP, MVVM, DI. Краткий их обзор, чем они лучше/хуже предыдущих паттернов.
3. Обзор новых инструментов, которые сейчас используются при написании приложений — Dagger 2, RxJava и других.
4. Как все эти паттерны и инструменты помогут нам написать "тестируемый код".
5. Рассмотрение самых различных примеров, которые помогут понять, как конкретную задачу необходимо декомпозировать на различные уровни ответственности (какая часть должна быть в data, какая в business, какая в ui), и как должно происходить взаимодействие этих уровней. И как тесты помогают "выпрямлять" архитектуру.

Мотивация: MVP, Clean architecture и т.д. — это все очень хорошо, но создается такое ощущение, что у каждого разработчика свой способ реализации данных паттернов. И к своей реализации он приходит через определенную боль.Для тех, кто только начинает пробовать, существует проблема. Нигде нет конкретных, жизненных примеров, которые чуть более сложнее, чем тривиальные, как писать, да и вообще, с чего начинать.

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

Доклад будет полезен абсолютно всем android разработчикам.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Технологии Android

Кирилл Филимонов

Android-разработчик в Mail.Ru Group

Как мы данные готовили: ORM и все-все-все в приложении Почта Mail.Ru

1. Описание предметной области, объектов и понятий, с которыми работает приложение.
2. Выделение сущностей и связей между сущностями, представление в терминах ORM.
3. Описание конфигурации ORM и ObjectCache.
4. Работа с БД 
- применение паттерна Команда и Компоновщик для выполнения операций на БД;
- конфигурация исполнителя команд;
- команда как транзакция в БД;
- инструменты, доступные ORMLite для реализации транзакций.
5. Проблема доступа из UI потока к данным, изменяемым в других потоках.
6. Memoization подход для решения проблемы доступа из разных потоков.
7. Описание архитектуры кэшей с применением memoization.
8. Задача поддержания когерентности кэшей;
- использование HaMeR framework для актуализации UI кэша;
- использование механизма блокировок и батч-операций над данными в кэшах.
9. Ограничения ORM ObjectCache при работе с объектами DAO.
10. Реализация DAO с расширенными возможностями работы с ObjectCache.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Процессы разработ

Александр Лукин

Продакт-менеджер сервиса AppMetrica в Яндекс

Аналитика мобильного проекта — проверяй и доверяй

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

- Поделимся опытом AppMetrica — за полтора года разработки собственной системы аналитики мы прошли все стадии принятия неизбежного.
- Расскажем про отличия в расчетах разных платформ аналитики и чем они обусловлены.
- Поделимся опытом сотрудничества с продуктовыми командами разных Яндекс.Приложений, благодаря которым мы выработали собственный подход к расчету основных метрик и можем сказать, что такое "сессия" и кто такой "пользователь". 
- Разберем сценарии, когда ни один из готовых подходов не подходит.

Deep Dive в онтологию систем мобильной аналитики — как сделать свою и начать ей доверять.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Архитектура

Александр Сычев

Ведущий инженер-разработчик iOS в RAMBLER&Co

Как не выстрелить себе в ногу из конечного автомата

Для устойчивого развития проекта требуется правильная организация потоков данных и управления. Если на эту задачу не обращать внимания и положиться на случай, то со временем в программном коде появляются места с запутанной логикой, в которых даже опытному разработчику тяжело сориентироваться.

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

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

Билеты

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

Организатор

Ontico
http://ontico.ru

Организационный комитет: Олег Бунин, support@ontico.ru, 74956460768

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

17 ноября 2016
Докладов 35
Просмотров 9
android, apple, dev, google play, ios, windows phone, мобильная разработка, по, приложения, программирование, разработка, софт
11-12 октября 2016
Докладов 28
Просмотров 5
android, apple, google play, ios, windows phone, игры, мобайл, по, приложения, разработка, софт
28-29 июня 2016
Докладов 32
Просмотров 5
android, apple, google play, ios, windows phone, мобайл, мобильная разработка, по, приложения, программирование, софт
показать ещё