Заявки на доклады

Конференция AppsConf проходит в рамках профессионального фестиваля "Российские интернет-технологии". Вам, как участнику конференции, доступны все доклады этой конференции.

Кроме этого, Вы cможете посетить все общие доклады фестиваля, интересные широкой публике, и специализированные доклады конференций блока клиентских технологий и интерфейсов: конференцию "Frontend Conf 2017".

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

Архитектура

Современная архитектура Android-приложений - Archetype

Степан Гончаров

Clean architecture в связке с MVP - самый распространенный подход к архитектуре Android-приложений. Но подойдет ли он всем? Скорее всего, нет.

В данном докладе будет рассмотрен альтернативный поход под названием Archetype, основанный на reactive extensions, и еще нескольких универсальных паттернов, которые позволяют быстро и гибко реализовать технические и бизнес-требования.

Программный комитет ещё не принял решения по этому докладу

Зоопарк MVP в Android. Отовсюду по чуть-чуть

Павел Стрельченко

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

Начав разбираться с существующими шаблонами проектирования, то тут, то там натыкаешься на загадочное MVP. А потом оказывается, что MVP - это не нечто монолитное, а очень даже многогранное и разнообразное.

В докладе мы рассмотрим имеющиеся на данный момент разновидности MVP - классический MVP, VIPER, MVVM, MVPVS и MVI, расскажем о плюсах и минусах того или иного паттерна и, разумеется, представим своё видение "идеальной архитектуры".

Программный комитет ещё не принял решения по этому докладу

ApplicationCoordinator для навигации между экранами

Павел Гуров

Навигация между экранами - задача, которая появляется в приложении когда экранов становится больше чем один, то-есть сразу. Стандартные подходы к её решению в iOS (segues, present(_:animated), UINavigationController) обычно используются внутри кода экранов, что приводит к их жесткой привязанности друг к другу и к сценарию, в котором они участвуют.

Доклад о том, как вынести решение этой задачи из Presentation-слоя с использованием паттерна Application Coordinator. Основан на опыте построения навигации между экранами в профессиональных приложениях Avito. Будет интересен тем, кто ищет способ сделать экраны независимыми, переиспользуемыми и легко трестируемыми.

Программный комитет ещё не принял решения по этому докладу

Интеграция Unity и мобильного приложения

Максим Мартынов

- Cтроим архитектуру абсолютно нативного iOS/Android-приложения c общей бизнес-логикой, используя всю мощь Unity.
- Организуем передачу данных между нативным приложением и Unity-модулем.
- Реализуем нативный интерфейс мобильного приложения, совмещая его с миром Unity.

Программный комитет ещё не принял решения по этому докладу

Технологии iOS

Оптимизация размера приложения

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

* Почему размер приложения это важно.
* Как формируется размер приложения в AppStore.
* Оптимизация на уровне файлов внутри IPA-пакета. Структура IPA, степень сжатия файлов внутри пакета.
* Оптимизация на уровне исполняемого файла. Структура исполняемого файла. Объектные файлы и их влияние на размер приложения с учетом разных языков (Swift, Objective-C, C++).

Доклад принят в программу конференции

Backend на Swift'e. Существует и работает! Взгляд со стороны iOS-разработчика

Роман Мочалов

- Как мне в голову пришла мысль попробовать писать backend на Swift'e?
- Разбор open-source библиотек, позволяющих вам писать только Swift-код для работы с реквестами. Остальную REST-магию они делают сами.
- Напишем с вами локальный сервер для работы с запросами GET и POST. И в конце выльем это все в облако, к примеру, Amazon EC2.
- Ну и, конечно же, в конце похоливарим на тему: "Зачем вам, как Swift-разработчикам под iOS, писать еще и backend". Дискуссия обещает быть жаркой!

Программный комитет ещё не принял решения по этому докладу

Дополненная реальность в Swift (Augmented Reality in Swift)

Вадим Дробинин

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

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

Программный комитет ещё не принял решения по этому докладу

Оптимизация времени запуска iOS-приложений

Николай Лихогруд

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

Рассказ основан на личном опыте оптимизации запуска Яндекс.Карт, описывает весь процесс от осознания проблемы до получения результата, подкреплен множеством технических подробностей и реальных примеров. Доклад является концептуальным, содержит конкретные предложения по разработке мобильных приложений с быстрым запуском и будет полезен iOS-разработчикам любого уровня.

Программный комитет ещё не принял решения по этому докладу

Как релизить концепты каждую неделю и не сломать проект

Владислав Дугнист

Организационные решения:
* Выбор правильной архитектуры.
* Важность поддержания кода в чистоте и code-review.
* Практики для повышения стойкости кода к рефакторингу.

Автоматизация проверок:
* Анализ ошибок средствами llvm.
* OClint.
* Runtime и Unit-тесты.
* Проверочные скрипты на этапе сборки.

Программный комитет ещё не принял решения по этому докладу

UI-тесты в iOS-проекте. Есть ли профит, и для чего их, вообще, внедряют?

Роман Мочалов

- UI-тестами мы решали проблему быстрого поиска визуальных и навигационных несоответствий, ввиду частых изменений общей кодовой базы и UI-элементов.
- В результате за несколько минут получаем скриншот-лист любого user journey и можем отправить его, при необходимости, как заказчику, так и дизайнеру.
- Мы всегда уверены в том, что если наши UI-тесты прошли, то мы имеем полноценно работающий роутинг.
- Как всегда, не обошлось без ложки дегтя. Recorder для генерации UI-тестов из XCode работает верно, но не учитывает особенностей вашего приложения, например, мультиязычность. Поделюсь советами, как сразу обходить стороной такие проблемы.

Программный комитет ещё не принял решения по этому докладу

Технологии Android

Android как основа для реализации мобильного паспорта

Дмитрий Шорин

Операционная система Android на устройствах, поддерживающих технологию NFC, теперь может рассматриваться в качестве основы для реализации электронных, машино-считываемых персональных идентификационных документов, наподобие заграничного биометрического паспорта гражданина РФ. Благодаря использованию технологии Host-based Card Emulation (HCE), регулирующейся организацией NFC Forum, мобильный телефон теперь может заменить любое приложение, выполняющееся на интеллектуальной карте (смарт-карте) стандарта ISO7816, сохраняя при этом всю инфраструктуру инспекционного контроля неизменной.

Криптография, используемая в машино-считываемых документах, обеспечивает необходимую защиту персональных биометрических данных. Применение национальной как симметричной, так и асимметричной криптографии, позволит реализовать документы национального значения. Использование же широко распространенных алгоритмов RSA и эллиптических кривых NIST/Brainpool обеспечит считываемость документов по всему миру.

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

Программный комитет ещё не принял решения по этому докладу

Нативная реклама. Интеграция Appodeal

Екатерина Боголепова

Очень часто для монетизации своего приложения разработчики используют рекламную модель. И чтобы получать достаточное количество рекламы, они вынуждены подключать различные рекламные sdk. Сэкономить время и силы помогают сервисы медиации – это посредники между рекламными сетями и разработчиками мобильных приложений. Одним из таких сервисов является Appodeal.

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

Программный комитет ещё не принял решения по этому докладу

Moxy. Как правильно пользоваться?

Юрий Шмаков

В последнее время паттерн MVP будоражит Android-комьюнити. Уже есть несколько довольно приличных библиотек, которые помогают использовать этот подход. Но с ними вам придётся писать много boilerplate-кода. Поэтому я хочу познакомить вас с Moxy. Покажу, как использовать её компоненты для решения задач, которые будут вставать перед вами, когда вы решите использовать паттерн MVP. И расскажу, как устроены эти компоненты, и почему именно так, чтобы вы не боялись использовать Moxy из-за потенциальных подводных камней.

Программный комитет ещё не принял решения по этому докладу

Мобильный Virtual Reality - что это такое и как работает

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

Поговорим о Virtual/Augment/Mixed/Merged Reality - что это такое и как работает.

Более подробно рассмотрим Mobile VR: Samsung Gear VR Powered by Oculus Rift, Google DayDream и Cardboard. И обсудим, как и с помощью какого инструментария можно разрабатывать приложения.

Программный комитет ещё не принял решения по этому докладу

Планируем фоновую активность: Jobscheduler

Екатерина Боголепова

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

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

Программный комитет ещё не принял решения по этому докладу

Планируем фоновую активность: Jobscheduler

Екатерина Боголепова

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

Программный комитет ещё не принял решения по этому докладу

Процессы разработки

Разработка, публикация и продвижение глазами заказчика

Кирилл Поляков

ЦА - менеджеры
1. Аналитика и метрики внутри приложения.
2. Контроль версий для исходного кода.
3. Настройка локальных и удалённых push-уведомлений.
4. Обратная связь внутри против отзывов в магазине приложений.
4. Кастомизированный онбординг внутри приложения.
5. Использование deep linking.
6. Тестирование user flows и прототипов до запуска новой версии.

