Информация об изменениях

Сообщение Re[4]: Кроссплатформа - состояние на конец 2022 от 12.09.2022 20:08

Изменено 12.09.2022 20:46 Aquilaware

Re[4]: Кроссплатформа - состояние на конец 2022
Здравствуйте, 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 тут вообще мимо, он не исползьуется. Его роль выполняет ваш любимый и серъёзный язык программирования. Любой!
Re[4]: Кроссплатформа - состояние на конец 2022
Здравствуйте, 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 тут вообще мимо, он не используется. Его роль выполняет ваш любимый и серъёзный язык программирования. Любой!