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

И есть какая-то проблема написать 20 видов формы под все возможные виды нарушений зрения, слуха и моторных рефлексов?

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

для чего вообще нужны div'ы, ul'и, td

div - блочный элемент (семантически), ul - ненумерованый список, td - ячейка таблицы

семантика уже ничему не соответствует

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

примитивное дефолтное поведение этих элементов можно как угодно переопределить тем же CSS'ом?

А что, в Qt нельзя сделать, чтобы кнопка выглядела как ссылка, а поле ввода как обычный текст?

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

Соболнзную что тебе пришлось копаться в куче говна, написанного давно или написанного сейчас быдлокодерами

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

Зачем если кодируя HTML ты уже кодируешь семантику для инвалидов и поисковиков, а лишь потом применяешь стили для зрячих

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

для админок берешь бутстрап и вот тебе весь дизайн. Есть целые сайты с готовыми темами для бутстрапа, даже сайты с _бесплатными_ темами для него.

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

Любители GWT - все как один хэлловорлдщики, нафигачили за две недели хэлловорлд и теперь рассказывают басни «как хорошо и удобно на нем писать». А теперь пусть попробуют запустить свое поделие на IE 6,7,8,9,10,11, Chrome, Chrome Canary, Firefox, Firefox Nightly и Safari. Вот тут-то начнется вайн! А почему у меня события до кнопочек не долетают! В IE10 долетают, в IE6 вообще не долетают, а в IE 8 долетают только иногда? А вот хрен проссышь! А почему у меня кнопочка залипла? А вот сиди и мучайся, лол, сам неделю назад рассказывал какое хорошее это ваше GWT, сам и расхлебывай.

Вот буквально неделю назад друг выбросил целиком проект на Wicket, потому что он говно. Теперь юзают SpringMVC и голый джаваскрипт, радуются - всё снова стало легко и приятно, и БЫСТРО, и безглючно.

а десктоп в пример приводить не надо, пожалуйста. Вот например линукс - весь подчистую выглядит как говно. Как писать на Qt - хрен проссышь, говно какое-то. Gtk - вообще полный хлам, свалка истории. По сравнению с ними написать гуй хотя бы тупо на Angular.js или даже вручную на jQuery - и быстрее, и удобней, и красивей (как художник тебе нарисует интерфейс - так и будет).

имхо.

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

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

Воровать чужой контент безнравственно :) Сайты, которые его предоставляют имеют экспорт в xml, например.

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

А какие именно претензии к HTML/CSS кроме эмоций?

Woooowww! Dude. Web2.+ is very emotional ^_^ *)@#$#$$#%*(#%

Других вариантов нет, да... Если сайтег не свистопердолит, то инвестиции не отобьются.

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

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

Согласен. Поэтому для обмена данными нормальные люди используют XML, JSON и т.д., а не парсят html. Всё-таки уже 2015 год на дворе, а не 2000.

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

объясните, как вы понимаете, для чего вообще нужны div'ы, ul'и, td и пр. - если в современном web их семантика уже ничему не соответствует

HTML, CSS, JS - это ассемблер. Дивы и прочее - команды ассемблера, которые рисуют на экране какие-то примитивы. Всё.

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

В фантазиях ваших это будет летать. А пока даже дефолтные примеры аццки тормозят. Все эти росказни про суперпупер быстрые новые подходы уже порядком поднадоели. Кроме оверхеда - толку ноль. Уж используя чисто объектный фреймворк на javascript и то будет быстрее и проще писать.

Не говоря уже про то, что очередное переизобретение xul просто удивляет, нет своих мозгов совсем у людей.

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

Я Ъ, я вместо предложений люто ненавижу весь этот ваш веб и дружить с человеками, способными на верстку не буду. Слово-то какое красивое испоганили... верстка...

unt1tled ★★★★
()

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

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

Ты плачешь по функционалу предоставляемому флешем и предлагаешь заменить и так уже загаженный излишествами HTML на такие вот бинари. А гтк и куте приложения пихать в браузеры не нужно - их надо сразу писать на НОРМАЛЬНОМ фреймворке не прибивающем гвоздями бинари к одному тулкиту и платформе, например на лазарусе, раз плюсовики не смогли ничего такого создать.

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

В фантазиях ваших это будет летать

man Ecmascripten + Epic Citadel. Там компиляция С++ в JS, что как минимум доказывает что bottleneck не в WebGL в этих ваших примерах.

Уж используя чисто объектный фреймворк на javascript и то будет быстрее и проще писать

Мда, в чем разница с использованием Polymer? Где bottleneck?

Не говоря уже про то, что очередное переизобретение xul просто удивляет, нет своих мозгов совсем у людей.

Где?

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

обычно одепты говновеба пользуются этим говном для сериализации и передачи данных

Ъ пишут свои протоколы

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

