Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #71 (permalink)  
Старый 07.04.2011, 00:00
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от B~Vladi
Вообще смешно получается. Сейчас все кому не лень пишут и говорят о HTML5. Мода на XHTML, к сожалению, проходит. Архитектура моей платформы построена полностью на идеологии XHTML. Опоздал?
к счастью. Давно прошла. Cкорее не угадал. Хотя с другой стороны какая разница, если хорошо провел время, м? Кроме того, разве это так важно, что модно? А вдруг твой фреймворк опередил время и станет популярным через пару сотен лет?
Ответить с цитированием
  #72 (permalink)  
Старый 07.04.2011, 00:04
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

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

Сообщение от x-yuri
к счастью.
А вот это давай обсудим
Что мешает в XHTML?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф
Ответить с цитированием
  #73 (permalink)  
Старый 07.04.2011, 05:04
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

для начала немного ссылок
Postel's law
The history of draconian error handling in XML
XHTML—What’s the Point? (Draft, incomplete)
Sending XHTML as text/html Considered Harmful
Everything you know about XHTML is wrong

мешает, конечно, его строгость. Она может быть полезна для разработки, но не нужна на production'е (зачем не отображать документ, если его можно отобразить? Малейшие ошибки приводят к полному отказу) Она повышает требования к людям и инструментам разработки и следовательно тормозит развитие. Пользователь может поломать сайт вставив невалидный контент. Ну или пускай не пользователь, пусть модератор/контент-менеджер/администратор (нужное подчеркнуть). XHTML - это скорее вопрос религии, чем практической необходимости. Либо кому-то просто наболело. И, собственно тот, кто это все придумал, признает, что это было по-крайней мере спорно:
Цитата:
But we agree on my fundamental point: XML’s error handling has always been controversial, and lots of smart people disagreed with it from the beginning for lots of good reasons.
http://diveintomark.org/archives/200...6/draconianism

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

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

справедливости ради приведу ссылку с альтернативным мнением, правда 2004 года выпуска
Ответить с цитированием
  #74 (permalink)  
Старый 07.04.2011, 10:40
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

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

почему-то пятисотые ошибки при неверных данных или неправильной их обработке никого не смущают, а вот ошибки парсинга хмл - приводят к негодованию. и плевать, что незакрытый тег может покарёжить всю вёрстку и ты будешь долго его отлавливать, плевать на многочисленные xss уязвимости из-за которых пользователи теряют свои деньги, аккаунты и доброе имя.
__________________
.ня
Ответить с цитированием
  #75 (permalink)  
Старый 07.04.2011, 10:53
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
Малейшие ошибки приводят к полному отказу
Это да.

Вообще, я говорил не о формате, а о DTD. Т.е. если мы используем документ в формате XHTML (расширение xhtml, content-type: application/xml+xhtml), то это уже указание на формат, а не какое-то там DTD, поэтому и парсится соответственно.
DTD XHTML прижился и используется. Формат XHTML не используется. Потому что ишак клал на него.
Давайте далее, говоря о XHTML, подразумевать соответствие документа с DTD XHTML в формате HTML.

x-yuri, ограничения, о которых ты говорил, накладываются форматом. А что мешает соответствовать DTD?
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 07.04.2011 в 16:47.
Ответить с цитированием
  #76 (permalink)  
Старый 07.04.2011, 11:35
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от tenshi
интересно, а если бы программы при ошибках не генерировали исключения, а продолжали работу со следующей после сбойной инструкции? или если бы субд при неверном запросе пыталась хоть что-то прочитать хоть из какой-нибудь таблицы?
tenshi, почитай ссылки, там все есть:
Цитата:
Programming languages that barf on a syntax error do so because a partial executable image is a useless thing. A partial document is *not* a useless thing. One of the cool things about XML as a document format is that some of the content can be recovered even in the face of error. Compare this to our binary document friends where a blown byte can render the entire content inaccessible.
Сообщение от tenshi
плевать на многочисленные xss уязвимости из-за которых пользователи теряют свои деньги, аккаунты и доброе имя.
это уже поинтереснее. Но 1) это проблема решаемая, 2) почему из-за тех, для кого это важно должны страдать все? 3) для тех, для кого это важно - это не проблема, у них есть опытные специалисты и достаточно денег, 4) вместо xss получаем проблему с чисткой контента, создаваемого пользователями

Сообщение от B~Vladi
x-yuri, ограничения, о которых ты говорил, накладываются форматом. А что мешает соответствовать DTD?
dtd ничего не мешает соответствовать. Вопрос в том, что это даст. Что там в этом dtd такого есть? Я наверное не особо в курсе. На модули разбили? Четче описали правила? Да и вообще, расскажи что ты видишь положительного в XHTML
Ответить с цитированием
  #77 (permalink)  
Старый 07.04.2011, 12:27
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
На модули разбили?
Именно. Не для кого не секрет, что модульность упрощает разработку и поддержку продукта. Если она есть, то должна быть во всем. На клиенте модульность должна начинаться именно с данных. Ведь на данные накладывается функционал, а раз данные поделены - автоматом делится и функционал на логические сущности.

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

Приведу примеры. Вы все писали расширения к модулям XHTML:
placeholders, валидация, ajax загрузка файлов - это примеры расширений модуля Forms, описанного в спецификации XHTML. Действительно, в валидаторе вам нужны только теги из этого модуля (т.е. форма и её элементы).
Сортировка - расширение модуля Tables.
Дерево - расширение модуля List.

В HTML нельзя создать собственный модуль на уровне данных. Формат этого не предусматривает. Конечно, логику написать можно и всё будет работать, но данные (теги), которые он использует, будут принадлежать другим модулям (стандартным). Отсюда все болезни: верстак изменил html-код - упали скрипты (знакомая ситуация?). Фикс такого бага в большинстве случаев сводится к правке селектора или ещё какой-нибудь мелочи, но сам факт фикса присутствует!

XHTML дает такую возможность посредством пространств имен. Модальное окно - пример самостоятельного модуля. Основные узлы (заголовок, контент и т.д.) должны принадлежать ему (иметь собственное пространство имен). SVG - самостоятельный модуль. Работает только в XHTML, потому что в HTML его просто невозможно вставить (см. предыдущий абзац).
По сути - кастомный модуль почти ничем не отличается от того же SVG. Отличие одно - SVG написан на другом языке программирования и встроен в браузер, а кастомный на javascript.

Я смотрю на веб-приложение с этой позиции. Предлагаю взглянуть и вам
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 07.04.2011 в 12:33.
Ответить с цитированием
  #78 (permalink)  
Старый 07.04.2011, 15:18
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от B~Vladi
SVG - самостоятельный модуль. Работает только в XHTML, потому что в HTML его просто невозможно вставить
Цитата:
In addition, the HTML5 specification enables embedding SVG in HTML, where before it was only supported with XHTML.
http://www.alistapart.com/articles/u...rounds-part-i/
как на практике дело обстоит - не знаю

т.е. ты предлагаешь создавать свои модули (в терминологии XHTML, на равне с его собственными), писать для них свой dtd? Это скорее для каких-то достаточно больших проектов. Как-то слишком сложно и непонятно, что это дает. Я не понимаю как модули могут предотвратить необходимость изменения скриптов при изменении разметки. Привязываться только к своим тегам? С тем же успехом можно добавлять к классам префикс, получаем некоторое подобие пространства имен. Но если ты изменишь разметку своих тегов, из своего модуля скрипты все равно упадут. Кстати, БЭМ, по идее, близок к твоей задумке, только без XHTML-модулей. А почему, собственно, для этого нужны XHTML-модули? С ними разве что красивее получится, но ничего не мешает это реализовать без них
Ответить с цитированием
  #79 (permalink)  
Старый 07.04.2011, 16:00
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от x-yuri
In addition, the HTML5 specification enables embedding SVG in HTML, where before it was only supported with XHTML.
Ну я про это и говорю. В HTML5 тоже есть пространства имен, как и в XHTML, что позволяет вставлять SVG.

Сообщение от x-yuri
писать для них свой dtd?
DTD можно и не писать. Тем более что все кладут на валидатор W3C. А если писать, то уж лучше XML-схему. Вообще, при таком раскладе валидация становится средством тестирования страниц. Другие тесты можно даже и не писать. Таким образом твой вопрос должен был звучать так: "Писать для них свои тесты?".

Сообщение от x-yuri
как модули могут предотвратить необходимость изменения скриптов при изменении разметки
Собственно:
Сообщение от x-yuri
Привязываться только к своим тегам
... и атрибутам.

Постараюсь объяснить что же это нам даст.

Что нужно верстаку? Править html-код. Что конкретно в коде ему нужно править? По пунктам:

1. Добавлять/удалять узлы.
2. Править атрибуты.
3. Править стили (как CSS, так и классы).
4. Изменять структуру дерева.

Это что касается поддержки и развития. Когда html только создается - проблем нет.

Действия первых трех пунктов не приведут к падению скриптов. Для этого верстало должен помнить всего лишь одно правило: не изменять сущности из пространств имен. Это касается имен тегов, имен атрибутов и их значений. В принципе, ему это и не надо.
Посмотрим на код:
<div ns:parent="name">
  <p>Paragraph</p>
  <ns:item class="item-1">text</ns:item>
  <ns:item class="item-2">text</ns:item>
  <div class="nbsp">&nbsp;</div>
