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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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) рассказывал о том, как с помощью инструментов, лайфхаков и горячих клавиш повысить свою продуктивность и оптимизировать рабочее пространство.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Видеоотчет

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

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