ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
995801 Топик полностью
Связанные сообщения
Web Application
Веб-нотификации: Я думаю это интересная тема, и её нужно вынести в отдельный топик. Я так же прошу кого-то кто разбирается...2020-09-18
Я уже высказывал своё мнение о уеб-дизайнерах и используемых ими "фреймворках". Оно крайне негативное. Практически веб-технологи...2020-05-22
А зачем тебе вообще нужен асинхронный запрос? Потому, что как часто бывают с ардуинщиками -- они услышали что-то одно, зацепилис...2020-04-16
Вообще lloyd наталкивает на интересные мысли. Условный макропроцессор можно сделать комбинировав пункты 1 и 2. Т.е. мы пишем шаб...2020-04-16
Не нужно устраивать PHP и мешать вермишель из перекрученных между собой стилей, javascript-кода и логической организации (HTML)....2020-04-16
Зачем тебе XML? Данные в javascript проще переносить в виде JSON. В который можно трансформировать на хосте чем-то вроде xsltpro...2020-04-16
Идеология "умного дома". -> На мой достаточно консервативный взгляд, ничем, кроме как любовью к творчеству это обосновать нел...2014-11-14
fk0, легенда (16.04.2020 13:26, просмотров: 704) ответил lloyd на Зато можно сделать радость красноглазика - Schema-driven UI! Раньше таким мог похвастаться только Tcl/Tk, а теперь можно сделать веб-уинтерфейс чисто на базе схемы БД.
Ну это как спор между ЯВУ с динамической типизацией и статической. Первые быстро стартуют, но не далеко летают, с ростом сложности всё разваливается. Также и тут. Вермишель из кода ничем хорошим не кончается, теряется управляемость за процессом. Но и тут есть ньансы: 

1) вообще даже если говорить про генерацию непосредственно HTML, то ничего не мешало иметь опять же ШАБЛОН этого html и заполнить его как нужно, одним махом, путём подставновки каких-нибудь переменных, как это умеет делать subst в том же Tcl. Это куда лучше, чем выпечатывание элементов по одиночке, что провоцирует ошибки и нечитаемо. Но толкового "макропроцессора" нет нигде кроме Tcl.


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


3) генерацию schema-based UI можно сделать путём трансформации исходной XML в отображаемую HTML по некоторым правилам, работать с символами ASCII-таблицы не обязательно. Нужен механизм трансформации (а-ля тот же xsltproc), можно наверное сделать самодельный на javascript. Основная идея, что это не императивная функция (цикл по строкам таблицы и так далее), а некий набор функций или правил, которые применяются к элементам по мере обхода исходного XML-дерева (собственно как работает xsltproc), правил зависимых от свойств элемента (data driven).


4) между данными полученными из БД (исходная XML) и полученными на экране (HTML) кроме слоя трансформации предназначенного для отображения неизбежно нужен ещё один слой трансформации для логического преобразования данных (обычно хотят всё же смотреть не то, что в БД в буквальном виде). Конечно такой слой может быть спрятан в SQL-запросе, который доставал из БД, но если SQL нет -- он таки нужен на стороне клиента. Так что оно конечно может быть schema based, но обрастает сложностями. Если их уметь побеждать, то будет наверное конфетка, но боюсь не для среднего ума уже.

[ZX]