ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Воскресенье
31 мая
/1006307
Топик полностью
fk0 (22.05.2020 11:59, просмотров: 123) в ответ на Не знаю что конкретно хочет ТС, но меня живо интересуют человеческие способы создания удаленного, умеренно умного дисплея. Концептуально: индустриальный планшет с веб-браузером, долбящийся в фиксированный сервер внутри локальной сети и отображающий оттуда что укажут. Контент на сервере создают и поддерживают веб-погромисты и веб-дизайнеры. Реально: эта идея нифига не работает. Браузеров 1.5 штуки с багами и дырами, стандарты тырнета постоянно меняются, веб-погромисты не умеют - автор: LightElf
Я уже высказывал своё мнение о уеб-дизайнерах и используемых ими "фреймворках". Оно крайне негативное. Практически веб-технологии из игрушки превращаются в инструмент, если использовать только принятые в стандартах (а не уникальные фичи конкретного браузера) и уже устоявшиеся функции браузеров (т.е. принятые 5-10 лет назад или ранее), и при отказе от "веб-фреймворков", логика которых идёт вразрез с принятыми в "индустрии разработки ПО" практиками. Нет динамической 

генерации

HTML (нужно работать с объектной моделью, а не мешаниной символов), желательно отказаться от интерпретатора (взять typescript или хотя бы что-то вроде jslint), код писать в традиционном стиле, разделяя код и данные, разделяя на классы и функции, а не устраивая мешанину как принято у уеб-дизайнеров. Есть понятие Model-View-Controller парадигмы при конструировании пользовательских интерфейсов и её нужно придерживаться, когда отображаемые или вводимые данные отделены от видимого представления, а не опять же мешанина. И при создании HTML нужно чётко отделить логическую структуру от оформления, оставив последнее исключительно для CSS. Таблицы, например, не служат для форматирования по рядам и колонкам, а возможность через javascript насильно вписывать атрибуты элементам в html явно избыточная и предназначена для каких-то экстраординарных случаев.



Было бы удобно иметь готовый фреймворк для создания UI в браузере -- увы нет, нормальных точно нет. Или будет как у LightElf выше написано. Наверное можно всё сделать, на голом браузере и будет более-менее даже совместимо со всеми относительно современными браузерами, если не сильно упираться в "дизайн".



Базовую идею я описывал ранее: все окна приложения в принципе делатся на два класса, на существующие статически (в которых только данные меняются) и на создаваемые динамически (более одного экземпляра или для которых невозможно составить шаблон -- экзотика). Создаваемые статически заранее описываются в статической же веб-странице, делаются не отображаемыми если сейчас не нужны. Динамические за редчайшими исключениями создаются путём размножения шаблона -- неотображаемого поддерева html-документа. Данные попадают в html и считываются обратно, после редактирования пользователем, исключительно через формы. Для ввода -- input, для вывода -- сейчас появился output, раньше был нужен object. В случае таблиц, например, в шаблоне сделана только одна строка, которая размножается по числу строк данных. Сами данные, которые попадают из/в формы -- это json-объекты, которые изоморфно переносятся из/в форму (заполнение идёт по совпадающим именам полей данных, для вложенных объектов -- рекурсивно). Таким образом обеспечивается разделение визуального (формы) и логического (json) представления данных. HTML при таком подходе вполне может заменить уровень приложений создаваемых в прошлом на delphi, foxpro и т.п. Да, нет типичных виджетов, но в целом тот же функционал достижим не очень большими усилиями.

[ZX]
web application
Ответить