Ах, свои протоколы... Помню, помню, году в 2003 я занимался таким извращением, изобретал бинарный протокол для передачи текстовых данных. Как сейчас помню, поля у меня \b разделялись.

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

HTML создавался как язык для разметки статичного текста, а в современных реалиях его используют для «пиксельной графики» при отрисовке интерфейса полноценных приложений.

А если не пихать в хэтэмээл говно, то зачем нужны будут новые версии браузеров? 100 человек написали за 10 лет по браузеру и пусть все ими пользуются а корпорации попробуют с ними конкурировать на равных. Нужно ли это корпорациям и кто из любителей клепать браузеры сможет выдержать гонку с выпуском новых версий?

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

и предлагаешь заменить и так уже загаженный излишествами HTML на такие вот бинари.

Я как бы предлагал дезайнить форму из стандартных элементов, предоставляемых toolkit'ом, сохранять всё это в красивом XML'е, пихать в браузер описание формы в таком виде и код, «анимирующий» эту форму. Можно в tar.gz-архиве c расширением .app вместо .tar.gz, например. Дальнейшая половая связь с сервером - AJAX-запросами.

Всё это называлось бы «веб-приложение». То, что есть сейчас - не веб-приложения, а «код, виртуозно оперирующий мусором». Безусловно, из мусора на свалке можно при наличии мозгов собрать автомобиль, но зачем делать из такого подхода безальтернативный стандарт?

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

ну я их писал и ниче, поля не разделял, а знал сколько байт занимает каждое поле, вобщем для этого описание протоколов и существует

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

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

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

Я как бы предлагал дезайнить форму из стандартных элементов, предоставляемых toolkit'ом, сохранять всё это в красивом XML'е, пихать в браузер описание формы в таком виде и код, «анимирующий» эту форму. Можно в tar.gz-архиве c расширением .app вместо .tar.gz, например. Дальнейшая половая связь с сервером - AJAX-запросами.

Во первых, XML ни разу не красивый, простой текст форматируемый маркерами конца строки и спецсимволами читать проще. А во вторых, связываться с сервером можно и посылая png картинки с зашифрованной информацией. А в третьих, НЕ надо пихать в тулкиты всю эту дрянь! Этим должны заниматься компоненты в среде разработке приложений, а задача тулкитов рисовать морды для приложений и сканировать события в окне - больше никаких излишеств не надо.

То, что есть сейчас - не веб-приложения, а «код, виртуозно оперирующий мусором». Безусловно, из мусора на свалке можно при наличии мозгов собрать автомобиль, но зачем делать из такого подхода безальтернативный стандарт?

А не надо вообще пихать в браузеры невпихуемое, с таким подходом уже докатились до хромонедобраузеров. Есть приложения которые могут контачить с интернетом и управляться через корявую вэбморду, как например трансмиссион, что ещё надо и зачем пихать это во все браузеры? Уже имеющиеся стандарты никак не разгрести, иначе в год по ~20 версий браузеров не клепали бы.

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

дезайнить форму

Допустим ты дейстительно пишешь не современное веб-приложение, а форму по доставке пиццы. Почему бы не применить существующие технологии и просто вместо XML не использовать высокоуровневые WebComponents, которые будут выглядеть как твой же XML. Вместо выбрасывания всего веба и замены костылем просто пользуемся существующими технологиями.

Можно в tar.gz-архиве

В HTTP есть компрессия. И сейчас используют минификацию, но в HTTP2 есть server push всех ресурсов одним махом в кеш браузера, зная что распарсив начальный index.html браузер все равно запросит потом все остальное.

vertexua ★★★★★
()

Проблема всех таких технологий в том что побеждает тот кто

1. Первый.

2. Имеет низкий порог вхождения.

Потому мы никогда ничего приличного не увидим.

А вообще тех кто придумал «приложения в браузере» следует кипятить на медленном огне в масле в прямом эфире. И всех кто их делает тоже. Всех до единого.

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

То, что есть сейчас - не веб-приложения, а «код, виртуозно оперирующий мусором».

какая тебе разница, что там в html-страничке написано, ты ее читаешь что ли? Вместо браузера используешь cat | less, а js парсишь мозгом? Может ты экзешники на десктопе тоже не выполняешь, а читаешь в текстовом редакторе?

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

Это реальность бро, вот такой костылец запилили ребята в качестве стресс-теста для asm.js. А сам asm.js нужен чтобы заставить летать какие-то компилируемые языки вроде CoffeeScript в браузере

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

есть еще проблема с размером. Например, хэлловорлд на Scala на js-платформе работает быстро, но весит ажно 3 мегабайта после всех своих dce, clojure compiler и минификаций. И asm.js не поможет. Для жирного ынтерпраза ок, для информационной странички - проблема.

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

Ты чего, тег blink уже не поддерживается!

