SlideShare a Scribd company logo
Современный станок верстальщика

Николай Птущук
Евгений Батовский




Я.Субботник, Киев, 5 мая 2012 года
2
3
4
5
Наш современный станок




6
Наш современный станок

— Аналитика пользователей




  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров




  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров
— Оптимизация



  6
Наш современный станок

— Аналитика пользователей
— Зоопарк браузеров
— Оптимизация
— Сопровождение


  6
Аналитика пользователей
Safari
Opera         1%
          16%     27%      IE

          30%    20%
Firefox                 Chrome
8
Firefox         Chrome            IE       Opera          Safari
  12 – 1,7%      18 – 12,6%     9 – 9,7%    11.6 – 14,3%   5 – 0,7%

 11 – 13,9%      17 – 5,4%      8 – 12,9%   11.5 – 1,4%

  10 – 2,8%      16 – 0,9%       7 – 3%     11.1 – 0,6%

  9 – 1,8%       15 – 0,6%      6 – 1,7%

  8 – 1,3%

7,6,5,4 – 0,7%                       > 0,5%
 3.6 – 4,3%

 3.5 – 0,9%                   Итого 23 браузера
   9
10
11
Graceful degradation




12
Graceful degradation

— Доступные контент и функциональность




  12
Graceful degradation

— Доступные контент и функциональность
— Браузерозависимые стили




  12
13
Зоопарк браузеров
БРАУЗЕРЫ




15
     Ну почему вас так много?
Как проверяем верстку




16
Как проверяем верстку

1 верстальщик = 7 компьютеров




16
Как проверяем верстку

1 верстальщик = 7 компьютеров
30 верстальщиков = 210 компьютеров




16
Это почти правда




17
Кто они — наши пользователи?




18
19
19
19
забывают
     обновлять
     браузер


20
устанавливают
     альфа и бета
     версии




21
свой набор медиа
     плагинов, «баров»




22
собственные сборки
     браузера




23
24
Разработчику нужно быть
ближе к пользователю




25
Разработчик интерфейсов?
ORLY?
Установи JAWS, какой-нибудь сниффер http/
https, Fiddler к примеру,
прокси сервер туда же для отладки, privoxy и
OpenVPN туннель еще нужен...




26
Разработчик интерфейсов?
  ORLY?
— Протестировать страницы для печати
— Проверить адаптивность страниц
— Настроить браузеры «под себя»



  27
28
29
Образы виртуальных машин MS VPC




                  clck.ru/10L4i




30
MS VPC + VirtualBox = ievms




                     clck.ru/10L6k




31
MS Windows XP IE6

     MS Windows Vista IE7

     MS Windows 7 IE8

     MS Windows 7 IE9



32
Универсальные комбайны

IETester
Multiply IE
IECollection
Adobe BrowserLab


33
Виртуализация приложений

               Wine
                           VMWare
                           ThinApp




34
Виртуализация приложений

                        Wine
                                         VMWare
                                         ThinApp




     Novell ZENWorks Application Virtualisation
34
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
Выбор платформы для
виртуализации ОС




35
2048 Mб памяти
     15 Гб на диске



36
MS Windows Volume Licence
     7 Pro 32-bit

     ZENworks Application
     Virtualization User License +
     1-Year Standard Maintenance


37
IE9
     IE8
     IE7
     IE6


     + Developer ToolBar


38
releases.mozilla.org/pub/
     mozilla.org/firefox/releases/
     firefox.exe -p FF3016
     FireFox/3016/


     + FireBug


39
ftp.opera.com/pub/

     Opera/11.01/opera.exe




     + DragonFly


40
google.com/chrome
     oldapps.com
     portableapps.com



     + Web Inspector


41
www.andlinux.org




42
Cовременный станок верстальщика
Cовременный станок верстальщика
Оптимизация
46
47
48
Каждый день консоль!

ssh, tcpdump, find, sed, awk, svn/
git/hg, ack, shell script, make,
node, npm...