ЦА - заказчики и маркетологи
1. Продвижение мобильного приложения (чек-лист).
2. Продвижение через краудфандинг.
3. Повторное вовлечение и удержание пользователей.
4. Как добиться конверсии 90% из просмотров страницы приложения в загрузки.
5. Публикации и работа со СМИ, и лидерами мнений, в т.ч. иностранными (создание пресс-кита).
6. Реферальная программа и промокоды внутри приложения.
7. Контроль и реагирование на упоминание приложения и отзывах вне магазинов.

ЦА - разработчики
1. Правильная постановка технического задания (ТЗ), внесение изменений во время работы.
2. Правильный расчёт времени выполнения работы разработчиком.
3. Опыт UX и UI-дизайна на максимум в мобильном приложении.
4. Выполнение работ, не предусмотренных ТЗ.
5. Доработки и выпуск новых версий.

Программный комитет ещё не принял решения по этому докладу

Методология проектирования кросс-платформенного дизайна или сокращение затрат на дизайн приложений

Андрей Яремко

Я хотел бы ввести новый термин "кросс-платформенный дизайн" — не один дизайн для разных платформ. Это “дизайн framework”— уникальная структура, которая в себе содержит правила использования схожих компонентов из всех возможных ОС и логику адаптации интерфейса для не уникальных компонентов между осями. В его основе стоит универсальность дизайна.

Я расскажу как сократить затраты на дизайн в 6 раз, применив универсальный дизайн для разных ОС, а также:
* где заканчивается универсальный дизайн в нативной разработке;
* material design как основа;
* перечень универсальных компонентов и нюансы;
* структура для разных устройств.

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

Программный комитет ещё не принял решения по этому докладу

Рейтинг мобильного здоровья

Денис Хамин

В докладе будет рассмотрен мировой рынок фитнес-приложений и представлен рейтинг прибыльности рынков. Будут рассмотрены основные показатели рынков (выручка, прибыльность, ARPU), особенности и будут даны рекомендации по выходу на рынки разных стран на основе данных аналитических компаний и открытых источников.

Программный комитет ещё не принял решения по этому докладу

Вам DevOps для модульных проектов под мобильные платформы? Тогда милости просим. Под капотом: Xamarin, VisualStudioServices Continuous Integration и Nuget Server

Денис Кретов

В ходе нашей разработки у нас возникла задача:

Сделать сборку модулей для проектов под iOS и Android из Git-репозитория и выкладывать эти модули на свой Nuget Server в качестве библиотек после серии тестов. Естественно, все на автоматизированной основе. При таком подходе мы решаем вопрос с Continuous Integration и предоставляем возможность оперативно обновлять библиотеки в мобильных приложениях.

Как мы эту задачу решали и как прокачались, расскажем в этом докладе.

Программный комитет ещё не принял решения по этому докладу

"Умная" дверь в мир интернет-вещей

Николай Фетюхин
Юлия Свистунова

Каково это - создавать будущее? Делать то, чего еще нет в мире и то, что сможет этот мир улучшить?

Мы уже привыкли к тому, что жизнь перенеслась в онлайн: смартфоны, “умная” бытовая электроника, автомобили и т.д. Для создания реального технологического продукта будущего необходим особый подход, который в корне отличается от рядовых заказных разработок.

В докладе мы поговорим о том какие ресурсы, технологии и платформы выбрать, как организовать процесс работы и правильно оценить риски проекта. Все разберем на примере кейса разработки мобильного приложения для "Умной" двери.

Программный комитет ещё не принял решения по этому докладу

Ловля сетями. Инструменты отладки сетевых запросов приложений

Дмитрий Рыбаков

Большинство современных мобильных приложений так или иначе работает с каким-то API (а зачастую и не с одним). Количество запросов при этом может достигать десятков в минуту и понимание того, что сейчас происходит в сетевом слое вашего приложения, становится непростой задачей.

Я расскажу и покажу весь диапазон современных средств для мониторинга и отладки сетевых запросов: от самых простых до узкоспециальных - с плюсами/минусами каждого из инструментов и областями их применения.

Программный комитет ещё не принял решения по этому докладу

Toggle your app

Евгений Кривобоков

