parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Отвечу сразу всем

andylars 12.04.2016 23:58 / 13.04.2016 00:05

Все детали долго объяснять, но в целом это связано с выбранной стратегией покрытия браузеров:
решил, что пора выпилить все эти недо-полифилы, недо-фреймворки от bootstrap'a до pure-css - все они кривые все равно, и не работают на 100%

JS - методика не канает, практически на всех "турбо/мобильных" режимах, все эти полифилы и graceful-деградации типа html5shiv либо тормозят либо вовсе превращают ренденр в кирпич.

Причина - одна (из), индустрия за время отстутсвия нормальной блочной модели - выжила на уродстве плавающих div'ов, и как-то уже пообвыкла, но все они хромоногие по природе.

С приходом flexbox-модели, блочная верстка теперь может быть однозначно предсказуемой и нативной. А -вендорными селекторами покрывает даже более 40-60% браузеров.

Таким образом, имеет смысл делать два шаблона:
1) Edge (pre-edge) = HTML5 + Responsive (media queries, etc)
2) Legacy = html5 doctype, но div'ы с display:table, table-cell

Desktop Legacy-шаблон на div'ах, но без float и без inline-block в каркасных местах верстки, а банально на display:table, table-cell, что надежно и гарантировано даже на утюге, а Mobile Legacy-устройствам показывать media queries бесполезно, поэтому мы просто подсовываем им css, где нет display:table, и все div'ы просто складываются в плоские последовательные div'ы с контентом.

Поэтому сами версии и субверсии браузеров конечно не нужны, но нужна отсечка в выбранной мной границе Legacy/Edge - мол не хотите flexbox, welcome to css:table - зато легко поддерживать, и справедливо и время работает в пользу этого. Ну и плюс мобильная версия может не только css другой подсунуть (опять же есть старый @media handheld, но опять же не тестилось, как это сейчас работает вообще)

Плюс опять же всякие Opera Mobile или UС Web в "турбо режиме", не умеют корректный js, а хочется железное унифицированное решение.

Edge-решения, тоже хвалятся своим респонзивом - по факту, бери какой-нить новомодный Polymer 1.0 (WebComponents) от Google, который уже ко-ко-ко production recommended! И он банально "закирпичится" на вполне актуальном iPhone, и актуальном Android'e

Ну и плюс разные плагин-платформы у Chrome, Opera, Firefox, IE.



P.S.:
А в целом, да, бардак в индустрии. Хочется, чтобы браузер побольше говорил о себе в HTTP_ACCEPT и USER_AGENT.
В первом, сейчас хотя бы можно выцепить image/webp и с гарантией предлжить webp-картинки взамен .jpg/.png.

А во втором, хотелось бы не версии браузеров, а версии HTML, - т.е. например для всех новых фич, ввести линейную шкалу, и к примеру HTML 5.0.2718271 = означает что уже поддерживает вот такое-то свойство CSS3, но не поддерживает еще вот такое. Т.е. по caniuse.com, можно было бы четко выбрать отсечку вашего сайта где у вас Edge, а где Legacy

А не накатывать полифилы с костылями.