LINUX.ORG.RU
ФорумTalks

HTMl и CSS - убогое говно. Неужели нет альтернатив?

 divlitabletrtd-shit,


0

3

Собственно, вопрос не о том, что вёрстка HTML и CSS - это либо попытка рулить собакой, дёргая её за хвост, либо набор готовых рецептов «чтобы собака пошла направо, кинь гранату слева».

Вопрос в том, почему за вот уже 30 лет как ни один браузер так и не сделал поддержку нормального объектно-ориентированного GUI-Toolkit подобного языка создания формы веб-приложения?

По-моему было бы как минимум логично, чтобы те же GTK или QT-приложения могли работать в браузере.

Я понимаю, что вся индустрия «кто в лес, кто по дрова» и самая большая проблема - договориться о стандартах, что в случае с тем же Microsoft нереально. Но неужели нигде нет хотя бы элементарного понимания, что HTML что с CSS, что без него - это алхимическая клоака, над которой можно строить сколь угодно «совершенный» код веб-приложения, но сути это не изменит. А суть в том, что в итоге всё равно придётся заниматься мистическими танцами с бубном под названием «вёрстка» и в конечном итоге браузер пользователя проглотит мегабайты какого-то унылейшего мусора для отображения формы, которую даже на ассемблере можно было бы запрограммировать килобайтом кода!

Я знаю, что есть, например, GWT. GWT хорош и красив и вроде делает то, что нужно... До тех пор, пока речь не заходит о том, что в итоге-то он всё равно генерирует те же мегатонны HTML, CSS и JS, причём ещё и крайне тормозного.

Кто-нибудь в курсе, хотя бы исторически была когда-либо речь о вменяемых альтернативах HTML'ю?

★★★★★
Ответ на: комментарий от vertexua

Его можно реализовать на CSS… :)

Deleted
()
Ответ на: комментарий от StReLoK

Много я всяких извращений видел, но такое... Такое даже копрогуробдсмщикам в голову бы не пришло.

А то! Самокрутки - сила!

upcFrost ★★★★★
()

Кстати о выуживании данных из страницы. Для извращенцев Ъ есть микроформаты и http://schema.org/. Возможность есть, пользуются ли ею для предоставления данных или нет — это уже другой вопрос.

Deleted
()
Ответ на: комментарий от DRVTiny

Если нужно проанализировать чужое веб-приложение и, например, изменить поведение элемента, то как это иначе сделать?

насколько чужое?

если настолько чужое, что от него нет исходников - не надо никак этого делать. Никто же не обижается, что нельзя ничего понять в блобе exe-файла.

если есть исходники - по ним всё понятно. Надо анализировать не HTML, а то изначальное представление, из которого этот HTML генерится.

Тогда уж давайте называть HTML языком байт-кода для наркоманов, а не языком разметки.

условно можно поделить на информационные сайты и веб-приложения

информационные сайты и справочники, SEO-ориентированные сайты, сайты с поддержкой ридеров для слепых - им всем нужна семантическая верстка. Там и все фичи вполне себе работают, страницы выглядят красиво и понятно, никаких проблем нет, никакой груды тэгов о которых тут тут вайнишь.

что касается веб-приложений - помойму только боги слоупоков еще не поняли, что HTML/CSS/JS - это байткод. Давай я тебе явно разрешу: разрешаю называть их байткодом. Причем не какой-то тупой байткод, а умный, для умного процессора-браузера, который умеет делать картинку переносимую между разными девайсами, например.

почему в итоге веб-приложение вылёвывает именно груду html-тегов?

а почему бы и нет? Или ты хочешь видеть груду команд для процессора x86? Это бы тебя больше устроило?

stevejobs ★★★★☆
()
Ответ на: комментарий от DRVTiny

а еще можно параллельно отдавать сорсы/сорсмапы

