Java, UX, HTML, CSS, WEB-design

CSS3 против CSS: тест скорости

[ad_1]

  • Трент Уолтон

  • 0 Комментарии

CSS3 против CSS: тест скорости

  • 10 минут чтения

  • Кодирование, CSS, Производительность, CSS3, Скорость

Краткое резюме ↬

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

До сегодняшнего дня все это было основано на предположении: что я могу создать веб-страницу с точностью до пикселя с помощью CSS3 быстрее, чем с помощью старых методов CSS на основе изображений, и что страница CSS3 будет загружаться быстрее с меньшим общим размером файла. размер и меньше HTTP-запросов.

Дальнейшее чтение на SmashingMag:

  • Поднимите свой дизайн на новый уровень с помощью CSS3
  • Продвиньте свой веб-дизайн в будущее с помощью CSS3
  • Памятка по CSS3 (PDF)
  • Изучение CSS3: Справочное руководство

В качестве эксперимента с одним вариантом использования я решил спроектировать и закодировать веб-страницу и дважды добавить визуальные улучшения: один раз с помощью CSS3, а второй раз с использованием фоновых изображений, нарезанных непосредственно из PSD. Я замерял время каждого раунда добавления улучшений, а когда закончил, использовал Pingdom для измерения времени загрузки.

Еще после прыжка! Продолжить чтение ниже ↓

Вот вымышленная веб-страница Mercury Automobiles, которая могла бы существовать в Интернете, если бы Interweb существовал еще в 1950-х годах. Страница была разработана для демонстрации определенных широко совместимых свойств CSS3, которые в прошлом должны были быть достигнуты с помощью фоновых изображений.

Схема автомобилей Mercury

Выше приведена диаграмма, на которой я применил визуальные улучшения сначала с помощью CSS3, а затем с помощью фоновых изображений CSS (т. е. подход, основанный на изображениях):

  1. линейный градиент
  2. радиус границы
  3. радиально-градиентный
  4. тень текста
  5. box-shadow с RGBa

Процесс эксперимента

1 день
Я кодировал HTML и CSS со структурной точки зрения. Это означает отсутствие закругленных углов, теней, градиентов и изображений, кроме логотипов и фотографий автомобилей. Я решил включить веб-шрифты на этом этапе, потому что хотел сосредоточиться на вещах, которые также можно было бы сделать с помощью веб-безопасного шрифта по вашему выбору (Helvetica, Gia и т. д.). Более того, @font-face существовал задолго до CSS3.

Меркурий индекс

Это дало мне чистый холст для добавления визуальных улучшений. Страница индекса показывает конец моей работы первого дня, а также то, что будут отображать неподдерживаемые браузеры, внешний вид которых структурно неповрежден и визуально приятен. Подробнее об этом позже, но, насколько я понимаю, старые браузеры не наказываются неправильным макетом, а современные браузеры вознаграждаются несколькими визуальными бонусами. Часть внедрения CSS3 заключается в планировании и разработке веб-сайтов, которые хорошо выглядят в качестве запасного варианта.

День 2
Начав с базовой индексной страницы, я создал страницу CSS3. На выполнение ушло 49 минут. Вот код CSS (css3.css):

