Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Куда идём мы с Пятачком, или О
том, куда движется вёрстка и
верстальщики Яндекса.
Олег Мохов
Верстальщик


Я.Субботник, Екатеринбург, 2 июля 2011 года
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"
6
Вышел в 2001 году

    Очень много проблем и
    неподдерживаемых решений

    Доля в рунете 2.6%
    и продолжает снижаться




6
Вышел в 2006 году

    Проблемы почти те же

    Доля в рунете 5.7%




7
8
FF4   IE
8
9
4 элемента




9
4 элемента
    разные решения в разных
    ситуациях




9
4 элемента
    разные решения в разных
    ситуациях
    время на внедрить и
    протестировать




9
4 элемента
    разные решения в разных
    ситуациях
    время на внедрить и
    протестировать
    удар по скорости рендеринга




9
10
Graceful degradation



11
Chrome   Firefox   Opera   IE



12
13
CSS3 свойства

     HTML5

     Не фиксим png24

     В разных браузерах может
     различаться порядок блоков




13
CSS3




14
CSS3   border-radius

            border-image

            gradients

            transitions

            flexbox

            ...
14
FF   IE
15
border-radius + before:




              FF               IE
15
border-radius + before:




                           нет уголка

              FF                        IE
15
border-radius + before:        нет png24 fix




                           нет уголка

              FF                         IE
15
16
FF   IE




17
FF            IE




     placeholder


17
18
18
+ transition
18
+ transition
18
Сервисом можно
 пользоваться!
Доклад Олега Мохова на
      Я.Субботнике в Киеве
     http://video.yandex.ru/users/ya-events/view/276/




20
Тачевая вёрстка
22
iOS   Android




23
Доклад Владимира Гриненко
      на Я.Субботнике в Киеве
       http://video.yandex.ru/users/ya-events/view/277/




24
Каждый верстальщик Яндекса
          будет заниматься
          тачевой вёрсткой


25
Хочется всё и сразу



                      26
Производительность

Хочется всё и сразу



                      26
На сервере




27
На сервере

     • Обфускация




27
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу




27
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок



27
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок
     • Правильные http-заголовки


27
На сервере

     • Обфускация
     • Уменьшение количества запросов к серверу
     • Оптимизация картинок
     • Правильные http-заголовки


27
На клиенте




28
На клиенте

     • Не использовать каскад




28
На клиенте

     • Не использовать каскад
     • Не селектить по тегам




28
На клиенте

     • Не использовать каскад
     • Не селектить по тегам
     • Растягивать DOM вширь, а не вглубь



28
Конкретнее




29
Конкретнее

     • png24 спрайты с фильтром тормозят в IE




29
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF




29
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF
     • box-shadow inset с шириной > 10px тормозит



29
Конкретнее

     • png24 спрайты с фильтром тормозят в IE
     • много селекторов + способны повесить FF
     • box-shadow inset с шириной > 10px тормозит
     • transition цвета даёт большую нагрузку на
      процессор



29
30
Обнаружили и
      исследовали

31
Исследовали и
      обнаружили

31
Чего исследовать?




32
Чего исследовать?

     • CSS-свойства




32
Чего исследовать?

     • CSS-свойства
     • Сочетание свойств друг с другом




32
Чего исследовать?

     • CSS-свойства
     • Сочетание свойств друг с другом
     • Как правильно строить DOM



32
Чего исследовать?

     • CSS-свойства
     • Сочетание свойств друг с другом
     • Как правильно строить DOM
     • Разные форматы графики


32
Выяснили




33
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях




33
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях
     • data:uri картинки рендерятся так же быстро,
       как и обычные картинки




33
Выяснили

     • CSS3 свойства зачастую сильно быстрее экстра
       разметки, но не во всех случаях
     • data:uri картинки рендерятся так же быстро,
       как и обычные картинки
     • Псевдоселекторы быстрее с указанием имени
       элемента (.link:hover → a.link:hover)



33
Доклад Михаила Корепанова
      на Я.Субботнике в Киеве
       http://video.yandex.ru/users/ya-events/view/275/




34
Куда мы идём?




35
Куда мы идём?

     • Новые технологии и graceful degradation




35
Куда мы идём?

     • Новые технологии и graceful degradation
     • Тачевая вёрстка



35
Куда мы идём?

     • Новые технологии и graceful degradation
     • Тачевая вёрстка
     • Ускорение рендеринга


35
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"
Самоускорение
CodeStyle



38
Группировка
     CSS-свойств
     •   шрифт
     •   позиционирование
     •   отображение
     •   размеры
     •   таблицы/списки
     •   текст
     •   цвета/эффекты


39
.b-switcher__tumbler
{
    width: 33px;
    height: 13px;
    margin: 0 5px;

    display: -moz-inline-box;
    display: inline-block;

    vertical-align: middle;
	   text-align: left;



    border: 1px solid #bbb5b3;
    background: #a1a1a1;
    -moz-border-radius: 3px;    /* Firefox */
    -webkit-border-radius: 3px; /* Safari, Chrome */
    border-radius: 3px;
    -moz-box-shadow: inset -2px 2px 3px 0 #666;    /* Firefox */
    -webkit-box-shadow: inset -2px 2px 3px 0 #666; /* Safari, Chrome */
    box-shadow: inset -2px 2px 3px 0 #666;
}
CSSComb
      http://csscomb.ru/




41
ZenCoding



42
ZenHTML




43
ZenHTML


     div.my1 + div.my2 > ul > li * 5




43
ZenHTML

 <div class='my1'></div>
 <div class='my2'>
  <ul>
    <li></li><li></li><li></li><li></li><li></li>
  </ul>
 </div>


43
ZenCSS
     po:r → position: relative
     po:a → position: absolute
      po:s → position: static
            f:l → float: left
          f:r → float: right



44
ZenCSS



      po:r

45
ZenCSS



      por

46
ZenCSS
     por → position: relative
     poa → position: absolute
      pos → position: static
          fl → float: left
         fr → float: right



47
HayakuBundle


     po:r + por


48
HayakuBundle

      por;fl;tal;m0




49
HayakuBundle

     position: relative;
     float: left;
     text-align: left;
     margin: 0;

49
HayakuBundle

     margin-left: 10px
     margin-left: 1.1em




50
HayakuBundle

     margin-left: 10px
                   1
     margin-left: 1.1em




50
HayakuBundle

     margin-left: 10px
                   2
     margin-left: 1.1em




50
HayakuBundle
     https://github.com/kizu/Hayaku.tmbundle
       https://twitter.com/#!/HayakuBundle




51
Олег Мохов
верстальщик
mokhov@yandex-team.ru
twitter: olmokhov

More Related Content

Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верстальщики Яндекса"