Pull to refresh

Реактивные вебсайты. Оглавление

Lumber room
Реактивные вебсайтыНе прошло и трех месяцев с момента официального выпуска первой в России специализированной книги, посвященной клиентской оптимизации, а мы уже собрались писать следующую. Почему мы? Потому что теперь уже полноценный авторский коллектив, а не просто «набор советов из разных источников под моей редакцией». Встречайте героев нашего времени: Евгения Степанищева (bolk) и Глеба Кондратенко (gkond).

До полноценной книги пока еще как до Луны (и обратно :), но оглавление уже подготовлено и утверждено (в общих деталях). И сразу же большая просьба: если вам кажется, что с ним что-то не так, какие-то темы опущены, какие-то раскрыты слишком подробно, что-то будет вам интересно дополнительно прочитать — напишите об этом в комментариях. Сейчас самое время заложить основы для следующей хорошей книжки.

Итак, оглавление книги «Реактивные веб-сайты. Клиентская оптимизация в алгоритмах и примерах». Здесь сразу указана основная зона авторской ответственности (чтобы потом было ясно, кого за что бить :).
  1. Введение – Николай Мациевский.
    • Благодарности.
    • Текущие проекты по клиентской оптимизации.
    • Обзор среды. Перспективы.
  2. Обзор методов клиентской оптимизации – Глеб Кондратенко.
    • Анализ клиентской производительности веб-страниц. Заголовки и компоненты страницы. Стадии загрузки страницы. Быстродействие клиентских сценариев.
    • Уменьшение размера загружаемых объектов. Сжатие текстовых файлов. Оптимизация изображений.
    • Уменьшение числа загружаемых объектов. Объединение текстовых файлов. Объединение изображений. Настройка кэширования.
    • Оптимизация структуры веб-страниц. Особенности верстки. Исключение встроенного кода. Расположение стилей и сценариев. Предзагрузка и пост-загрузка. Распределенное хранение файлов (CDN). Исключение избыточных HTTP-запросов.
  3. Алгоритмизация сжатия текстовых файлов – Евгений Степанищев.
    • Потоковые алгоритмы сжатия в браузерах (gzip, bzip2, bzip, deflate, compress, identity), сравнение: несжатый, gzip, deflate, bzip2, compress. Альтернативные браузерные методы сжатия: delta, Google Chrome. Bzip2: Chrome, w3m, OmniWeb.
    • Поддержка методов в браузерах (+ ошибки реализации).
    • Автоматизация: поддержка веб-серверами, сжатие на лету (настройка Apache1, 2, nginx, лайти, c комментариями) и статика (настройка Apache1, 2, nginx, лайти). Расход памяти, нагрузка на процессор. Лайти держит bzip2!
    • Сжатие скриптом. Распознавание что умеет браузер (TE, «x-методы», вес), выставление заголовков: Vary, Content-encoding, Content-length.
    • Другие методы: сжатие Canvas, архиваторы на JS (алгоритм работы packer, например).
  4. Алгоритмы уменьшения изображений – Евгений Степанищев.
    • Распространённые форматы изображений: SVG, JPEG, GIF, PNG (вкратце, какой формат для чего используется). JPEG — полноцветные с потерей, PNG — полноцветные без потрерь, альфа, GIF — анимация, мелкие картинки (кратко о MNG и APNG), SVG — вектор (рассказать, что в IE без плагина пахать не будет, там VML, рассказать, что SVG появился из VML, затронуть поддержку мобильных браузеров, см. Википедию), ICO (если только как ссылка на первую книгу), XBM?
    • Подготовка JPEG. Программы постоптимизации (PureJPG, jpegtran).
    • Подготовка PNG. Программы постоптимизации (PMT, OptiPNG, PNGout, TweakPNG).
    • Подготовка GIF. Программы постоптимизации (GIFLite, SuperGIF, gifsicle).
    • Подготовка SVG. Сжатие SVG: gzip, deflate (SVGZ).
  5. Уменьшение числа загружаемых объектов – Мациевский Николай.
    • Автоматическое объединение текстовых файлов.
    • Алгоритм разбора и сбора CSS Sprites (sprites.in) и data:URI (duris.ru).
    • Кэширование на клиентском и серверном уровне (основы, сброс кэша и немного прикладных решений для серверного кэширования).
  6. Оптимизация структуры веб-страниц – Мациевский Николай.
    • Организация «отложенной» загрузки JavaScript при текущей структуре скриптов и библиотек. Теоретические подходы и практические решения.
    • Практическое использование CDN на примере Amazon, Google и NGENIX.
    • Перспективы «быстрого» JavaScript — от одних стандартов к другим. Браузеры против оптимизаторов?
  7. Технологии будущего.
    • CSS3 (YASS) – Мациевский Николай.
    • Canvas / UI / Flex (?) — Мациевский Николай.
    • Клиентские хранилища. Обзор и виды хранилищ. Что можно хранить и что это даёт. – Евгений Степанищев.
    • Конкретные примеры на базе одной из библиотек (PersistJS) – Евгений Степанищев
  8. Автоматизация клиентской оптимизации – Мациевский Николай.
    • Обзор технологий и решений на рынке (PHP Speedy, Minify, Smart Optimizer, Web Optimizer, getRPO).
    • Руководство по установке и настройке Web Optimizer.
    • Алгоритмы работы, основанные на веб-стандартах.
    • Оценка эффективности (серверная нагрузка – клиентская производительность). Практические результаты.
  9. Приложение. Практические примеры – Мациевский Николай.
    • Оптимизация ASP.NET.
    • Оптимизация Drupal.
    • Оптимизация Wordpress.
    • Оптимизация Joomla!.
  10. Заключение – Мациевский Николай.
    • В качестве послесловия.

Планируется, что в книге будут полноценные «живые» иллюстрации (наверное, немного отвлекающей направленности, чтобы «сгладить» серьезность предлагаемых решений :) и что она выйдет в электронном виде в сентябре, а в бумажном — уже в начале следующего года (в январе-феврале).

В общем, любые комментарии приветствуются. Напоминаю, что все материалы первой книги выложена на сайте, полностью ей посвященном.
Tags: реактивные веб-сайтыклиентская оптимизацияскорость загрузки
Hubs: Lumber room
Total votes 59: ↑51 and ↓8 +43
Comments 79
Comments Comments 79

Popular right now