/*-----CSS3 Started on 2/26/11 at 7:28 AM CST-----*/
h1 {
    text-shadow: -3px 2px 0px #514d46; }

#nav {
    -moz-box-shadow: 0px 0px 12px rgba(88, 83, 74, .7);
    -webkit-box-shadow: 0px 0px 12px rgba(88, 83, 74, .7);
    box-shadow: 0px 0px 12px rgba(88, 83, 74, .7);
    background-image: -moz-linear-gradient(top, #5c5850, #48473e);
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #5c5850),color-stop(1, #48473e));
    background-image: -webkit-linear-gradient(#5c5850, #48473e); 
    background-image: linear-gradient(top, #5c5850, #48473e); }

nav a {
    -moz-border-radius: 12px;
    -webkit-border-radius: 12px;
    border-radius: 12px; }

nav a:hover {
    background-color: #3a3e38;
    background-color: rgba(47, 54, 48, .7); }

nav a.active {
    background-color: #070807;
    background-color: rgba(7, 8, 7, .7); }

body {
    background-image: -webkit-gradient(radial, 50% 10%, 0, 50% 10%, 500, from(#FBF8E3), to(#E6E3D0));
    background-image: -moz-radial-gradient(50% 10%, farthest-side, #FBF8E3, #E6E3D0); }

#learn_more, #details img {
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: inset 0px 0px 8px rgba(88, 83, 74, .2);
    -moz-box-shadow: inset 1px 0px 1px rgba(88, 83, 74, .2);
    box-shadow: inset 0px 0px 1px rgba(88, 83, 74, .2); }

#learn_more a {
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    background-color: #cc3b23;
    background-image: -moz-linear-gradient(top, #cc3b23, #c00b00);
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #cc3b23),color-stop(1, #c00b00));
    background-image: -webkit-linear-gradient(#cc3b23, #c00b00);
    background-image: linear-gradient(top, #cc3b23, #c00b00); }

a {
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in; }

/*-----CSS3 Finished on 2/26/11 at 8:17 AM CST (49 minutes) -----*/

День 3
Я добавил визуальные улучшения, нарезая и используя CSS фоновые изображения прямо из PSD. Несмотря на то, что кода меньше, все дополнительные переключение приложений и нарезка изображений заняли в общей сложности 73 минуты. Посетите страницу, чтобы узнать о подходе на основе изображений CSS. Вот код (css.css):

/*-----CSS (the image-based approach) Started on 2/27/11 at 12:42 PM CST-----*/

#header {
    background: url(../img/navbg.png) left top repeat-x; }

body {
    background: #e6e3d0 url(../img/radial_gradient.jpg) no-repeat center top; }

#nav {
    background-color: transparent; }

h1 {
    background: url(../img/mercuryautomobiles.png) no-repeat center center;text-indent: -9999px; }

#learn_more {
    background-image: url(../img/learn_morebg.jpg);}

#details img {
    background-image: url(../img/detailsbg.jpg);}

#learn_more a {
    background: url(../img/learn_more_abg.jpg) no-repeat;}

.css3 {
    background: url(../img/css3_hover.png) no-repeat center top; }

.smashing {
    background: url(../img/smashing_hover.png) no-repeat center top; }

.trent {
    background: url(../img/trentwalton_hover.png) no-repeat center top;}

.css3:hover {
    background: url(../img/css3_hover.png) no-repeat center -20px;}

.css:hover {
    background: url(../img/css_hover.png) no-repeat center -20px;}

.smashing:hover {
    background: url(../img/smashing_hover.png) no-repeat center -20px;}

.trent:hover {
    background: url(../img/trentwalton_hover.png) no-repeat center -20px; }

.css {
    background: url(../img/css_hover.png) no-repeat center -50px; }

/*-----CSS (the image-based approach) Finished on 2/27/11 at 1:55 AM CST (1 hour and 13 minutes)-----*/

Результаты времени производства

Итак, мы видим разницу в 24 минуты: 49 минут на добавление визуальных улучшений с помощью CSS3 и 73 минуты на добавление изображений. Для меня CSS3 был не только быстрее, но и гораздо приятнее, потому что я был сосредоточен только на одном окне (моем редакторе CSS), если только я не решил взять часть кода из CSS3 Please. С другой стороны, нарезка изображений и переключение с Photoshop на FTP, на редактор CSS и обратно доставляло много хлопот. сделал занять больше времени.

Также стоит отметить, что я сделал все возможное, чтобы составить колоду против CSS3. Сначала я закодировал его, чтобы любое начальное хеширование было выполнено до перехода к третьему дню. Кроме того, изображения, которые я нарезал, оптимизированы настолько, насколько я мог разумно их сделать: повторяющиеся фрагменты в один пиксель и экспорт изображений среднего разрешения. В целом, 24 минуты могут показаться не таким уж большим временем, но это довольно простая страница. Представьте, сколько времени (и денег) можно сэкономить за год.

Какой? Все еще не убедили?…

Размер файла и результаты времени загрузки

Я перенес обе свои страницы в Pingdom Tools, чтобы сравнить размер файла и время загрузки.

Сравнение пингдомов

Обе страницы довольно быстрые, но превалирует CSS3: на 10 запросов меньше, а размер файла меньше на 81,3 КБ. В то время как время загрузки было близким, большие файлы PNG, используемые на обеих страницах, составляли большую часть веса, что составляло в среднем разницу в 0,75 секунды. И когда мы говорим о времени загрузки от 3 до 6 секунд, эти различия, безусловно, могут складываться.

CSS3 CSS Разница
Размер 767,9 КБ 849,2 КБ 81,3 КБ
Запросы 12 22 10

В качестве аргумента я создал еще одну версию версии CSS на основе изображений со спрайтом, содержащим все четыре изображения, использованные в исходной версии, а затем измерил время загрузки. Эта версия CSS Sprite сделал улучшите ситуацию, сократив количество HTTP-запросов с 22 до 19 и уменьшив общий размер с 849,2 КБ до 846,7 КБ. На мой взгляд, эти различия минимальны и увеличили бы время разработки, так что все относительно.

Не слишком отвлекаясь, я думаю, что разница во времени загрузки значительна. Если веб-сайт получает 100 посещений в день, разница может не иметь большого значения, но на веб-сайте с более высоким трафиком эффект увеличивается. Сокращение секунд или даже миллисекунд времени загрузки веб-сайта — немаловажное улучшение пользовательского опыта. Подход, основанный на изображениях, может привести к падению трафика страницы на 15–27 % (исходя из скорости от 5 до 9 % за 400 мс). Это много динеро, чтобы проиграть. Интересно, сколько времени и денег можно сэкономить, разместив кнопку регистрации с радиусом границы CSS3 на веб-сайте с таким же трафиком, как у Twitter.

Твиттер

Другой яркий пример — все CSS3, которые можно найти в интерфейсе Gmail. Градиенты CSS3 и закругленные углы предназначены для увеличения скорости страницы. Говоря о продолжающемся использовании Gmail HTML5 (и CSS3), Адам де Бур сказал следующее об ускорении рендеринга страниц:

Текущая цель Google — заставить Gmail загружаться менее чем за секунду. Скорость — это особенность».

И это:

Компания обнаружила, что использование CSS3 может ускорить время рендеринга на 12 процентов.

Еще не убедились? Нет? Ладно, буду продолжать…

Думая о будущем

Обновления веб-сайта: легкий и трудный путь

CSS3 действительно окупается, когда речь идет об обновлениях и перспективных веб-страницах с точки зрения обслуживания. Глядя на веб-сайт Mercury Automobiles, подумайте, что потребуется для изменения высоты трехколоночных изображений автомобилей или ширины всплывающих подсказок для навигации. Ради быстрого производства я нарезал эти изображения, чтобы они точно совпадали. Один из вариантов — открыть Photoshop, перестроить и изменить размер изображений, обновить соответствующие свойства CSS и загрузить. Другой вариант — спланировать заранее и нарезать «телескопические» изображения, сделав один конец коротким закругленным угловым колпачком, а другое более длинное изображение — на противоположном конце, которое скользит, чтобы заполнить внутреннее пространство. Вы, наверное, видели и делали это раньше:

<div class="border_box_top"></div>
<div class="border_box_bottom">
    <img src="https://www.smashingmagazine.com/2011/04/css3-vs-css-a-speed-benchmark/your_content_here.jpg" />
</div>

Это не идеально. Хотя этот метод удобен во многих случаях, добавление дополнительного HTML только для того, чтобы получить закругленный угол, не кажется эффективным или разумным.

Что делать, если вы хотите стать отзывчивым?

Подача изображений разного размера и изменение размера шрифта в соответствии с определенным разрешением экрана просто невозможны без CSS3. Удивительно, как все эти новые свойства работают вместе и дополняют друг друга. Представьте, сколько времени потребовалось бы для повторной обработки фоновых изображений, чтобы приспособить их к разным размерам изображений и шрифтов, которые отображаются при разных разрешениях экрана. Юк.

Вынос

Для меня это просто доказывает то, что я всегда знал: CSS3 окупается, когда речь идет о производстве, обслуживании и времени загрузки. Давайте еще раз вернемся к цифрам…

CSS CSS3 Результаты
Сроки изготовления 73 минуты 49 минут CSS3 на 33% быстрее
Размер 849,2 КБ 767,9 КБ CSS3 на 9,5% меньше
Запросы 22 12 CSS3 на 45 % меньше

Да, это всего лишь один эксперимент, и на результат повлияли мои собственные способности. Это не предназначено для того, чтобы окончательно доказать, что внедрение CSS3, несмотря ни на что, всегда будет правильным путем. Это просто пища для размышлений. Я призываю вас отслеживать время разработки и загрузки веб-сайтов, над которыми вы работаете, и принимать наилучшее решение для вас и, конечно же, вашего клиента.

Мы все обеспокоены совместимостью браузеров, и мнения могут различаться. Для меня и большинства моих клиентов это было бы вполне приемлемым запасным вариантом. Возможно, при наличии большего количества подобных экспериментов, дающих аналогичные результаты, эту статистику можно было бы цитировать как работодателям, так и клиентам. Если веб-сайт может быть создан на 49 % быстрее (или даже вдвое быстрее) с помощью CSS3, представьте себе преимущества: экономия денег, более раннее время запуска, больше времени, затрачиваемое на добавление «дополнительных услуг», которые выдвигают продукт на первое место, не говоря уже о лучший опыт просмотра для всех.

Дополнительная литература и ресурсы

  • «Почему мы должны начать использовать CSS3 и HTML5 сегодня», Smashing Magazine. В этой редакционной статье реалистично и обнадеживающе рассматривается состояние поддержки браузеров и содержится призыв к отрасли двигаться к инновациям, а не ждать, пока будут установлены ворота.
  • «CSS3 + Progressive Enhancement = Smart Design», Perishable Press. Всесторонний взгляд на CSS3, в котором сначала рассматриваются преимущества CSS3 по сравнению с методами на основе изображений, включая меньшую пропускную способность, более быструю реализацию, повышенную гибкость, сокращение HTTP-запросов и меньше ресурсов сервера.
  • «Google Gmail использует HTML5», Macworld. Google уделяет большое внимание скорости, и это интервью с Адамом де Буром подтверждает его мнение о том, что CSS3, наряду с HTML5, обеспечивает более быструю визуализацию страниц.
  • «CSS Three — Connecting The Dots», Smashing Magazine Придумывание творческих и разумных способов получить максимальную отдачу от CSS3 потребует экспериментов. Прямо сейчас существует множество комбинаций свойств и способов их использования, ожидающих своего открытия. Все, что нам нужно сделать, это соединить точки. Пришло время запачкать руки и заняться инновациями!
  • Загрузите ZIP-файл Mercury Automobiles Не стесняйтесь разбирать вещи и узнавать больше.

(ал) (вф)



[ad_2]
Source: https://smashingmagazine.com

Заключение

Вы ознакомились с статьей — CSS3 против CSS: тест скорости

Пожалуйста оцените статью, и напишите комментарий.

Похожие статьи

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

Ваш адрес email не будет опубликован.

Краткое описание по статье CSS3 против CSS: тест скорости

Название: CSS3 против CSS: тест скорости . Краткое описание: [ad_1] ⭐ Трент У . Дата публикации: 22.02.2022 . Автор: Алишер Валеев .

Для чего создан сайт Novosti-Nedeli.ru

Данный сайт посвящен новостям мира и мира технологий . Также тут вы найдете руководства по различным девайсам.

Сколько лет сайту?

Возраст составляет 3 года

Кнопка «Наверх»