Опишите ваш проект
Наши специалисты свяжутся с вами в ближайшее время
Отправив запрос вы получаете:
  • Письмо или звонок от нашего менеджера
  • Оценку своего проекта
  • Личную встречу, при необходимости
  • Конфиденциальность гарантирована!
maxim_kaschjev
Ваш менеджер
Максим Кащеев
С удовольствием ответим на все ваши вопросы
Задать вопрос
Project Management

Android Evening - делаем приложения лучше

Как улучшить performance мобильного приложения, решить проблему “коллектора” и оптимизировать мобильную разработку? Команда Клуба Большого мозга задалась этими вопросами и отправилась за помощью к опытным спецам.

Получив ответы, мы решили поделиться знаниями и собрали более 70 разработчиков на Android Evening!

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

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

Android Evening - делаем приложения лучше - image

Открывает Клуб Большого Мозга Наталия Бринза – руководитель отдела мобайла в Artjoker. Наташа как никто знает, “чем дышат” mobile-разработчики, что их волнует и чего не хватает.

Android Evening - делаем приложения лучше - 2 - image

И, наконец, начинается самое интересное - мастер-классы спикеров.

Чем запомнились выступления?

О, клево, анимация!

Первый спикер приехал из Львова - Антон Минашкин (Chief Software Engineer в EPAM Systems). Он рассказывал о том, как улучшить Performance в мобильных приложениях: How to build an app instead of slideshow.

Android Evening - делаем приложения лучше - 3 - image

Среди участников были не только Android-разработчики, а и iOS-developer’ы, а также проектные менеджеры - все те, кто хочет быть в теме процессов и трендов mobile-сферы:

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

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

Антон актуализировал роль анимации в разработке хорошей шуткой: “Пользователи любят анимацию, а разработчикам это позволяет скрыть секунды ожидания в прогрузке после нажатия кнопки. Пользователь такой: “О, клево, анимация” и не замечает ожидания.”

Акцент выступления был на том, как можно улучшить performance Android-приложения.

В начале участники рассмотрели ключевые параметры, исходя из которых мы понимаем, что performance в приложении хороший:

  • FPS ( количество кадров в секунду) - должен быть не меньше 60 в секунду)
  • Frame duration (время изменения кадров)
  • Skipped frames (количество пропущенных кадров) - главный параметр, если это количество большое, значит, система перегружена и нужно улучшать performance.

Затем Антон рассказывал, как избежать Skipped frames и улучшить перформанс.

  1. Не использовать прозрачность Alpha, которая, которая плохо влияет на производительность Android.
Если вам нужен серый текст, используйте серый текст!

Android Evening - делаем приложения лучше - 4 - image

  1. Следите за комплексной иерархией View.
    Она должна быть минимальной настолько, насколько это возможно, иначе страдает performance, и мы теряет большее количество фреймов.
  2. Используйте Constraint Layout - это современный View, который легче отрисовывать и он более оптимизирован.
Есть такая книжка – кто ее читал? (несколько людей поднимают руки) – Забудьте

Также в докладе участники рассмотрели несколько типичных проблем и то, как их решить:

1 Проблема – GC () calls

Garbage Collection - это механизм, который освобождает память. При этом он влияет на performance и нагружает систему, поэтому задача программистов сделать так, чтобы он реже очищал память.

Как избежать:

  • Используйте object pools
  • Use mapping carefully
  • Know when android falls

Как решить:

  • Strings&Fonts
  • Use Android Collection

2 Проблема – Recycler View

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

Как решить:

  • Используйте стандартные имплементации
  • Поймите, как он на самом деле работает, его структуру
  • Забудьте этот метод:

    NotifyDataSetChanged ()

В завершении Антон дал несколько советов о том, как не сделать хуже:

  1. Не смотрите код, пока не поймете, что идет не так
  1. Используйте developer Concole
  1. Рассмотрите проблемы производительности как ошибки - Debugging - все любят консольные тулы

Презентация спикера:

Productivity Hero

Михаил Анохин (Android Developer в Dev-Pro) рассказывал о том, как с помощью инструментов, лайфхаков и горячих клавиш повысить свою продуктивность и оптимизировать рабочее пространство.

Android Evening - делаем приложения лучше - 5 - image

Презентация спикера:

Идем по пути наименьшего сопротивления

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

Android Evening - делаем приложения лучше - 6 - image

Лекция полезна не только разработчикам, но и проектным менеджерам, сейлзам и бизнес-аналитикам.

Николай - Технологический эксперт в Dev-Pro.net, имеет большой опыт в консультировании клиентов о технологических решениях.

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

Хотелки заказчика:

  • Хочу две платформы
  • Хочу нативное приложение
  • Хочу выйти на рынок быстро
  • Хочу как можно скорее окупить приложение

Николай подробно рассмотрел каждое технологическое решение по нескольким параметрам:

  1. цена
  2. поддержка
  3. performance
  4. UX
  5. работа в оффлайн
  6. сенсоры
  7. выбор инструментов

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

Если приложение можно вложить в веб-сайт – вложите его в веб-сайт. Сделать сайт дешевле, чем рыть туннели под Ла-манш.

Краткие выводы:

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

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

Кроссплатформенное - поддерживаемость, performance внедряются хорошо, но если приложение сложное, нужно допиливать фичи + UX на уровень ниже, чем в нативных приложениях.

Суммируя, Николай сделал вывод – на что нужно обращать внимание, принимая решение:

  • Целевая аудитория
  • Что будет делать приложение

Презентация спикера:

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

Android Evening - делаем приложения лучше - 7 - image

Мы вдохновлены успехом третьего Большого мозга и готовим следующий ивент:)

Android Evening - делаем приложения лучше - 8 - image

Смотрите фотографии с Android Evening.

Видеоотчет

А уже 29 ноября мы проводим Клуб Большого мозга IV - DevOps Evening, регистрируйтесь

Поделись своей эмоцией после прочтения статьи
Давайте обсудим Ваш проект
Мы с радостью сделаем бесплатную оценку вашего проекта
Или просто загрузите файл с презентацией или описанием
Моисеев Артем
Business Development Manager
Моисеев Артем