Версия 0.4.5 — Release Candidate 2

    Загрузить Web OptimizerМожно снова радоваться. Веб-приложение для автоматизации клиентской оптимизации дошло до версии 0.4.5 — RC 2. Значительно улучшено быстродействие, потребление памяти, добавлено много новых возможностей и поддерживаемых CMS.

    Подробное руководство по установке (устарело уже, правда)
    Загрузить последнюю версию или мини-установщик
    Помочь проекту материально

    Что нового?

    • Переработано ядро разбора HTML-файла. Теперь весь функционал вызывается только по необходимости и только нужное число раз (таким образом улучшено быстродействие и потребление оперативной памяти). Дополнительно в «зачистке» HTML добавлено удаление комментариев (по умолчанию отключено, ибо не для всех систем безопасно).
    • Стили, заданные через <style type=«text/css»> в head, теперь тоже объединяются (настройка «Объединять внешние файлы и встроенный код»).
    • Настройка «Не проверять дату изменения» исправлена. Теперь по умолчанию (наличию файлов в кэше) индекс строится на основе только имен файлов, что исключает множественные обращения к файловой системе (проверяется только существование 1-2 закэшированных файлов).
    • Очередной пакет улучшений для CSS Sprites:
      • Изменен порядок сортировки изображений для работы с большим количеством «разнокалиберных» изображений.
      • Теперь учитываются отступы (padding), заданные в стилям.
      • Добавлена настройка для исключения IE6 из процесса создания спрайтов.
      • Исправлена проблема с приоритетами стилей. Теперь отсутствие фона задается через !important.
      • Ускорена работа с полноцветными изображениями (теперь все по умолчанию создается в 32битной палитре).
      • Изображения при создании дополнительно проверяются не только по расширению, но и по допустимому формату.
      • Добавлено ограничение при создании больших спрайтов (теперь должно работать на системах с 16 или 32 Мб оперативной памяти).
      • Добавлена автоматическая оптимизация изображений при помощи API smush.it.
    • Добавлена поддержка множественных хостов для распараллеливания загрузки картинок и проч. Необходимо наличие соответствующих записей в DNS и конфигурации сервера, но возможность загрузки с этих хостов проверяется автоматически (по умолчанию проверяется 16 названий типа img, css, js, и т.д.).
    • По умолчанию .htaccess создается в той же папке, что и сайт. Есть настройка для вынесения его в общий Document Root. Также исправлена небольшая ошибка при настройке mod_deflate (необходим mod_filter). Улучшена работа сжатия и кэширования при отключенном .htaccess.
    • Добавлено сжатие JS через YUI Compressor (требуется установленная java, наличие проверяется автоматически).
    • Добавлена HE-локализация (иврит) от mamyta.
    • Добавлено простейшее кэширование созданного HTML (со задаваемым временем кэширования). Может помочь для совсем «слабых» серверов и CMS, не обладающих этой функциональностью. Надо понимать, что при наличии любой серверной динамики (публикация комментариев, например) данный подход может быть не применим. Также добавлен список частей URL для исключения из логики кэширования (можно сразу не кэшировать часть сайта).
    • Добавлена очистка кэша прямо из панели администрирования.
    • Все файлы теперь подключаются через абсолютные пути. Это помогло настроить приложения использование для фреймворков.
    • В список поддерживаемых систем добавлено:
      • Symfony 1.2
      • CodeIngiter 1.7 вместе с MaxSite 0.3
      • Zend Framework
      • MODx 0.9
      • DataLife Engine 8.0
    • А также сотня-другая мелких правок и улучшений.


    Планы на будущее


    Следующий выпуск (0.5) будет посвящен безопасности. Планируется полностью изолировать установку Web Optimizer от его работы (и закрыть заодно доступ к нему через .htaccess). Естественно, в него войдут все замеченные ошибки, часть новых CMS и фреймворков и некоторый новый функционал. Поскольку почти весь план по автоматизации клиентской оптимизации уже выполнен, то текущую версию можно считать весьма близкой к финальной.

    Дизайн


    На данный момент у нас готовы макеты дизайна (fade), но верстать и прикручивать клиентскую логику к ним некому. Поэтому если кто хочет поучаствовать в проекте — пока еще не поздно присоединиться. Надеюсь, что новый дизайн войдет в версию 0.5
    Дизайн для Web Optimizer
    Дизайн для Web Optimizer

    Примеры оптимизации


    Слева YSlow для сайта до установки Web Optimizer, справа тот же самый сайт после установки (сама установки занимает менее минуты). Дополнительного тюнинга (типа ручной настройки CDN-хостов в Firefox) не производилось.
    LiveStreet 0.3alpha
    Web Optimizer для LiveSteert 0.3alpha

    MODx 0.9
    Web Optimizer для MODx 0.9

    DataLife Engine 8.0
    Web Optimizer для DataLife Engine 8.0

    Монетизация


    Поскольку регулярно достаточно большое число человек проявляет недюжинную активность и засыпает вопросами, связанными с особенностями конкретного хостинга или интеграцией с конкретной CMS, то большая часть технической поддержки и интеграции будет проводиться далее на платной основе.
    Если вы хотите заказать установку или настройку Web Optimizer для вашего сайта, то можно воспользоваться этой формой.
    Если вы хотите добавить поддержку какой-либо CMS или нашли явный баг, то стоит опубликовать запрос здесь. С вероятностью, близкой к 1, проблема будет решена, и решена достаточно быстро.

    Использование Web Optimizer


    Ранее уже заходил разговор о том, как приложение можно внедрять в текущую схему публикации сайта или «оптимизации по расписанию». Поскольку при установке используется «цепочная оптимизация», то никаких сложностей в ее настройке и запуске по событию или по расписанию для произвольных страниц нет. Подробности можно уточнить в привате.
    На данной этапе Web Optimizer можно смело использовать также как API для автоматической оптимизации любой системы. Поскольку лиценция MIT, то достаточно просто сохранить комментарии в PHP-коде.

    Поддержка


    Подписаться на twitter-канал
    Помочь проекту материально
    Вы также можете перевести Web Optimizer на свой язык. Всего сейчас порядка 200 фраз в файле локализации.

    Загрузить последнюю версию или мини-установщик.

    Средняя зарплата в IT

    113 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 10 037 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

    Комментарии 30

    • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
          0
          или в ней существует доступный на запись файл .htaccess.
          существует?? )
          +3
          Спасибо большое за проделанную работу,
          особенно за MODx!
            0
            Книгу дочитал — буду теперь автоматику пробовать :)

            На поверстать будет скорее всего пара дней — можно со мной связаться…
              0
              Спасибо за Zend Framework! Попробую прикрутить.
              • НЛО прилетело и опубликовало эту надпись здесь
                  +1
                  с каждым новым билдом разные проблемы)
                  Этот сходу не убил блог на вордпрессе, но на главное пропали все картинки которые храняться на томже сервере(т.е. не с внешних ресурсов), а при попытки открыть любую статью так вообще пишет: «Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии.»
                    0
                    с компрессией скорее всего накладки компрессии самой CMS на Web Optimizer. По умолчанию определять это еще не научились.
                    Можно попробовать отключить где-нибудь сжатие :)
                    0
                    а подробнее про участие в процессе разработки можно? )
                      –4
                      Лучше алгоритм действий выложили бы, чтобы вручную можно было все проделать…
                        +3
                        алгоритм уже с год опубликован на webo.in — процессу это не сильно помогло
                        0
                        А можно реализовать эту программу на сайте, который полностью написан на HTML?
                          0
                          конечно. Только PHP должен быть доступен на хостинге — все преобразования-то через PHP выполняются.

                          Часть тестовых платформ так и проверяются — перед «голым» HTML идет подключение Web Optimizer, а в самом конце — вызов с finish(). Все работает, как часы :)
                            +1
                            Уже реализовал. Очень хорошая штука. Много чего настроил)
                          0
                          А можно все функции убрать в отдельный как-бы-namespace или класс?
                          А то, к примеру, CPS Typo3 определяет свой JSMin, а WebOptimizer – свой, пришлось переименовывать функции – WebOptJSMin, WebOptJSMinException.
                            0
                            при подключении всех библиотек проверяется наличие соответствующих классов. Если класс уже определен, то он не подключается.

                            В принципе, можно и свой namespace, но тогда увеличится потребление памяти. Тут идея как раз в повторном использовании уже объявленных вещей была…
                              0
                              «JSMin» – не такое сверхоригинальное имя, чтобы быть уверенным, что класс JSMin, подключенный неизвествно кем –  это как раз то что вы собирались подключать.

                              В любом случае, видимо как раз в случае с этим классом ваша проверка не сработала, так как после установки Web Optimizer на TYPO3 я получил ошибку «Cannot redeclare class JSMinException»
                                0
                                :)
                                JSMin — очень оригинальное имя. Я не знаю, насколько безграмотными должны быть разработчики, чтобы под этим именем включить не JSMin, а какую-то свою приблуду.

                                Ошибка переопределения класса идет на уровне Typo3, а не Web Optimizer. Очевидно, что Web Optimizer должен работать с любыми, максимально криво написанными CMS, поэтому придется добавить свои расширения к классами (наверное, как опцию, потому что память тоже может быть где-то критична).
                            0
                            Уважаемый sunnybear, вы проверяли работу оптимайзера на финальной версии 0.3 лайвстрита?

                            у меня на тестовой машине почему-то в создаваемую страницу в блоке HEAD вставляется абсолютная ссылка на кэш яваскрипта (/var/www/...), а не URL
                              0
                              навскидку могу предложить только проверить все пути в кофигурации — что-то откуда-то не вырезалось. Может быть, ошибка в Web Optimizer, может быть ошибка в конфигурировании.
                              0
                              ;;;;


                              Все что осталось от jquery.
                                0
                                Вот это оптимизация! XD
                                  0
                                  Да нет, просто весь JS был обфусцирован — это мой недосмотр, все работает как часы!
                                +1
                                Интересно, а движок phpBB3 имеет смысл пытаться оптимизировать?
                                  0
                                  добавлен с версии 0.4.6
                                  0
                                  Если все еще нужна помощь в верстке — обращайтесь
                                    +1
                                    Есть ли планы портирования оптимизатора под Java и другие языки? С Java мог бы помочь.
                                      0
                                      Очень хотелось бы видеть поддержку ipb, или краткий мануал по установке на него. Не где не видел не одного пожелания по этому очень популярному движку, лично к разработчикам обращался — сказали ждать. Я жду.
                                        +1
                                        ок, добавим

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

                                      Самое читаемое