Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Давайте называть вещи своими именами. Тормозит JS, так как логика написана именно на нём. Почему он тормозит, потому что нет единого парсера, которым бы занималась одна компания и которая его оптимизировала. Потому что кроме парсера ещё куча других прослоек у браузера.
{"random_screens":[{"id":"6844","filename":"Ms2n32","album_id":"192","album_name":"Call of Duty","album_descr":"Black Ops"},{"id":"15188","filename":"PYwLIw","album_id":"23","album_name":"Battlefield","album_descr":"Bad Company 2"},{"id":"20597","filename":"fwHP1S","album_id":"388","album_name":"Dead Island","album_descr":""},{"id":"23926","filename":"UEXoj2","album_id":"509","album_name":"The Ship","album_descr":""},{"id":"25966","filename":"257Lgn","album_id":"258","album_name":"The Elder Scrolls V","album_descr":"Skyrim"}]}
<div class="c-block"><div class="title">Случайные скриншоты</div><div class="descr image random"><div class="inner" style="visibility: visible;"><div class="image-block big loaded"><a href="1702" class="page-link" title="Batman: Arkham Asylum"><img alt="" class="image" src="./images/albums/254/H64rIu-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="10552" class="page-link" title="Driver: San Francisco"><img alt="" class="image" src="./images/albums/390/SbOLA1-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="18542" class="page-link" title="DiRT 3"><img alt="" class="image" src="./images/albums/336/9G40qT-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="19252" class="page-link" title="Team Fortress 2"><img alt="" class="image" src="./images/albums/97/8DS6RH-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="21501" class="page-link" title="The Darkness II"><img alt="" class="image" src="./images/albums/521/CLd2jq-top.jpg" style="display: block;"></a></div></div><div class="inner"><div class="image-block big loaded"><a href="1599" class="page-link" title="Lara Croft and the Guardian of Light"><img alt="" class="image" src="./images/albums/255/zZsnHK-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="6627" class="page-link" title="Singularity"><img alt="" class="image" src="./images/albums/105/JxdbRM-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="7271" class="page-link" title="Killzone 2"><img alt="" class="image" src="./images/albums/392/zYhS1u-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="7525" class="page-link" title="Grand Theft Auto IV"><img alt="" class="image" src="./images/albums/62/JUAEhz-top.jpg" style="display: block;"></a></div><div class="image-block big loaded"><a href="14174" class="page-link" title="World of Warcraft"><img alt="" class="image" src="./images/albums/78/bvAiZ0-top.jpg" style="display: block;"></a></div></div></div></div>
Можно подумать что раньше писали на голом API без каких было библиотекНе напоминайте. У меня был «весёлый» опыт написания гуёвого кода даже в отсутствие сишной стандартной библиотеки, только WinCE API через syscall'ы.
Связка HTML + CSS + JS меня, как программиста на C++ и C#, вгоняет в уныние своими конструкциями.
а из трех перечисленного вами, только JS является языком программирования
Вам уже отвечали, что в газетах и журналах блоки имеют фиксированный размер и фактически абсолютное позиционирование. А если вы видели, что в газетах, где-то динамически переключаются страницы или блоки меняют свою ширину, отсыпьте грибов.
Пример UI 20-летней давности, который я предлагаю сначала воспроизвести всем апологетам HTML и CSS на этих языках, прежде чем минусовать «карму»:Пример резидентного вируса 30-летней давности, который я предлагаю сначала воспроизвести всем аплогетам TeX и LaTeX на этих языках, прежде чем минусовать «карму»…
Нам уже и так хватает опыта, что нельзя полностью кастамизировать select, input type=«file» вообще приходится скрывать и делать сверху фейковую кнопку, и таких контролов достаточно много.
<input type="file" name="add-file">
<input type="button" for="add-file">
<input type="text" for="add-file">
<input type="browse" name="add-file">
.browse-button {
float: left;
position: relative;
overflow: hidden;
cursor: pointer;
}
.browse-button input[type="button"] {
cursor: pointer;
}
.browse-button input[type="file"] {
width: 150px;
position: absolute;
top: 0;
right: 0;
opacity: 0;
//filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);
cursor: pointer;
}
<div class="browse-button">
<input type="button" value="Browse" />
<input type="file" size="20" />
</div>
библиотека, отделяющая внешний вид от кода (оформление задаётся в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабжённый анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён).
index.ui и файл index.html. В index.ui описан интерфейс приложения, все эти кнопочки, закладки и прочие свистелки-перделки. В index.html — только документ, который данное приложение должно отобразить. Внешний вид браузера меняется согласно тем настройкам, которые указаны в index.ui. Web-программист высшей квалификации, если ему поручить сделать это без готовыхtoolkit-ов и не передирая из них чужой код, потратит пару дней на то, чтобы БЕЗГЛЮЧНО запрограммировать рисование квадрата с закруглёнными углами в актуальных версиях браузеров, оставив IE 6 за скобкой.
var column = Ext.create('Ext.window.Window', {
title: 'Column Layout',
width: 400,
layout:'column',
defaults: {
height: 60,
bodyStyle: 'padding:10px'
},
items: [panel1, panel2, panel3]
});
column.show();
Web-программист высшей квалификации, если ему поручить сделать это без готовых toolkit-ов и не передирая из них чужой код, потратит пару дней на то, чтобы БЕЗГЛЮЧНО запрограммировать рисование квадрата с закругленными углами в актуальных версиях браузеров, оставив IE 6 за скобкой.
Ему придется использовать для этого HTML, CSS, JavaScript, заготовить вспомогательные PNG-файлы и может быть даже VML/SVG, если нужно в полной мере поддержать гибкость задания параметров. При этом ни о каком отсечении по эллипсу со звездообразной дыркой внутри не может быть и речи… :)
Web-технология vs Скорость разработки и производительность