|
Модераторы: Illuminaty |
|
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
Я вот верстаю, и последнее время задался вопросом, неужели html и xml так идеален... что использовать их в чистом виде, неужели W3C будет каждый год выдавать стандарты... и т.д.... неужели никто не додумался до такой простой вещи как язык разметки как бы высокого уровня...
люди программировали когда - то на ассемблере, затем придумали языки высокого уровня, компиляторы сей час просто переводят запись на язык ассемблера... неужели никто не додумался сделать что то подобное с html, чтобы было без всяких хаков и заморочек с кроссбраузерностью, неужели нельзя придумать язык разметки который бы по возможностям превосходил html и xml... Я конкретно говорю о том, что можно наверно было бы сделать как бы WEB-компилятор для языка разметки, который по уровню выше html - a, (он бы просто переводил запись на язык html), и все... все стандарты бы соблюдались... Просто если задуматься, это же была бы экономия времени и нервов... меньше кода... больше возможностей... P.S. Я долго искал что-то подобное в нете, в гугле, в википедии... ничего даже близкого не встречал... Если кто понял о чем я? -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
skyboy |
|
||||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
для начала, html - менее стргоий в отношении оформления подтип xml, с предопределенным набором тегов. так что можно говорить просто об xml.
xml - и так уже абстратнее некуда, как мне кажется: каждый узел обладает набором атрибутов и вложенных узлов. любых. единственный недостаток, что я вижу: не позволяет реализовать рекурсивную структуру - только дерево, никаких графов с циклами. но при этом, при структуре в виде дерева, отрисовка(если говорить в контексте текстово-графических документов, раз уж вопрос стоял так) должна происходить намного быстрее. а так - универсальный язык разметки. спецификации. стандарт один - на язык разметки(скажем) html. описано, как могут быть вложены элементы, как описывают элементы, как определяются атрибуты. а спецификация описывает, что <b> - усиление текста(необязательно за счет жирного шрифта), <img> - отображение графического элемента и т.д. впрочем, могу ошибаться с толкованием терминов, но все равно: каждый год w3c не выдает ничего нового. оптимизируется и дополняется старое. это не проблемы языка разметки. если некоторые люди неверно понимают правила дорожного движения, не думаю, что есть смысл менять правила. проще научить людей. продолжаю аналогию: если браузеры отображают один и тот же код по-разному, значит у них проблема несоблюдения того или иного раздела спецификации той же w3c(проблемы с отступами, внутренними полями и float'ами отсюда). Или же потому, что в спецификации не указано то или иное(например, как отрисовывать по умолчанию содержимое тега <b> - ведь есть браузеры для слепых, а шрифт Брайеля жирным не сделаешь), и браузеры каждый по-своему отрисовывает, внося неприятное разработчику разнообразие не только во внешний вид(цвет, размер), но и в верстку целиком. резюме: сам по себе xml - практически универсален(ну, почти), задачу свою(структурирование инфомрации) выполняет; проблемы некроссбраузерности не связаны с языком разметки как таковым.
Меньше кода - для разработчика или для браузера? Если тебе хочется писать меньше кода - посмотри на языки/системы генерирования текста(к примеру, РНР или ASP вполне могут использоваться для этих целей) и на системы шаблонизации(+1 к абстракции при написании) под эти системы. Или речь о "меньше кода" для браузера? А зачем? "Больше возможностей"... Хм, так набор возможностей зависит от клиентской программы - браузера. Вот, положим, я хочу, чтоб тег "<calendar>" выводил на странице календарь для выбора даты. А браузер не понимает. И что? при чем тут язык разметки? надо делать другой браузер, чтоб понимал... Вообще говоря, все не ограничивается html/xml. например, есть svg - специализированный язык разметки для вывода векторной графики. является подтипом xml. поддерживается(правда, в неполной мере) opera, mozilla, amaya, safari. ie игнорирует этот формат. или xul - специализированный язык разметки пользовательского интерфейса. тоже базуирется на xml, поддерживается пока тоько mozilla. любой плагин, выводящий собственное окно под firefox использует xul. vml - базирующийся на xmlязык разметки графики(более стар, чем svg, но поддерживается ie) --- видишь, сколько всего специализированного построено на основе универсального xml? т.е. деол не в языке разметки, а в том, как программа (не)обрабатывает нечто в этой разметке построенное Добавлено через 5 минут и 36 секунд кстати, в англоязычной версии статьи о xml на википедия красиво и подробно расписаны недостатки и достоинства xml. причем, большинство недостатков связаны как раз с обработкой и вопросами эффективности(сравнительно большой размер "технической информации" - сами теги с аттрибутами; обработка неиерархических отношений требует больших затрат - например, при поиске "соседнего" узла, а не "дочернего" и т.д.) Добавлено через 6 минут и 44 секунды есть в wiki и список языков разметки вообще. можешь посмотреть, какие ещё есть, были или только готовятся "выйти в люди" |
||||
|
|||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
да вы меня не поняли...
skyboy, ты смотришь на это как веб разработчик... меньше кода... шаблонизация... это же все равно не то... в какой то степени это все примитивно... ну и что шаблоны... я ж говорю совершенно о другом... (Это вообще моя не реализованная идея..): Почему разметку текста все представляют как теговую модель, возможно она и так идеальна, и ничего идеальнее нет, но не ужели никто не пробовал поломать стериотипы, вед html, xml это все равно движение в одну сторону. Я имею ввиду то что ничего не нужно менять, ни браузеры, ни стандарты, и сделать на базе html, css, javascript, xml один мощный язык разметки со своим синтаксисом... Существовала бы какая нить программа-парсер, которая бы переводила этот синтаксис на html смешанный с javascript и css. Ведь если придумать такой язык, с одним синтаксисом, то жить станет намного легче... Вот наглядный пример несовершенства css и html: есть элементы в html, у элемента может быть 1 бэкграунд... это ОГРАНИЧЕНИЕ, но его можно побороть вложенностью дивов, так зачем этот прием повторять несколько раз, когда можно придумать мощный язык разметки, который бы позволял задавать элементу несколько бэкграундов, а уж как это реализовать в html проблема программы-парсера... (назовем его web-компилятором)... Примерная схема такова: Запись разметки на языке высокого уровня -> (Web - компилятор) -> Запись разметки на языке низкого уровня с использованием css и java На верстку будет уходить намного меньше времени, возможно будет делать сложнейшие дизайны без лишних затрат, можно еще добавить в язык всякие граф. фильтры которых нет в стандартах... вообщем кто понял меня... я буду очень рад.. Добавлено через 4 минуты и 30 секунд с таким же успехом можно было бы до сих пор усовершенствовать язык АССЕМБЛЕР... и все бы были рады как щас... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
хм, писал-писал, ссылки приводил, а оказалось - не так понял )))
такого я не утверждал. всегда есть преимущества, но и недостатки тоже всегда есть и будут. просто разные
теперешняя ситуация - это как раз более абстрактный вариант. вот, если брать аналогию с ассемблером: отдельно - ЯП высокого уровня, отдельно - запросы к БД на SQL, отдельно - интерфейс на XUL, а потом все переводится даже не в ассемблер, а команды процессора. так и с web-программированием: отдельно(по возможности) структура(html), отдельно - внешний вид(css + svg + xul), отдельно - реакции и логика(javascript), а браузер уже "компилирует" - собирает части воедино так, чтоб у конечного пользователя и надпись мигала, и по нажатию на кнопку что-то происходило ;) а ты предлагаешь, практически, скомпилировать сразу. практически, подобный язык "весь-в-себе" должен будет описывать алгоритм: от загрузки, через отрисовку и все реакции на действия пользователя. Такой себе web-ориентированный ассемблер. Не спорю, кроссбраузерность должна быть если не идеальной, то близкой, но трудозатраты на написание... Добавлено через 2 минуты и 14 секунд хехе. вот в IE куча фильтров. И что? стремящиеся к кроссбраузеру, естественно, не используют. Да и работа от версии ИЕ к версии вполне может отличаться... и дело не в том, что в спецификацию не включено, а в поддержке браузером. а в FireFox, в противовес, есть возможность рисовать из-под javascript(canvas). и что? повсеместно используется? тоже нет Добавлено через 11 минут и 38 секунд потому что. потому что человеку так привычно описывать разметку вне зависиммости: компьютерное представление или нет. потому что человек когда создает разметку, говорит: "а вот этот текст надо выделить жирным", "а вот эту картинку взять в рамочку", "а тут список без нумерации". Т.е. какие-то смысловые единицы обладают набором атрибутов. Единственный ньюанс: древовидная структура xml не позволяет описывать графовидную структуру любого вида. Т.е. если у нас строка в таблице с серым фоном, а некий столбец - с текстом красного цвета, то описать однозначно понимаемую структуру(какая-то ячейка будет иметь двух предков - строку и столбец, а, значит, это уже не дерево) на xml не выйдет. потому в html изворот с тегом <col>(ЧТО, в принципе, не решает проблему: а если некоторые ячейки объединены в одну?). с другой стороны, можно было просто изменить саму спецификацию html, чтоб каждая ячейка указылвала номер строки и столбца, к которым принадлежит и стили которых наследует. но все равно - это вопрос поведения браузеров, все равно это остался бы старый добрый xml. -------------------------------- кстати говоря, а какие собственно претензии к текущему положению вещей? |
|||
|
||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
ну бд и яп... отдельная история... и языки программирования выс. уровня живут и без баз данных... есть программы которые их не используют...
просто html, css, частенько javascript используется для посторения документа, т.е. для верстки... поэтому почему бы это все не объединить, ведь если подумать, то можно практически сделать все на этих технологиях... только нужно копаться и искать как это сделать... Я же предлагаю, один раз покапаться... и заложить это все в один язык разметки... Кроссбраузерности можно добиться... это не так сложно... просто нужно сухо придерживаться стандартов... Язык разметки выс. уровня (ЯРВУ ), это вообщем то просто программа-парсер... которая всю запись переводит на html, css, javascript, придерживаясь стандартов... а уж браузер прочитает получившийся результат как он умеет... Вообще у меня много сомнений на счет такого языка, я даже 1 раз начал его программировать... но потом что-то пошли сомнения, я бросил это дело... сей час снова одолевают сомнения, что такого языка не хватает... Добавлено через 5 минут и 40 секунд допустим даже эфект тени вокруг картинки можно будет заложить в язык... он просто сам все нарисует... и положит в нужную папку... пропишет пути и т.д. Это сообщение отредактировал(а) lukas - 29.5.2008, 21:04 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
skyboy |
|
||||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
нет, давай все-таки более подробные аргументы. что должна конструкция вызвать? что ложить в какую папку? какие пути? чего вообще не хватает?
версткой является только html. css - это обобщенный механизм аттрибутов тегов(практически, цель - реализовать наследование аттрибутов, чего не было в "чистом" html). впрочем, есть расширения css(например, механизм сыы expressions), которые позволяют внедрить в css элементы логики. javascript, как механизм логики, конечно может менять верстку, но при этом он не становится языком верстки. давай не будем сваливать все в кучу, ладно? мы все ещё говорим о языках разметки? кстати говоря, CSS не единственный язык описания стилей просто опять же - вопрогс поддержки браузерами... сам не знаю, но если верить Вики(смотри пункт "Lack of multiple backgrounds per element "), в черновике CSS 3 этот вопрос уже будет решаться Добавлено через 2 минуты и 8 секунд допустим, даже эффект тени вокруг картинки можно сделать: а) предобработкой картинки(особенно просто сие будет, если браузер поддежривает чатичную прозрачность - к примеру 32-битный png) любым графическим редактором с соответствующим функционалом б) подложенным под картинку слоем с соотвествующим бекграундом |
||||
|
|||||
SelenIT |
|
||||
баг форума Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 97 Всего: 401 |
Имхо, любые серверные языки, технологии и фреймворки с поддержкой компонентного подхода (ASP.NET, JSP...) как раз этим и занимаются - генерят смесь разметки, стилей и поведения для конкретной задачи (например, красивой формы с валидацией). А вообще к чему-то подобному отчасти движется HTML 5 (aka WebApplications 1.0) - в основе DOM-структура (динамическая, разумеется), нативно умеющая выдавать нужный юзеру функционал (типа тех же дейтпикеров) и которую можно сериализовать в разметку разными способами - хоть в HTML, хоть в XML. Отдельные фичи оттуда уже работают в новых браузерах (новые элементы форм - в 9-й Опере, клиентское хранилище данных - в FF2+ и IE8...). Уже решается, и даже работает в последних сборках WebKit-а. Для частного случая 2-х фонов существует такой трюк, который работает везде (даже в IE).
Если забить на IE5 (что давно пора), можно положить бэкграунд прямо на тег <img>, да добавить ему padding (чтоб тень просвечивала). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
Да нет, по-моему товарищ рассуждает о другой стороне, о простоте вёрстке, т.е. о банальном визивиг, или а-ля fckeditor
т.е. рисуем в редакторе блоке, запихивает туда текст, выделяем строчку, тыкаем в кнопку "жирный шрифт" - текст становится жирный, вставляем картинку из папочки при странице, она появляется (ну и дальше вводим и другие украшательства), жмём кнопку компиляции и получем правильно сгенерированный html код то бишь "сохранить как web-документ" в том же word'е, только "правильно", а не в том винегрето-состоянии ну и соотетственно, чтобы были такие прибамбахи, чтобы щёлкаешь правой кнопкой по элементу, выбираешь в контекстном меню строчку "оформление" и тебе всплывает окошко со всеми возможными css-атрибутами для элемента, там выбрал (не строчку font-size, а "размер шрифта"), а оно потом само скомпилируется в css-стили. ну и т.д. |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
куча WYSIWYG-редакторов есть. далеко не все дают "винегрет" вот только побоку - придется под каждым целевым браузером проверять и дорабатывать напильником. так смысл тогда? |
|||
|
||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
Вы немного меня не поняли... вы не понимаете основную идею.... я вообще не очень люблю WYSIWYG редакторы... я просто хочу предложить язык верстки более абстрактный которые уже имеются... т.е. он просто будет переводится на html и прописывать все стили... вставлять в нужных местах javascript например... и весь полученный результат html файл с стилями и javascript'om...
-------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
bars80080 |
|
|||
прапор творюет Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
ну как бы так сказать, если имеется всё равно написание кода вручную, то трудно представить себе что-то более простое, чем html
куда проще? и так, абзац обозначается одной буквой и двумя символами выделяющими командное слово <p> |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
lukas, я уже два раза спрашивал: какие преимущества ты хочешь получить? как выглядит уровень, более абстрактный, чем уровень xml? "draw~my~home~site()"?
Добавлено через 3 минуты и 40 секунд lukas, может, тебя устроить framework на javascript, заточенный под твои нужды? типа, "draw_table(/*rows*/3,/*columns*/5);" или "setOnClick(XPath('html[0]>body[0]>input[3]'), myfunction)" |
|||
|
||||
lukas |
|
|||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
Если будет время сделаю что нить подобное, на словах всеравно трудно это объяснить... xml и html не идеален... с их стандартами... если же делать язык высокого уровня, то стандартов не будет для таких языков... а развиваться они будут намного быстрее чем языки со стандартами...
Представьте себе, когда такие языки будут развиваться, в них будут добавляться новые конструкции... новые свойства, а html и xhtml будут застаивать из-за стандартов, которые нужно утвердить... и чтобы что-то добавить новое требуется несколько лет... Язык верстки высокого уровня развиваться же будет благодаря независимому сообществу людей, при этом соответствие со стандартами ляжет на них, а все кто будет писать на таком языке о этих стандартах даже задумываться не будет... Я уверен, что что-нить подобное когда-нить появится... (и вы еще вспомните этот пост... ) P.S. Пишите свое мнение, я вообще хотел узнать чужое мнение на счет чего-то подобного... Это сообщение отредактировал(а) lukas - 31.5.2008, 16:12 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
skyboy |
|
|||
неОпытный Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
я до тебя докричусь?! назови задачи, в которых проявляется "неидеальность"! ты приводил примеры с бекграундом: проблема решаетcя в CSS3 и доступно при помощи небольшого финта ушами в ранних версиях. что ещё?
убил. без объявленных стандартов и спецификаций ВСЕ реализации будут разными. это будет проблема кроссбраузерности "умножить на 911". не вижу в этом ни хорошего, ни веселого. соответствие стандартам. и ведь ты говорил, что никаких стандартов не будет. чему тогда люди будут следовать? правильно, будут делать кто во что горазд. Добавлено через 1 минуту и 29 секунд не надо. если есть четкая мысль, как раз словами проще, чем кодом на несуществующем языке. |
|||
|
||||
lukas |
|
||||
Опытный Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
skyboy,
так вопервых... этот язык не будет обрабатываться браузером... он будет переводится в html со всеми прибамбасами... поэтому кроссбраузерность будет еще какая... это язык будет выполняться один раз, на компьютере разработчика...
Вот я и об этом... сей час же программист не пишет в языках выс. уровня по вин, чтобы вычислить сложный пример, ему достаточно написать:
тут же человек (как ты) говорит, так такое можно на асм сделать... зачем что то придумывать... на асм уйдет немного больше конструкций раз в 6сть.... но это можно сделать.... только сначала выделить память под переменную, затем к ней добавить 2, затем умножить на 6, затем отнять 7, и все это в отдельных операциях.... Это сообщение отредактировал(а) lukas - 31.5.2008, 16:34 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
||||
|
|||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |