Archive

Posts Tagged ‘Microsoft Ajax Minifier’

Сравнение эффективности минимизаторов CSS- и JavaScript-кода (Сентябрь 2013)

Логотипы модулей-минимизаторов из Bundle Transformer

За прошедшие, с момента публикации предыдущего обзора, 3 месяца уже успели обновиться почти все рассмотренные алгоритмы минимизации (кроме, Packer`а). Кроме того в Bundle Transformer появился новый модуль-минимизатор на базе Clean-css — BundleTransformer.CleanCss.

При подготовке данного сравнительного обзора были учтены следующие пожелания читателей:

  1. В предыдущем обзоре в качестве исходных файлов использовались: bootstrap.css и bootstrap.js из Twitter Bootstrap 2.3.2, из-за чего достоверность результатов была низкой. В новом же обзоре размер выборки был увеличен: для сравнения были отобраны 7 JS-файлов и 5 CSS-файлов из 10 популярных Open Source-проектов.
  2. Теперь в сравнении минимизаторов CSS-кода также участвуют встроенные средства минимизации препроцессоров LESS и Sass.
  3. Как известно, Bundle Transformer минимизирует каждый файл по отдельности и затем производит объединение минимизированного кода в один файл. Данный механизм сделан для того, чтобы предотвратить повторную минимизацию предварительно минимизированных файлов. Другие аналогичные библиотеки сначала объединяют код файлов, а затем минимизируют этот объединенный файл. Поэтому для полноты картины мы произведем 2 сравнения: сначала сравним эффективность минимизаторов на файлах, полученных путем объединения минимизированного кода, а затем на файлах, полученных путем минимизации объединенного кода файлов.

Как и в предыдущем обзоре, для минимизации файлов мы будем использовать модули Bundle Transformer, а для измерения размеров полученных файлов – расширение YSlow.

Тег «Далее»

Сравнение эффективности минимизаторов CSS- и JS-кода

Логотипы модулей-минимизаторов из Bundle Transformer

Разработчики, использующие Bundle Transformer, часто спрашивают у меня: «Какой минимизатор обладает самой высокой степенью сжатия?». В принципе, в сентябре прошлого года в своей статье «Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?» я уже проводил сравнение минимизаторов по степени сжатия кода, но это сравнение было поверхностным и не было подкреплено цифрами.

В этой краткой статье мы проведем сравнение наиболее популярных алгоритмов минимизации CSS- и JS-кода на примере адаптеров-минимизаторов из Bundle Transformer. В качестве исходных файлов будут использоваться файлы bootstrap.css и bootstrap.js из Twitter Bootstrap версии 2.3.2. Измерять размеры файлов мы будем с помощью YSlow.

Тег «Далее»

Вышел Bundle Transformer 1.6.10

Логотипы библиотек Bundle Transformer, в которые были внесены изменения в версии 1.6.10

Новая версия Bundle Transformer характеризуется следующими изменениями: большая часть сборок теперь подписана; в ядре, были исправлены ошибки, возникавшие при обработке путей; были обновлены некоторые модули (BundleTransformer.SassAndScss, BundleTransformer.CoffeeScript, BundleTransformer.TypeScript, BundleTransformer.MicrosoftAjax, BundleTransformer.Yui, BundleTransformer.UglifyJs, BundleTransformer.Csso и BundleTransformer.WG) и создана новая версия демонстрационного сайта ASP.NET Web Pages.

Рассмотрим основные нововведения данной версии:

Тег «Далее»

Вышел Bundle Transformer 1.6.5

Логотипы библиотек Bundle Transformer, в которые были добавлены изменения в версии 1.6.5

Основным нововведением в новой версии Bundle Transformer стала поддержка языка TypeScript. Кроме того, были внесены изменения в ядро продукта и в следующие модули: BundleTransformer.MicrosoftAjax, BundleTransformer.Yui и BundleTransformer.Csso.

Рассмотрим основные нововведения данной версии:

Тег «Далее»

Bundle Transformer – модульное расширение для ASP.NET Bundling and Minification

Логотип Bundle Transformer

Одним из наиболее популярных нововведений в ASP.NET MVC 4 и ASP.NET 4.5 стала библиотека, производящая минимизацию и объединение кода CSS- и JavaScript-файлов — ASP.NET Bundling and Minification (другие названия: System.Web.Optimization, Microsoft.Web.Optimization и ASP.NET Optimization — Bundling). Если вы еще не знакомы с данным продуктом, то рекомендую прочитать статью Дэвида Хайдена «ASP.NET MVC 4 Bundling and Minification of CSS and JavaScript» и посмотреть выступление Скотта Гатри «A look at ASP.NET MVC 4». Во многом ASP.NET Bundling and Minification напоминает уже присутствующие на рынке продукты для проведения клиентской оптимизации: Combres и Cassette.

Тег «Далее»

Клиентская оптимизация в ASP.NET MVC 3. Сжатие JS- и CSS-файлов

Первоначально данная статья была опубликована в январском номере журнала MSDeveloper.RU.

Содержание

  1. Сжатие JS- и CSS-файлов
  2. Менеджеры ресурсов

В своей предыдущей статье «Облегчаем работу с JS- и CSS-кодом в Visual Studio» я уже говорил о том, что практически в любом современном веб-приложении среднего размера содержатся десятки JavaScript- и CSS-файлов. В прошлый раз я рассказал, как облегчить работу с кодом, который расположен в этих файлах. Рассмотрим эту проблему под другим углом: большой объем кода внутри этих файлов, к которому мы еще добавили регионы, теги reference и другие документирующие комментарии, приводит к увеличению времени загрузки веб-страниц и увеличивает объем трафика, который проходит от сервера к браузеру пользователя. Если время ожидания загрузки веб-страницы будет слишком долгим, то пользователь сайта начнет себя чувствовать некомфортно и может покинуть сайт. Кроме того, проблемы могут возникнуть и у владельца сайта, если исходящий с сайта трафик превысит заранее оговоренный с хостинговой компанией объем.

В данной серии статей я хочу рассказать о клиентской оптимизации веб-приложений, написанных на ASP.NET MVC 3. Клиентская оптимизация – это комплекс мер по увеличению скорости загрузки клиентской части веб-страницы (HTML, CSS, JavaScript и графика). Понятие клиентская оптимизация известно давно, но впервые о ней серьезно заговорили в конце 2007 года после публикации статьи «13 простых правил для ускорения вашего веб-сайта» («Thirteen Simple Rules for Speeding Up Your Web Site»), написанной командой Exceptional Performance (Исключительная производительность) компании Yahoo!. За прошедшие четыре года 13 простых правил превратились в 35 практических рекомендаций, с которыми можно ознакомиться в статье «Best Practices for Speeding Up Your Web Site».

В данной статье мы рассмотрим и применим на практике только одну рекомендацию команды Exceptional Performance – минимизацию JS- и CSS-кода.

Тег «Далее»

Минимизация JS- и CSS-файлов с помощью Microsoft Ajax Minifier

Нашел на Хабрахабре хорошую статью, в которой показано как с помощью Microsoft Ajax Minifier можно минимизировать JS- и CSS-файлы не выходя из Visual Studio.
Параметры минимизации задаются в настройках проекта (ASP.Net Web Application или ASP.Net MVC Web Application). Минимизация файлов производится в процессе сборки (компиляции) проекта.