у нас так одна игрушка работала - параллельно с HTML-страничкой (на другом урле) отдавалось ее более формализованное описание в виде XML. И HTML, и XML генерились из одних и тех же данных. Это позволяло мобильному приложению понимать чо нарисовано на эране, и отдельные элементы странички рисовать нативными контролами.

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

если настолько чужое, что от него нет исходников - не надо никак этого делать.

Протестую! Не дают исходников - нужно сделать самим. И вообще, нужно ввести ответственность за не_открытие технологий. Не важно, будь то код или что-то более материальное. Личные данные, да, скрывать необходимо, но попытки навариться на проприетарности - за это бить морду лица надо.

помойму только боги слоупоков еще не поняли, что HTML/CSS/JS - это байткод

Техноересь какая. Их же не для этого придумывали.

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

Постоянно у всех какое-то желание все заставить что-то. Множество софта просто технически невозможно завести даже если вывалить все миллионы строчек на гитхаб. А вот заставлять еще потом поддерживать и фиксить баги чтобы любой Вася мог запустить всю инфраструктуру какого-то Амазона у себя дома - ПНХ

vertexua ★★★★★
()
Ответ на: комментарий от StReLoK

Ну вот если компания вроде Amazon, Google, Facebook написала кучу софта. Она ОБЯЗАНА тебе дать исходники и ОБЯЗАНА выставить тебе цену за поддержку запущеного фейсбука у тебя дома?

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Не надо тут жонглировать словами, не в госдуме/раде. Почему бы и не открыть движки? Если кто-то захочет сделать их лучше - пожалуйста. Если кто-то хочет запустить у себя такое же - да пусть пробует, его проблемы. Никогда не замечал что некоторые программы так и предупреждают - «This is free software with ABSOLUTELY NO WARRANTY.»?

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

Какой профит компании от гемороя с рефакторингом хардкода имен датацентров и подобных вещей? Им прийдется миллионы бабла тратить только на рефакторинг чтобы Вася мог дома поиграться 5 минут и забить

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Ну профит какой-никакой есть, избавление от собственных костылей, например. Хотя можно попросту вывалить что есть, а потом уже это будут вычищать все кому не лень. И если правки понравятся - можно и денег/работу дать тому кто запилил нормально. Вроде награды за поиск дыр в безопасности - тоже гугл ведь платит за найденные дыры, причём неплохо.

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

Сильно все упрощаешь. Представь - есть 10 библиотек которые годно было бы опенсорснуть. Но они зависят от еще 50. А те от 300. А потом это все упирается в конфиги для датацентров, марки железа, конфигурации стоек, инфраструктуру сети, свои протоколы вплоть до любого уровня сетевой инфраструктуры, патчи ядер, firmware, географии распределения. Итого все поразительно начинает доходить до миллиардов, да, не ослышался, миллиардов, строчек разнообразного текста, который без друг друга не работает. И что теперь? Нанять тысячи инженеров чтобы швабодкофайтерам было комфортно в их говнарьском мирке? Возвращаемся к ранее известному ПНХ

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Ну тут ещё посмотреть надо чей мирок в итоге говнарьский - у швабодкофайтеров с вылизанным кодом, но с почти отсутствующей инфраструктурой, или у крупной корпорации, у которой всё работает на лютом говнокоде и вот-вот развалится, если бы не постоянно подставляемые костыли написанные индусами за еду.

StReLoK ☆☆
()
Ответ на: комментарий от StReLoK

лютом говнокоде и вот-вот развалится

В том то и суть что это не говнокод. Он не должен и никогда не планировался быть запущеным на тачке у Васи. Строят датацентр и тысячи машин становятся одним целым. Это как раз не говнокод, а правильное решение. Была бы задача распространять этот через репозиторий бубунты, тогда бы ее решали, но такой задачи нет

vertexua ★★★★★
()
Ответ на: комментарий от StReLoK

Их же не для этого придумывали.

Мне кажется, в этом и корень того, о чём я говорю.

input в html - уже давно не input, table совсем не для таблиц, div'ы - да хоть для скроллинга!

