Category Archives: Client Optimization

Инструменты для автоматической оптимизации картинок

http://addyosmani.com/blog/image-optimization-tools/ — большая подборка от Addy Osmani. Задания для grunt, отдельные приложения для png, jpeg, gif и svg.

Логирование клентских ошибок через сервис

https://www.bugsense.com — дают скрипт (http://www.bugsense.com/releases/html5/1.1/download) и потом можно логировать разные клиентские ошибки (более подробное описание от авторов). Единственный минус — очень платные. Мобильные друзья используют другой сервис — http://try.crashlytics.com/, но для web решения пока нет. Вообще-то я давно писал про то, как можно логировать ошибки (https://blog.bullgare.com/2012/03/%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-js-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5/), но иногда неохота городить огород на серверной стороне, а …

Read more

Методы тестирования мобильных приложений

http://webuild.envato.com/blog/techniques-for-mobile-and-responsive-cross-browser-testing/

Оптимизация загрузки сайта для мобильных устройств

http://youtu.be/YV1nKLWoARQ Слайды:https://docs.google.com/presentation/d/1IRHyU7_crIiCjl0Gvue0WY3eY_eYvFQvSfwQouW9368/present Основные вещи: В идеале надо стараться уложиться в 14 кБ для отрисовки первичной страницы (хотя бы для основного макета со стилями). При этом стили для этого сделать встраиваемыми, т.к. для избежания FOUC (flash of unstyled content) браузер ждет догрузки css и только после этого начинает отрисовывать страницу. Javascript стараться грузить уже после отрисовки …

Read more

Sizzle: как работает движок селекторов в jQuery

http://blog.bigbinary.com/2010/02/15/how-jquery-selects-elements-using-sizzle.html Главное: Если в браузере доступен document.querySelectorAll(), или достаточно методов document.getElementById() и document.getElementsByTagName(), то запрос к DOM-у будет передан этим методам, и потом ответ будет обёрнут в jQuery. Интересное наступает, если этими методами обойтись нельзя. Для примера возьмем старый браузер без document.querySelectorAll() и селектор

Best practices клиентской оптимизации от Yahoo!

http://developer.yahoo.com/performance/rules.html

Квест о запросах браузеров к внешним ресурсам в разных ситуациях

http://jakearchibald.github.io/request-quest/

Отложенная загрузка шаблона в AngularJS

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

Но тогда получится, что блок покажется пользователю только когда будет выставлена переменная showUserBlocked, а внешний шаблон будет подгружаться в любом случае сразу при загрузке страницы. Что неправильно, особенно на мобильных устройствах. Решение этой проблемы — простое:

Т.е. пока переменная showUserBlocked …

Read more

Performance Checklist for the Mobile Web

http://www.youtube.com/watch?v=0UNWi7FA36M Говорится об оптимизации web-приложений под мобильные устройства. 3 составляющих. Сеть 3G имеет теоретическую максимальную пропускную способность в 3Mbps Радиомодуль мобильных устройств (у которого 3 состояния: Active, Pending, Idle) из спящего режима в режим нормальной работы переходит порядка 1-2 секунд. Поэтому желательно подгружать большие пачки данных сразу и потом эмулировать подгрузку по аяксу (к тому …

Read more

Сжатие картинок

http://www.smushit.com/ysmush.it/ Сжимает PNG32 очень хорошо.