49
UglifyJS

 github.com/mishoo/UglifyJS




50
как работает uglifyjs

> uglifyjs -o blockA.js blockB.js js/script.js




51
reset.css

body { ... }
ol, ul { ... }
table { ... }




52
layout.css

.wrapper { ... }
.column-left { ... }
.column-right { ... }




53
style.css

.header { ... }
.content { ... }
.footer { ... }




54
подключение стилей

<link rel="stylesheet" href="reset.css">
<link rel="stylesheet" href="layout.css">
<link rel="stylesheet" href="style.css">




55
style.css

@import "reset.css";
@import "layout.css";
.header { ... }
.content { ... }
.footer { ... }

56
borschik

     github.com/veged/borschik



57
как работает borschik

> borschik -t css -i style.css -o main.css




58
main.css

body { ... }           .column-right { ... }
ol, ul { ... }         .header { ... }
table { ... }          .content { ... }
.wrapper { ... }       .footer { ... }
.column-left { ... }

59
style.css

.block
{
  margin: 20px;
  color: #f00;
  margin-bottom: 25px;
  font-size: 0.6em;
}

60
csso

     github.com/css/csso



61
style.css

.block
{
  margin: 20px;
  color: #f00;
  margin-bottom: 25px;
  font-size: 0.6em;
}

62
как работает csso

> csso -i style.css -o main.css




63
main.css

.block{color:red;margin:20px 20px
25px;font-size:.6em}




64
как работает csso

margin: 20px;
margin-bottom: 25px;




margin: 20px 20px 25px;


65
как работает csso

color: #f00;




color: red;



66
папка с картинками

images/
  logo.png

css/
  style.css



67
style.css

.logo
{
  background:
    url(/images/logo.png);
}



68
перенос картинок

images/




static/img/



69
cssrb

     github.com/afelix/cssrb



70
.cssrb.js

exports.config = {
  fromBase: '/Users/user/site/images/',
  toBase: '/Users/user/site/static/img/',
  patterns: {
     '^/?images': '/static/img/'
  }
}



   71
как работает cssrb

> cssrb -c .cssrb.js style.css main.css -mv




72
style.css

.logo
{
  background:
    url(/static/img/logo.png);
}



73
оптимизация картинок

imagemagick      advpng
pngout           jpegtran
optipng          gifsicle
pngrewrite       pngnq
exiftool         defluff

74
imgo

     github.com/imgo/imgo



75
как работает imgo

> imgo images/




76
как работает imgo

Result:
 Processed: 13 files of 13, total size 1520795 bytes
 Profit: 146579 bytes (9%)
 Total time: 00:00:51 (HH:MM:SS)



77
Дальнейшая поддержка кода
BEM

 bem.github.com/bem-method/
 clubs.ya.ru/bem/


79
BEM-Tools




80
BEM-Tools

 github.com/bem/bem-tools




80
BEM-Tools

 github.com/bem/bem-tools

 > bem server

80
Вопросы?

 Николай Птущук           Евгений Батовский




mcslayer@yandex-team.ru   uncleb@yandex-team.ru

    mcslayer                  batovsky

More Related Content

PDF
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
PDF
Владимир Гриненко —Инструменты фронтенд-разработчика
PDF
openSUSE Build Server от Б до Ю
PDF
«​Масштабируемый DevOps​» Александр Колесень
PDF
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
PPTX
base.network — пиринговый веб на JavaScript / Денис Глазков (Lazada Rus)
PDF
Современный фронтенд за 30 минут.
PPTX
Знакомство с WebAssembly
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Владимир Гриненко —Инструменты фронтенд-разработчика
openSUSE Build Server от Б до Ю
«​Масштабируемый DevOps​» Александр Колесень
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
base.network — пиринговый веб на JavaScript / Денис Глазков (Lazada Rus)
Современный фронтенд за 30 минут.
Знакомство с WebAssembly