С таким же успехом это могли быть китайские иероглифы - лишь бы браузер к ним правильно CSS привязал.

Делать байт-код из HTML'я - мягко говоря, нерационально: реальный байт-код был бы на порядок компактнее, а главное - для его разжёвывания требовались бы абсолютно минимальные ресурсы.

Веб-приложения на HTML 4 - это не байт-код, это попытка сделать фейслифтинг дохлому ослу. И то, что это как-то работает и осёл дёргается под разрядами тока в 1000 ампер ещё не говорит о том, что осёл живой.

DRVTiny ★★★★★
() автор топика

А суть в том, что в итоге всё равно придётся заниматься мистическими танцами с бубном под названием «вёрстка» и в конечном итоге браузер пользователя проглотит мегабайты какого-то унылейшего мусора для отображения формы,

c твоей стороны все проблемы html-a и прочего в том, что оно текстовое. Вот ты и можешь посмотреть.

С бинарниками такое тебе слабо проделать, ибо там нетекстовая форма представления.

n_play
()
Ответ на: комментарий от n_play

Вот ты и можешь посмотреть.

Я могу посмотреть исходник формы GUI-приложения перед тем, как его скомпилировать. Я даже смогу загрузить его в QtDesigner, изменить, сохранить обратно в папку сырцов и скомпилировать.

С HTML-ем -я не могу ничего в нём изменить, это просто не имеет никакого смысла, поскольку HTML-код, который можно достать по Ctrl+U в контексте веб-приложения - это просто стохастический мусор. Править можно только исходный код самого приложения непосредственно, а оно в силу «особенностей» веб как правило сложнее и запутаннее такого же, но написанного для GUI-тулкита.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от n_play

Вот накатал простейший пример:

http://pastebin.com/qheH7TV4

Никакого тебе веб-приложения, простейший код.

Судя только по исходнику можно ли догадаться как это в итоге будет выглядеть? Ну так, положа руку на сердце?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от StReLoK

Это просто неосиляторы - верстальщики. Обычно хватает одного-двух дивов для чего угодно. Например http://a.singlediv.com/

kilolife ★★★★★
()

Ты представляешь каким образом использовать эти одни и те же QT и GTK формы сразу на планшетах, телефонах и компьютерах? Не считая всякой экзотики типа умных часов или приложений для слепых.
Хочешь попиксельно работать, портируй простейший UI движок от игры на WebGL, будет у тебя pixel-perfect интерфейс без тонны HTML и CSS и с аппаратным ускорением.

Tark ★★
()
Ответ на: комментарий от Tark

Ты представляешь каким образом использовать эти одни и те же QT и GTK формы сразу на планшетах, телефонах и компьютерах?

Глупость полнейшая.

1) Форма может быть, внезапно, не одна, а логика для этой формы - одна. На то и MVC.

2) QT-приложения работали на карманных компьютерах ещё в начале 2000-х годов

3) Windows CE - вообще в чистом виде адаптация интерфейса а-ля Windows 95 для наладонников и встраиваемых устройств. Отлично работала, кстати, мне нравилась куда больше современного Android'а

4) Что именно делает HTML пригодным для незрячих? Тэг <span> или, может быть, <br>? Или CSS умеет какие-то особые звуки издавать? Кстати, Windows Explorer, да и в KDE с GNOME'ом аналогично - прямо-таки навязчиво порой предлагают интерфейс для людей с ограниченными возможностями. Где там браузер такой интерфейс предлагает? Если разработчики сайта не придумают специальное «ткни в эту еле заметную ссылку, чтобы сделать шрифт БОЛЬШИМ» - никакой доступности для слабовидящих не будет. А вот одной настройкой в Панели Управления можно добиться того, чтобы все GUI приложения показывали крупный шрифт. Круто, правда?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от redhat

ТС ни черта не рубит в верстке, не в курсе haml/slim/jade/sass/stylus, не в курсе гридов и всего остального

Оу. Таких как ты любителей «сахарка» нужно в судебном порядке заражать сахарным диабетом.

Siado ★★★★★
()
Ответ на: комментарий от DRVTiny

1) В html почти никто не делает специальные формы для мобилок, но оно работает.
2) Специальные приложения, на определенных КПК. Я не хочу искать КПК под приложение, я хочу просто взять любое устройство и например арендовать квартиру через airbnb, не компилируя и не парясь.
3) Ну так пользуйся.
4) То, что это текст, который исполняется в браузере, независимо от архитектуры или платформы. Его можно специальной программой прочитать вслух, либо увеличить просто дергая масштаб. Для гуишных программ это можно сделать только глобально.

Html и CSS универсальны, позволяют отобразить интерфейс на любой машине и архитектуре, даже на той, которую никто и не ожидал, при этом безопасно и не захламляя основную систему. Если хочешь другого, то как я уже предлагал, используй WebGL.

Tark ★★
()
Ответ на: комментарий от Tark

То, что это текст, который исполняется в браузере, независимо от архитектуры или платформы. Его можно специальной программой прочитать вслух,

Что прочитать вслух? Названия всех меню и кнопок вперемешку? Имена тэгов html? Может, зачитать всё содержимое страницы as is в духе «открывающаяся угловая скобка, ю-эль, закрывающаяся угловая скобка, амперсанд, эн-би-эс-пи»?

1) В html почти никто не делает специальные формы для мобилок, но оно работает.

На мобилках даже Quake 1 работает, и что с того. При современных размерах экранов мобилок иногда даже в ссылки на веб-страницах можно с первого раза попасть, не делая широкие пассы пальцами. Я не понимаю, какое это отношение имеет к тулкитам? Приложения для Android, включая браузеры, например, не написаны на HTML, при этом тот же Firefox шарит большую часть кода со своим desktop'ным собратом.

DRVTiny ★★★★★
() автор топика

Ты еретик. Сейчас все интерфейсы переводятся с GUI-Toolkit на «убогое говно» HMTL и CSS. Даже 1С постигла участь сия ...

Jopich
()
Ответ на: комментарий от Jopich

Как поётся в песне «если надо - значит надо, и в метель, и в холода». Но «надо» - это ещё не значит «правильно».

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Jopich

Для работы системы в Firefox рекомендуется установить расширение браузера

спасибо, не нужно, верю так!

redhat
()

Есть всего одна причина - все привыкли. Вот и тянут за собой весь этот воз легаси говна.

ЗЫ: последнее время занимаюсь браузером на маломощном девайсе.
Хочется забить гвоздь в голову тому, кто обвешивают свою страничку свистоперделками на таймерах.

AF ★★★
()
Ответ на: комментарий от DRVTiny

Я могу посмотреть исходник формы GUI-приложения перед тем, как его скомпилировать.

тык вся проблема в том, что ты смотришь на исходники (когда никто в них несмотрит)

исходник - сугубо промежуточная форма существования. Просто для html-a и прочего - исходник посути и есть конечная форма представления/распространения.

Если б html распространялся в бинарном формате, фиг бы ты туда полез ковыряться и думать о красотах. Также как и нековыряешься в скомпилированных бинарниках GUI-приложения и сетуя на то, что «ой, такой красивый исходик, превратился в такое унылое беспросветное бинарное .овно»

вся проблема того же GWT для тебя - это то, что конечная форма представления html и прочего - всё тот же исходник с твоей точки зрения. А для GUI-приложения, ты не лезешь в конечное представление, которое бинарник, ты лезешь в промежуточное.

разве не так?

n_play
()
Ответ на: комментарий от DRVTiny

Что прочитать вслух? Названия всех меню и кнопок вперемешку? Имена тэгов html? Может, зачитать всё содержимое страницы as is в духе «открывающаяся угловая скобка, ю-эль, закрывающаяся угловая скобка, амперсанд, эн-би-эс-пи»?

Можно управлять порядком прочтения. И да, названия всех меню и кнопок вперемешку читаются нормально если включить режим чтения. Для обычного десктопного гуи я даже представить такое не могу, это будет какая-то многоножка на костылях, если делать больше одной платформы.

На мобилках даже Quake 1 работает, и что с того. При современных размерах экранов мобилок иногда даже в ссылки на веб-страницах можно с первого раза попасть, не делая широкие пассы пальцами. Я не понимаю, какое это отношение имеет к тулкитам? Приложения для Android, включая браузеры, например, не написаны на HTML, при этом тот же Firefox шарит большую часть кода со своим desktop'ным собратом.

Есть разница в том, что quake был скомпилирован для мобилки или мобилка которая даже не предполагалась для запуска quake 1 его запускает. А насчет пальцетыканья, белые люди используют специальное свойство, которое увеличивает площадь тыка для кнопки. Насчет firefox, я думаю просто достаточно сравнить каких усилий требует поддержка отдельной версии firefox для андроида и каких требует поддержка сайта яндекса для того же андроида, для каждой задачи нужно выбирать подходящий инструмент.

Tark ★★
()
Ответ на: комментарий от n_play

Если б html распространялся в бинарном формате, фиг бы ты туда полез ковыряться и думать о красотах.

Вооот. И тут я уже в 100501-й раз в данном треде повторяю: если бы HTML был распространялся в бинарном формате, он был бы компактнее на порядок или даже на два, а ещё как всякий машинный формат он бы читался в разы быстрее, требуя минимальных ресурсов. То есть мы бы загружали и/или генерировали не мегабайты пусть даже сжатых gz'ом тэгов, а нечто куда более компактное и понятное вычислительной технике.

Однако же HTML создавался для того, чтобы быть человекочитаемым. И... тут мы возвращаемся к нашим баранам :)

В принципе, если исходить из того, что вся генерация этого мусора будет происходить внутри какого-то разумно структурированного кода, а одну из библиотек виджетов для jQuery примут за стандарт для браузеров - может, оно и не так уж страшно, что загружая <div></div> ты реально получаешь интерфейс планетария...

DRVTiny ★★★★★
() автор топика
Последнее исправление: DRVTiny (всего исправлений: 1)
Ответ на: комментарий от Jopich

Не взлетело потому что такая чугунная гиря как Java в принципе не летает.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

если бы HTML был распространялся в бинарном формате, он был бы компактнее на порядок или даже на два, а ещё как всякий машинный формат он бы читался в разы быстрее, требуя минимальных ресурсов.

был бы бинарным. Ты б нелез в него и незнал что там внутри. Ибо ковыряние в бинарных свалках - очень неблагодатное и рутинное дело.

поэтому и нытья твоего небыло бы.

n_play
()
Ответ на: комментарий от n_play

поэтому и нытья твоего небыло бы

Дык ну мне не нытьё нужно, а результат. В случае с бинарным форматом профит очевиден, в случае с генерацией набора человекочитаемого бреда - ни профита в плане скорости, ни профита в плане человекочитаемости, ни объектной ориентированности конечного результат тем более. Просто мелкодисперсное УГ без всякого смысла, понятное в итоге только браузеру. А было это ведь когда-то таблицами, списками, кнопками...

Не следует использовать топор как для рубки дров, так и для полётов на Луну. Я понимаю, что если к топору прикрутить сингулярный двигатель, то он и в другую галактику улетит, но зачем?? Топор нужен для рубки дров, HTML - для генерации относительно простого, не обязательно статичного контента, ассортимент объектов которого определён семантикой. Безусловно, даже если следовать семантике HTML, такой стиль описания объектов ни в какие ворота не лезет, но так это хотя бы можно списать на то, что HTML - это XML для школоты и даунов :)

DRVTiny ★★★★★
() автор топика
Последнее исправление: DRVTiny (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.