Абсолютно новая секция, которая приходит мне в голову каждый раз, когда я запускаю любимое приложение для заказа такси. Оно грузится столько, что я успеваю придумать концепцию новой секции и насильно записать на неё разработчиков этого приложения :)
Что мы успели собрать в этом году (кстати, это было сложно, опыта реально ни у кого нет):
Расскажем про некоторые из докладов, чтобы у вас сформировалось понимание.
Андриан Буданцов
Известный закон Джеймса Завински гласит “Каждая программа пытается расширяться до тех пор, пока не сможет читать почту”.
В данном докладе будут рассмотрены следующие практические аспекты, возникшие при разработке популярного почтового клиента Spark (номинант “App Store Best Of 2015”):
— Высоконагруженные интерфейсы: рендеринг цепочек сообщений и списка писем — ключевых элементов почтового приложения с высокими требованиями к производительности. Разбор подходов, использующих UIKit, CoreText, AsyncDisplayKit, Core Graphics.
— Базы данных и поиск: работа с большими SQLite базами, оптимизация SQL-запросов, производительность полнотекстового поиска, опыт перехода с SQLite FTS4 на SQLite FTS5.
— Ускоряем Core Foundation: техники кэширования, производительность регулярных выражений, использование альтернативных библиотек (expat, libxml, libcurl), разгрузка applicationDidFinishLaunching, эффективная работа с многопоточностью.
— Работа в фоновом режиме и сетевое взаимодействие: энергосбережение с использованием облачной инфраструктуры; асимметричное шифрование почтовых сообщений; поддержка HTTP/2 для REST API, результаты тестирования алгоритма сжатия LZFSE.
Помимо практических аспектов, в докладе будет уделено внимание используемой в Spark методологии тестирования производительности и энергопотребления.
Команда мобильных разработчиков SuperJob в лице Руслана Трошкова и Сергея Токарева расскажут об опыте разработки производительных мобильных приложений в экосистемах Google и Apple.
Как стоит хранить большие объемы данных и проводить быстрый поиск по ним? Как правильно строить вычисления в рамках жизненного цикла view-контроллера? Как незначительные изменения при отрисовке сильно влияют на производительность приложений и usability?
Использование инструментов отладки (работа с Hierarchy Viewer; поиск и устранение overdraw; профилирование методов; поиск утечек памяти). Написание производительного кода, создание верстки, повышающей скорость работы приложений. Cоздание требований к дизайну интерфейсов и API с оглядкой на производительность. Использование аналитики для логирования и отладки багов.
Денис Свинарчук (Московская биржа) в своём докладе "Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металлический" фреймворк iOS" предлагает вернуться к концепции толстого клиента.
В этом докладе будет рассказано о том:
А также немного поговорим о вычислительной моде. Модные API прямо в телефоне:
Алексей Лавренюк (Яндекс) побеждает в номинации "Самые короткие, но и самые понятные тезисы" с докладом
Я расскажу, как мы разочаровались в софтверных метриках энергопотребления на мобильных и собрали свое устройство для измерения потребления тока с батарейки.
Лаконично, не правда ли?
Николай Морев (Mail.RU) в докладе
представит результаты двух месяцев исследований и разработки сокращения времени запуска приложения Почты Mail.RU. В докладе Николай расскажет все, что удалось узнать на собственном опыте о приемах и хитростях ускорения приложений под iOS, поделится конкретными рецептами и расскажет о результатах проделанной работы.
И, наконец, Алексей Чубарь с докладом "Производительность Unity3D: подводные камни". Тема очень узкая, но тем, кто в ней, безусловно полезная.
Где же прячутся подводные камни? Как обеспечить оптимальный user experience на старом смартфоне? Каких "граблей" стоит избегать при написании кода и подготовке графики? Рассмотрим на примере RPG "Гильдия Героев" для Android и iOS.
Не просто интересная, она, в каком то смысле, уникальная!