Возможно я не прав, но как медленное соединение будет в данном случае влиять на отрисовку? Код движка не будет большим и загрузится только раз, после чего пока грузится html — скрипт успеет отработать и определить положение основных div блоков. Загружавшиеся картинки уже будут правильно позиционироваться. Потом сдвиги будут только в случае если где-то контент не влезет в блок.
Конечно при сложном макете полностью сверстанном в этой технологии — многократная перерисовка возможна (зависит от того насколько удачна будет реализация), Но я изначально ориентировался не на замену верстки, а на реализацию вещей которые в css делать сложно и неудобно. Т.е. на то что уже сейчас делается часто средствами JavaScript.
Спасибо за ссылку, буду изучать. Пока прокомментирую другие замечания.
Гриды, например, не работают когда нужно на мониторах класть 3 элемента в ряд, а на телефонах — в столбец.
В данном случае, можно было бы ввести дополнительные операторы, для автоматической ориентации блоков.
Потом нужно учитывать что контент внутри может сам менять размер, например текст в зависимости от языка, и ценнее уместить текст чем выполнить ограничение в 80% ширины.
В статье есть описание реализации тянущихся блоков. Более сложные зависимости можно реализовать за счет «правил».
Но даже если ты найдешь универсальную мат. модель, реализуешь ее, будет ли это удобнее и понятнее для простых веб-разработчиков?
Этот момент меня тоже волнует. Я старался делать систему максимально простой, чтобы даже зная 10% синтаксиса — можно было ее полезно применять.
Повторюсь — эта система для простых сайтов. Чтобы можно было написать block.my_div='center middle'; — и знать что этот блок будет по центру экрана.
В CSS многое можно сделать если правильно продумывать структуру, иметь опыт верстки в несколько лет и т.п… Но всегда есть начинающие которым непросто прицепить подвал к низу страницы, или растянуть картинку для заполнения всего экрана.
Мне хочется дать непрофессионалу возможность написать несколько строк в понятном ему виде и знать получить хорошую понятную ему, кроссбраузерную верстку.
Понятно что это решение не для профессионалов. Они сами знают как решить свою конкретную задачу наиболее оптимально.
В начале статьи я написал что я дилетант. И я хочу помочь таким же дилетантам как я.
Возможно вы правы. Но тут во первых теряется простота использования — нужен еще какой-то скрипт на сервере, т.е. начинающему верстальщику или даже дизайнеру который хочет посмотреть как будет тянуться его макет — это все становится куда сложнее.
А во-вторых — часть функций обычных приложений как раз может взять на себя этот движок, что соответственно снизит нагрузку.
Мне видится основное назначение инструмента не в верстке обычных сайтов, а в разнообразных приложениях, когда страница должна подстраиваться под пользователя, интерактивно меняться и т.п. Использование CSS для этих целей не очень эффективно.
Не совсем. Как я понимаю, flexbox — помогает более удобно позиционировать блоки в css. Я же предлагаю позиционирование выполнять используя JavaScript, а css — оставить функцию оформления элементов, т.е. то ради чего он и был создан.
JavaScript позиционирование позволяет сделать очень гибкую, подстраивающуюся под ситуацию разметку, путем объявления достаточно простых «правил». При этом отсутствуют проблемы совместимости (вернее их учет ложиться на создателей движка, а не верстальщика).
При этом естественно я не предлагаю отказываться от css верстки. Предлагаемый инструмент только помогает реализовать некоторые вещи проще и быстрее, а степень его использования определяет верстальщик.
Конечно при сложном макете полностью сверстанном в этой технологии — многократная перерисовка возможна (зависит от того насколько удачна будет реализация), Но я изначально ориентировался не на замену верстки, а на реализацию вещей которые в css делать сложно и неудобно. Т.е. на то что уже сейчас делается часто средствами JavaScript.
Оптимизация расчетов — это да, в случае сложной верстки задача может быть нетривиальной.
В данном случае, можно было бы ввести дополнительные операторы, для автоматической ориентации блоков.
В статье есть описание реализации тянущихся блоков. Более сложные зависимости можно реализовать за счет «правил».
Этот момент меня тоже волнует. Я старался делать систему максимально простой, чтобы даже зная 10% синтаксиса — можно было ее полезно применять.
Повторюсь — эта система для простых сайтов. Чтобы можно было написать
block.my_div='center middle';
— и знать что этот блок будет по центру экрана.Мне хочется дать непрофессионалу возможность написать несколько строк в понятном ему виде и знать получить хорошую понятную ему, кроссбраузерную верстку.
Понятно что это решение не для профессионалов. Они сами знают как решить свою конкретную задачу наиболее оптимально.
В начале статьи я написал что я дилетант. И я хочу помочь таким же дилетантам как я.
А во-вторых — часть функций обычных приложений как раз может взять на себя этот движок, что соответственно снизит нагрузку.
JavaScript позиционирование позволяет сделать очень гибкую, подстраивающуюся под ситуацию разметку, путем объявления достаточно простых «правил». При этом отсутствуют проблемы совместимости (вернее их учет ложиться на создателей движка, а не верстальщика).
При этом естественно я не предлагаю отказываться от css верстки. Предлагаемый инструмент только помогает реализовать некоторые вещи проще и быстрее, а степень его использования определяет верстальщик.