Главная > .NET, JavaScript > Результаты опроса «Чем вы минифицируете внешние стили и скрипты в ASP.NET?»

Результаты опроса «Чем вы минифицируете внешние стили и скрипты в ASP.NET?»

В эту среду на Хабре стартовал опрос «Чем вы минифицируете внешние стили и скрипты в ASP.NET?», целью которого было определить наиболее популярные инструменты клиентской оптимизации для ASP.NET, с помощью которых можно «на лету» минимизировать код внешних стилей и скриптов. В список вошли следующие инструменты клиентской оптимизации:

В опросе приняли участие 213 русскоязычных ASP.NET-разработчиков. Привожу результаты опроса:

Круговая диаграмма с результатами опроса «Чем вы минифицируете внешние стили и скрипты в ASP.NET?»

Самым популярным инструментом для клиентской оптимизации стал ASP.NET Web Optimization Framework от компании Microsoft. Его доля составила 40,38% (если считать вместе с долей расширения Bundle Transformer). Популярность данного инструмента во многом объясняется тем, что это решение из коробки (устанавливается при создании ASP.NET-приложения). Кроме того, сыграло свою роль и то, что по данному продукту имеется большое количество обучающих материалов.

Существенная часть опрошенных (37,56%) вообще не производит минификацию стилей и скриптов. Возможно, что до сих пор многие ASP.NET-разработчики не знают, что минификация и объединения кода в один файл – это самые простые и доступные способы ускорения загрузки клиентской части веб-приложения.

7,98% опрошенных предпочитают производить предварительную минификацию кода. Это во многом связано с тем, что определенная часть разработчиков размещает свои стили и скрипты на CDN.

Аналоги ASP.NET Web Optimization Framework от независимых разработчиков оказались не очень популярными и набрали практически одинаковое количество голосов: Combres (2,82%), SquishIt (2,35%) и Cassette.Aspnet (2,35%).

Комплексный инструмент клиентской оптимизации RequestReduce оказался совершенно непопулярным среди русскоязычных ASP.NET-разработчиков (0,47%).

Реклама
  1. tstar
    13.08.2013 в 00:50

    Отдельное спасибо за Bundle Transformer!

  2. 26.08.2013 в 22:15

    Здравствуйте, Андрей.

    В поисках нового компилятора и минификатора .less стилей, нашел Ваш проект. Он довольно интересен и актуален.

    Только вот при подключении стилей и включении оптимизации (BundleTable.EnableOptimizations = true;) стили «по умолчанию» не минифицируются, приходится добавлять трансформатор: lessStylesBundle.Transforms.Add(new CssMinify()); правильное ли это поведение?

    Было бы так же интересно знать, как правильно использовать Bundle Transformer для работы с .less, особенно в плане производительности. Может у Вас будет отдельный материал на эту тему (в быстрой и удобной форме)? Или как скомпилировать .less не прибегая к BundleTable?

    Скажу больше, при выходе нового bootstrap 3.0.0, использующего спецификации less >1.4.0, старый добрый dotless перестал их поддерживать, и некоторые .net разработчики (включая меня) бросились искать альтернативу, на одной из веток вопросов уже замолвил слово за ваш проект.

    Удачи Вам.

    • 26.08.2013 в 22:56

      Здравствуйте, Михаил!

      Использовать CssMinify с Bundle Transformer — это неправильно. Я неоднократно писал об этом (например, в своей статье «Бандл… Пара-пара-па хэй! или Bundle Transformer шагает по планете» (https://taritsyn.wordpress.com/2013/05/04/bandl-para-para-pa-hjej-ili-bundle-transformer-shagaet-po-planete/) и в комментариях к следующим статьям иностранных блоггеров: http://geekswithblogs.net/ToStringTheory/archive/2012/11/30/who-could-ask-for-more-with-less-css-part-2.aspx и http://blog.cdeutsch.com/2012/08/using-less-and-twitter-bootstrap-in.html).

      Вам нужно установить один из модулей-минимизаторов, поддерживающих минимизацию CSS-кода: BundleTransformer.MicrosoftAjax, BundleTransformer.Yui или BundleTransformer.Csso. А затем зарегистрировать соответствующий минимизатор в файле Web.config (читайте readme.txt, приложенный к модулю-минимизатору).

      Есть и альтернативный путь можно в настройках LESS-транслятора присвоить свойству useNativeMinification значение равное true (тогда не будут нужны никакие внешние минимизаторы CSS-кода).

      Компилировать LESS без регистрации в BundleTable нельзя. Отдельную статью про использование Bundle Transformer для работы с LESS пока писать не планирую. Рекомендую почитать документацию (http://bundletransformer.codeplex.com/documentation) и старые статьи (https://taritsyn.wordpress.com/tag/bundle-transformer/). Особенно рекомендую прочесть первые 2 статьи: «Bundle Transformer – модульное расширение для ASP.NET Bundling and Minification» и «Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?» (они помогут понять основную идею библиотеки).

    • 28.08.2013 в 11:56

      По поводу производительности BundleTransformer.Less и BundleTransformer.LessLite есть лишь одна рекомендация: на сервер должен быть установлен Internet Explorer 9 и выше, т.к. эти трансляторы используют MSIE JavaScript Engine for .NET.

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: