Одна из моих любимых книг — «High Performance Browser Networking» Ильи Григорика. Помимо множества полезных советов, в книге есть множество увлекательных историй из реальной жизни.
«46% потребления батареи для передачи 0,2% информации от общего числа байтов.
Всякий раз, когда пользователь Pandora включает песню, музыкальный файл передается приложением из сети за один раз, целиком, что является правильным поведением: скопируйте как можно больше данных, а затем можно надолго выключить радио.
Однако после передачи музыки, приложение будет проводить периодический анализ аудитории, отправляя прерывистые аналитические запросы каждые 60 секунд. Чистый эффект? На запросы аналитики приходилось 0,2% от общего числа переданных байтов и 46% от общего энергопотребления приложения!»
— Илья Григорик, High Performance Browser Networking
Илья не торопится, чтобы подробно изложить свою точку зрения. Чтобы просветить читателей на тему времени автономной работы мобильного телефона, он посвящает целую главу подробному описанию радиомодемов GSM, UMTS и LTE. Удивительно осознавать, что проблемы на одном уровне могут найти свои корни несколькими уровнями ниже.
Поездка от Саннивейла до центра Маунтин-Вью.
Изучая весь стек, High Performance Browser Networking делает больше, чем просто предоставляет факты. Он защищает философию.
Хорошие разработчики знают, как все работает.
Великие разработчики знают, почему все работает.
— Стив Содерс, High Performance Browser Networking, Предисловие