Здравствуйте, vaa, Вы писали:
vaa>вижу customer(F5) вкладка POS vaa>жму — и вуаля — перегрузка страницы. vaa>веб и html не гарантирует поведение.
UI с поддержкой горячих клавиш, правильной табуляцией, правильным автофокусом и прочим делается на HTML'e относительно легко. Другое дело, что для сайтов этим почти никогда не замарачиваются, но возможности такие есть и они довольно широкие — любая такая хотелка делается на раз-два.
HTML != сайт, подобное заблуждение должно остаться в прошлом. HTML — это язык разметки, который на сегодняшний день является де-факто стандартом построения взаимодействия с подавляющим большинством информационных систем, и не только онлайновых.
Приведу пример: приложение Apple Music на айфонах использует именно HTML для своего UI. Может ли конечный пользователь это как-то определить, может оно кривое какое-нибудь? Абсолютно нет. Всё отполировано настолько, что не подкопаешься. Поэтому когда есть такой мощный стандарт, все дисскуссии по поводу того, на чем делать тот или иной UI со временем будут уходить в небытие.
Тут пожалуй есть единственная проблема — это проблема восприятия. Многие воспринимают HTML как некий блокнот, в котором работает скриптъ, есть перегрузки страниц с потерей состояния и это всё бяка-бяка, кака-кака. Но это иллюзия идущая от вэба. На самом деле, HTML просто задаёт разметку UI, а наполнятся и моцифицироваться она может из любого языка програмирования. То же самое относится и к состоянию — оно может иметь любое время жизни. Проще всего смотреть на HTML документ как на window (окно) или даже как на элемент управления (control). Например, закрыли окно и потеряли состояние, т.к. оно более не нужно. Логично ведь? Так же происходит и в MFC, и в Windows Forms и в WPF. Открыли новое окно, UI нарисовался из разметки, приобрёл новое состояние. Дернули элемент управления — получили событие, промодифицировали свойство кнопки. Эта известные всем UI'щикам истины, и в HTML они работают точно так же.
Никаких серверов, портов и прочего для этого не нужно! Это просто опциональные надстройки для вэба. Берем окно, кладем в него HTML и дёргаем DOM. Обеспечиваем работу с ресурсами, чтобы можно было ссылатся, например, на файлы стилей прямо из исполняемого файла без всяких HTTP серверов. Всё. UI готов.
Хотим быстрого старта? Берем какой-нибудь готовый CSS ништяк, например, Bootstrap. Если буквально — кладем этот готовый скачанный CSS файл в наш проект как ресурс и ссылаемся на него из HTML. Получаем на выходе очень достойный UI за очень короткое время, c полной поддержкой high-DPI, разных форм-факторов устройств и разных платформ.
Сейчас это замутить не так просто, как я расписал, но представьте если это бы решалось одним пакетом добавленным в проект. Как легко можно заметить, JavaScript тут вообще мимо, он не используется. Его роль выполняет ваш любимый и серъёзный язык программирования. Любой!