</div>

Верстак может без проблем поменять имя корневого тега, так как оно не относится к пространству имен. Атрибут ns: parent его вообще не должен интересовать. Точно так же он может менять атрибуты class не задумываясь о том, к чему принадлежат эти классы. Можно добавить любые теги или убрать те, которые не принадлежат к пространству имен. Другими словами: он видит с чем ему можно работать, а с чем нет. Так мы полностью отделили верстальщика от JS-ника.

Что касается четвертого пункта. Структура данных - по природе своей древовидная и от этого никуда не деться. Мы должны учитывать это. Если структура изменяется, изменяется и логическое значение узлов. Так же и тут: если вынести ns:item за ns: parent, то он уже не будет ребёнком parent-а. Но скрипт и не упадет от этого. Он просто не обработает его.

БЭМ вообще придуман для CSS (хотя и файловую структуру это коснулось тоже). Стиль наименования классов + логическое разделение, я бы сказал. К XHTML отношения вообще не имеет.

Сообщение от x-yuri
ничего не мешает это реализовать без них
Собственно, чем сейчас все и занимаются. Архитектура сегодняшнего веб-приложения:
данные - куча говна
логика - стая мух, облепивших говно со всех сторон
представление - где-то между говном и мухами

А потом задумываемся - почему серверных разработчиков ставят на уровень выше клиентских? И правильно делают.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds
влад.куркин.рф

Последний раз редактировалось B~Vladi, 07.04.2011 в 16:05.
Ответить с цитированием
  #80 (permalink)  
Старый 08.04.2011, 06:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от B~Vladi
SVG - самостоятельный модуль. Работает только в XHTML, потому что в HTML его просто невозможно вставить
Сообщение от B~Vladi
Ну я про это и говорю. В HTML5 тоже есть пространства имен, как и в XHTML, что позволяет вставлять SVG.
хм, я тебя по-другому понял. Но возникает другой вопрос: если пространства имен поддерживаются html5, то чего тебе не хватает? Тебе не нравится, что все про них забыли?

Сообщение от B~Vladi
DTD можно и не писать. Тем более что все кладут на валидатор W3C. А если писать, то уж лучше XML-схему.
да, это и имел в виду

Сообщение от B~Vladi
Вообще, при таком раскладе валидация становится средством тестирования страниц. Другие тесты можно даже и не писать. Таким образом твой вопрос должен был звучать так: "Писать для них свои тесты?".
а какие другие тесты и почему их можно не писать? Ведь ты только структуру с помощью xml-схемы проверишь

Сообщение от B~Vladi
Постараюсь объяснить что же это нам даст.
ну вот альтернативная реализация твоего примера
<div ns-parent="name">
  <p>Paragraph</p>
  <div class="ns-item item-1">text</div>
  <div class="ns-item item-2">text</div>
  <div class="nbsp">&nbsp;</div>
</div>

в чем разница?

Сообщение от B~Vladi
БЭМ вообще придуман для CSS (хотя и файловую структуру это коснулось тоже). Стиль наименования классов + логическое разделение, я бы сказал. К XHTML отношения вообще не имеет.
я имел в виду, что это тоже более серьезный подход, тоже для больших проектов. Изначально, насколько я понимаю, основная цель была - возможность без проблем перемещать блоки (т.е. тоже вроде бы как чтобы ничего не поломать). А сейчас вон и название поменялось. И что там сейчас толком не знаю

Сообщение от B~Vladi
Собственно, чем сейчас все и занимаются. Архитектура сегодняшнего веб-приложения:
данные - куча говна
логика - стая мух, облепивших говно со всех сторон
представление - где-то между говном и мухами
да не, просто большинство сайтов делаются методом подключения jquery-плагинов или написанием своего jquery-кода, а так как jquery не призывает к усилиям по организации кода, то получается код из серии "как думаю, так и пишу". Но для небольших сайтов это нормально в общем-то, там усложнять и не надо. Вторая проблема - готовые компоненты, которые либо допиливаются до неузнаваемости, либо настолько универсальны, что теряешься в настройках. Ну и третья, то что подключается куча плагинов, а то и библиотек, и это считается круто

Сообщение от B~Vladi
А потом задумываемся - почему серверных разработчиков ставят на уровень выше клиентских? И правильно делают.
хм, разве? Ну возможно, если учесть, что более менее сложные клиентские приложения появились не так давно, по сравнению с серверными
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Работа на javascript с xml masmash Общие вопросы Javascript 0 03.01.2009 23:20
xml и javascript faunder Общие вопросы Javascript 4 16.09.2008 18:07