У пэкашек изначально было плохо с миганием текста: пишешь текст в текстовом файле или в имени файла и не можешь одну букву сделать мигающей, а в другой цвет шрифта сделать цветом фона и пусть пользователи почитают! А в древней ОС бейсик, на спектруме, такое было в норме, но почему-то на большие компьютеры эти фичи не перетащили , а блондинкам оставили один только КаПсИк ЧеРеЗ бУкВу.

Napilnik ★★★★★
()

может хтмл и цсс и говно, но остальное еще хуже. HP на своих свитчах-прокурвах делает вебморду на жабе. Я ее загружал 3 раза в жизни, а видел только 1 раз :)

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

Кстати, у меня бредовая идея - если хочешь Qt в вебе, то вешай на страницу VNC или ему подобный флешежабообъект и через него вещай юзеру картинку :) Вопрос только когда канал/сервер ляжет

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

можно просто обмениваться текстовыми файлами - в чем проблема?

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

Кстати, у меня бредовая идея - если хочешь Qt в вебе, то вешай на страницу VNC или ему подобный флешежабообъект и через него вещай юзеру картинку :) Вопрос только когда канал/сервер ляжет

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

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

Кто виноват что они быдлокодеры

Там все эти мегабайты весит стандартная библиотека. Ее бы убрать, но как ты в JS сделаешь dead code elimination, он же весь динамический? Да и скала не очень статическая, хотя того что уже есть - хватило для уменьшения 300 мегабайт до 3 мегабайт. А ведь потом нужно будет еще подключать тонну библиотек, не будешь же ты в 21м веке писать всё самостоятельно руками. И у этих библиотек тоже не будет DCE (особенно если оно именно родной javascript). И всё это будет весить писецки как.

Можно свалить всё на скалу, но вот зайди на сайт Dojo/Dijit - казалось бы, нативный js. Но там тоже мегабайты стандартной либы, которая никуда не режется. В результате пока отрендерится первая кнопочка - можно поспать. И опять же тут проблема не в asm.js.

А еще всё это может быть отдельными файлами, так кошерно из соображений модульности. А HTTP 2 у нас еще не внедрен нигде. И это будут десятки, сотни гетов за двухкилобайтными кусочками. Если там апач с похапэ, ему от этого совсем несладко..

Вот ты типа не быдлокодер, предложи решение? Асилишь сделать для JS нормальный DCE?

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

если хочешь Qt в вебе, то вешай на страницу VNC или ему подобный флешежабообъект и через него вещай юзеру картинку :)

да он там застрелится, пока сможет на C++ многопоточное приложение написать

stevejobs ★★★★☆
()

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

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

да он там застрелится, пока сможет на C++ многопоточное приложение написать

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

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

Допустим ты дейстительно пишешь не современное веб-приложение, а форму по доставке пиццы.

SolidWorks - не форма по доставке пиццы, однако же это GUI-приложение. Autocad - аналогично.

Зизагообразные плееры для Windows - тоже обычные GUI-приложения.

Вместо выбрасывания всего веба

Не нужно ничего выбрасывать, нужно добавить возможность программирования под веб в тулкитовой ООП-манере не как костыль поверх обычного HTML, а как готовую технологию, поддерживаемую браузерами.

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

какая тебе разница, что там в html-страничке написано, ты ее читаешь что ли?

Если нужно проанализировать чужое веб-приложение и, например, изменить поведение элемента, то как это иначе сделать? Начинается всё со сгенерированного HTML-кода, потом уже отыскиваешь признаки его генерации этого кода во View, потом где-то в Model видишь вызовы View.

И если вернуться к сути вопроса - почему в итоге веб-приложение вылёвывает именно груду html-тегов? В программе-то оно «кнопочка», «окошо», «список с чекбоксами», а на выходе - что-то и правда сильно напоминающее байт-код только в виде тегов html. Тогда уж давайте называть HTML языком байт-кода для наркоманов, а не языком разметки.

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

И если вернуться к сути вопроса - почему в итоге веб-приложение вылёвывает именно груду html-тегов

Тебе 100 раз сказали что весь мир горбатится над тем чтобы это исправить в новых стандартах. Это комитеты с сотнями экспертов по веб-технологиям, которые разбираются в них в 100 раз лучше тебя, и которые следят чтобы завтра не сломался твой любимы ЛОР от их творений.

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

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

У дива нет никакой собственной семантики, это просто блок, он такой и нужен, как базовый блок для всего. ul — неупорядоченный список, любой. Интересно, с чего тебя так бомбануло?

Ччто касается HTML/CSS, рекомендую вкурить разделение представления и данных и не пороть чушь. Впрочем, для полноценного разделения с layout'ами у CSS всё ещё швах.

Про веб-компоненты уже сказали. Всё будет. Ненативное, зато самое разнообразное. Ничего не поделаешь, это веб. Хочешь нативщины, пиши на Qt.

Deleted
()

Неужели нет альтернатив?
нормального объектно-ориентированного

JavaScript. И куча разных трансляторов в это говно.

Hertz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.