What's hot (20)

PDF
Бэкенд, фронтенд — всё смешалось (nodkz)
PPTX
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
PPTX
Webpack integration
PPTX
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
PDF
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
PDF
Современный фронтенд -- как не утонуть в море хайпа?
PDF
Фронтенд разработка без боли
PPTX
Вредные советы для разработчиков
PDF
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
PDF
Разработка API для большого, нагруженного сервиса
PDF
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
PDF
non-blocking java script
PPTX
Обзор интернет браузеров
PDF
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
ODP
DevOps в реальном времени
PDF
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
PPTX
Обучение фронтенд разработке
PDF
Как Webpack сделал меня счастливее
PDF
NPM и модульная архитектура приложения
PPT
Drupal conf2011 2_kolosov
Бэкенд, фронтенд — всё смешалось (nodkz)
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Webpack integration
Cтандартизация рабочего окружения и автоматизация развертывания рабочей среды
Компонентная разработка на Stylus, Jade, Typescript - Леонид Ширманов
Современный фронтенд -- как не утонуть в море хайпа?
Фронтенд разработка без боли
Вредные советы для разработчиков
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Разработка API для большого, нагруженного сервиса
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
non-blocking java script
Обзор интернет браузеров
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
DevOps в реальном времени
QA MeetUp - Тимур Батыршин: "Тестирование серверной конфигурации"
Обучение фронтенд разработке
Как Webpack сделал меня счастливее
NPM и модульная архитектура приложения
Drupal conf2011 2_kolosov
Ad

Viewers also liked (7)

PDF
Communicate Levant: On The Slack Track
PDF
Enhancing CSO National Dialogue and Collaboration via Social Media
PDF
Government Social Media Conference - June2011
PDF
Communicate Levant: Hush-tagging
PDF
When Lebanese Politicians Tweet
PDF
Parents, educators welcome Facebook for kids
PDF
McDonald's Lebanon Middle East's Customer Festival 19 November 2014
Communicate Levant: On The Slack Track
Enhancing CSO National Dialogue and Collaboration via Social Media
Government Social Media Conference - June2011
Communicate Levant: Hush-tagging
When Lebanese Politicians Tweet
Parents, educators welcome Facebook for kids
McDonald's Lebanon Middle East's Customer Festival 19 November 2014
Ad

Similar to Cовременный станок верстальщика (20)

PDF
Современный станок верстальщика
PPTX
браузеры презентация
PDF
Владим Исаев. Браузеры: «убийцы» операционных систем
PPTX
браузеры презентация
PPTX
История веб-браузеров
PDF
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
PPTX
Browzer
PDF
Олег Мохов "Куда движется вёрстка и верстальщики Яндекса"
PPT
идеология Drupal 8 уже в drupal 7 вячеслав касихин
PPT
Оживление сайтов
PPT
PDF
Наталия Макишвили "Вёрстка для мобильных устройств"
PDF
Вёрстка для мобильных телефонов
PPT
835453
PDF
Web browser 2015
KEY
[JAM 1.2] HTML5 (Alexei Yanochkin)
PDF
Mobile web apps
PDF
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
PDF
Михаил Трошев — Инструменты веб-разработки
Современный станок верстальщика
браузеры презентация
Владим Исаев. Браузеры: «убийцы» операционных систем
браузеры презентация
История веб-браузеров
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Browzer
Олег Мохов "Куда движется вёрстка и верстальщики Яндекса"
идеология Drupal 8 уже в drupal 7 вячеслав касихин
Оживление сайтов
Наталия Макишвили "Вёрстка для мобильных устройств"
Вёрстка для мобильных телефонов
835453
Web browser 2015
[JAM 1.2] HTML5 (Alexei Yanochkin)
Mobile web apps
Марина Широчкина "Производительность клиентсайда через тестирование скорости ...
Михаил Трошев — Инструменты веб-разработки

Cовременный станок верстальщика