Организатор: SmartMe University
Тренеры:Радин Денис и Юрий Лучанинов
В последние годы веб-технологии стали своего рода серебряной пулей для UI и кроссплатформенной разработки, однако отношение к данному вопросу по-прежнему не однозначно.
Одной из основных проблем, с которыми сталкиваются разработчики при создании веб-приложений — производительность в сравнении с native приложениями. Много «know how» необходимы для того, чтобы создать HTML / JS приложение, которое будет таким же быстрым, как и IOS или Android Native.
Мастер-класс ознакомит вас с серией техник, позволяющих разрабатывать максимально быстрые веб-приложения, поднять отзывчивость интерфейса и сделать ваших юзеров счастливее.
«Оптимизация производительности — это не только о то, что делает ваше текущее приложение быстрее. Речь также идет и о реализации тех вещей, которые вы не могли делать ранее...», — Challenging Native.
О тренерах
— Радин Денис
(Javascript / Front-End Engineer at Liberty Global)
Фронтенд-специалист со страстью к экспериментам и оптимизации производительности. В качестве разработчика работал с Национальным олимпийским комитетом, Тимуром Бекмамбетовым, Nissan Авто и т.д.
Имеет более 10 лет опыта коммерческой разработки программного обеспечения и более 3 лет опыта руководства командой, реализовал более 100 проектов (весь цикл разработки). С #, HTML5 Microsoft — сертифицированный разработчик. Автор блога — Pixelscommander.
— Лучанинов Юрий
(Html/ Js/ Android Group Leader at MobiDev)
Руководитель направления кросс-платформенной разработки мобильных приложений в компании MobiDev. Ведущий специалист в области разработки на PhoneGap и Android. В IT бизнесе с 2001 года. С 2009 года занимается разработкой нативных и кросс-платформенных мобильных приложений.
План мастер-класса:
1. Введение.
2. Загрузка страницы:
● Критерии успеха, методики измерения
● Становимся инженерами: как передаются данные?
● Уменьшаем количество файлов
● Уменьшаем сетевой траффик
● Оптимизируем порядок загрузки
● Возвращение серверного рендеринга
3. Скорость исполнения JavaScript:
● Почему это важно?
● Критерии успеха, методики измерения
● Становимся инженерами: Как работают JS движки?
● Используем теорию для оптимизации
● Оптимизируем работу с данными
● Оптимизируем функции
● Кеширование, меморизация
● Что нужно знать о jQuery?
● Работаем с DOM
● Делегация событий
● Профайлинг JavaScript
4. Работа с памятью в JavaScript, Garbage Collector:
● Жизненный цикл памяти.
● Хороший тон при использовании памяти.
● Профайлинг памяти.
● Техника трех снимков.
● Статическое выделение памяти.
5. Скорость рендеринга и анимации:
● Основной поток выполнения в браузере
● Hardware VS Software рендеринг
● Советы по высоко производительной анимации
● Reflow в глубь
● Paint в глубь
6. Альтернативные методы рендеринга контента:
● SVG
● Canvas
● WebGL
7. Человеческое восприятие и UI трюки:
● Несколько фактов о человеческом восприятии
● Критерии успешного приложения с точки зрения конечного пользователя
● Задержки во взаимодействии на мобильных устройствах
● Проблемы проектирования UI на мобильных устройствах
8. Трюк: делаем быстрые бесконечные списки (Lightweight + Object Pool).