С быстрым ростом команды и приложений мы столкнулись с новыми для нас вызовами. Мы начали замечать, что стало труднее экспериментировать, code review не решал своих задач, и стабилизация релиза занимала непредсказуемое время. А поскольку мы хотим чаще выпускать новые версии приложений и спать при этом спокойно, то, как инженеры, начали решать эти проблемы с технической стороны и обратили наше внимание на подход feature toggles.

По итогу доклада у слушателей останется понимание, когда уместен этот подход и чем он может помочь в становлении сontinuous delivery.

Программный комитет ещё не принял решения по этому докладу

Просыпаешься, а твоё приложение на главной в App Store: как правильно готовить pet-project'ы

Вадим Смирнов

Вокруг нас достаточно разработчиков, которые хотели бы заняться своим проектом – написать Instagram (только лучше), сделать игру своей мечты, запилить сервис для дальнобойщиков–метросексуалов и т.д.

Зачастую эти идеи так и пылятся в головах людей по самым различным причинам.

В этом докладе поделюсь историями из жизни:
– Как, потратив несколько выходных за год, удалось сделать пять разных проектов (парочка из которых пропиарилась на тематических ресурсах рунета и даже удостоилась внимания Apple, став Featured в App Store).
– Сколько миллионов заработали (нисколько).
– Почему не разочаровались и не прекращаем работать над pet-project'ами.

Программный комитет ещё не принял решения по этому докладу

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

Снежанна Кулинская

На примере российских и зарубежных b2c-приложений.

Тезисы к теме:
- ошибки на этапе идеи и целесообразности приложения;
- ошибки интерфейса;
- ошибки в маркетинге;
- ошибки тестирования и вывода на рынок;
- ошибки монетизации аудитории.

Программный комитет ещё не принял решения по этому докладу

Кросс-платформенная разработка

Тяжёлый труд написания нативных плагинов для кроссплатформенного игрового движка

Сергей Лерг

Lua — прекрасный язык, он позволяет делать сложные вещи весьма просто. В кроссплатформенных движках для игр одна Lua-функция может скрывать за собой сотни строк нативного кода (C++/Java/Obj-C), что позволяет разработчику игры сфокусироваться на конечном продукте.

В этом докладе я покажу, как я делаю нативные плагины для игрового движка Corona SDK, как разные реализации одних и тех же вещей на разных платформах превращаются в прекрасный единообразный API на стороне Lua.

Программный комитет ещё не принял решения по этому докладу

Ужасы мобильной графики

Филипп Кекс

Современные мобильные устройства по уровню "железа" достигли игровых консолей. Почему же уровень real-time графики мобильных игр заметно отстаёт от консолей и ПК?

Из доклада вы узнаете о неожиданных особенностях разработки мобильной графики с такими современными API, как OpenGL ES и DirectX, о типичных проблемах и способах их решений. Также о том, как разработчики ведут кровавую войну за каждую миллисекунду и о надежде на светлое будущее в роли графических программных интерфейсов нового поколения Vulkan и Metal.

Программный комитет ещё не принял решения по этому докладу

Разработка самодостаточных кроcсплатформенных контролов на Xamarin Forms

Станислав Продан
Ян Мороз

- Разработка кастомных контролов в Xamarin Forms, сквозь призму XAML разработчика.
- Разбор наиболее удачных примеров создания самодостаточных контролов.
- Разбор того, как не стоит разрабатывать кастомные контролы.
- Модульная архитектура приложения при разработке кроссплатформенного приложения.

Данный доклад является развитием темы, описанной раннее в данной статье
https://www.pcweek.ru/idea/article/detail.php?ID=190221

Программный комитет ещё не принял решения по этому докладу

Xamarin vs JavaScript

Иннокентий Шушпанов

Я расскажу о том, как и зачем появились такие технологии, как Xamarin, React Native и NativeScript. Расскажу о том, как они работают внутри и что получается в итоге. Также поговорим о тулинге и коммьюнити. Кроме того, расскажу о самом сокровенном - о боли, которую может испытать разработчик на этих технологиях. Объясню, кому и на какой технологии стоит начать свое кросс-платформенное приложение и почему.

Программный комитет ещё не принял решения по этому докладу

Вжух - и написал кросс-платформенную игру

Сергей Лерг

Мастеркласс "Делаем игру для смартфонов на Corona SDK".

Программный комитет ещё не принял решения по этому докладу

Как анализировать кроссплатформенное приложение

Василий Сабиров

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

Программный комитет ещё не принял решения по этому докладу