может и так. но я не программлю GUI кроме как реакции обработчиков высокоуровневых событий. если это несущественно то да, это «просто еще один гуи фреймворк теперь с JSON».
1. Он написана сразу про все платформы, внутри и внеброузерные. Смысл — не думать о платформе. Как задизайнить под конкретную платформу — дело конкретного клиента на платформе, конкретного автодизайнера. Например, для меня основная платформа — десктопный клиент.
2. Я не предусмотрел такие вопросы пока. но если он встанет, то по логике uniGUI если не сможет определить тип должен отрисовать пустое пространство с сообщением об ошибке, если данные не подходят ни какому виду-виджету. Если подходят — отрисовать им и предупреждение.
Ерунда. Если данные содержат разметку, то можно ее оттуда убрать. И получить данные без разметки. Есть вы не можете убрать разметку, оставив корректные для отрисовки данные, то это только данные, напоминающие вам разметку, но это только минимально необходимое описание.
Кейс научного и бизнес софта не маленький. я поделился идеей. для меня она решает все мои задачи. взлет не планирую. мои интересы в другой области. это побочный продукт.
вообще ни в чем размеры не задаются кроме как для Image. все размеры считаются автодизайнером, чтобы вместить все, что на экране хотите увидеть. в этом фишка.
После смены Vue на uniGUI отзывчивость интерфейса субъективно возросла в 3x раз. он работает как нормальный desktop GUI. не ждет реакции сервера. некая задержка возникает когда полностью меняется-пересылается экран. впрочем все равно быстрее чем VUE в этом моменте.
правда это скорее заслуга больше flutter чем моя в скорости отрисовки.
SelectGroupButtons, SelectEdit у меня стандартные. Их разумеется можно впихнуть в таблицу, равно как и остальное. Кастомных элементов не предусмотрено, ибо это идет вразрез идее чистые данные -> GUI автоматом.
>>Ну т.е. перепрыгнет через одно.
1.Websocket гарантирует очередность доставки событий, насколько я знаю.
2.нет событие — нет реакции. событие занимает ~ 20 байт. 3 события за секунду при интенсивном наборе чего-то максимум.
Флаг с тремя состояниями это {name:, value, options=['1','2','3']}
Будет отрисован в виде кнопочной группы. На скрине справа вверху пример такой Stable, Virtual, Both.
1. при добавлении строки таблица переходит в режим редактирования автоматом.
2. есть мультивыделения (см. переключатель с иконкой 1 на скрине) тогда появляются checkbox слева от каждой строки.
про задержку/игнор событий — дело сервера. игнорить или нет — дело обработчика. он вызовется всегда если пришло событие.
там, если глянуть на скрин есть кнопка редактирования в таблице. для начала нужно ее нажать.тогда начнет проваливаться.ширина полей считается автоматом автодизайнером в зависимости от показываемых данных. то же про ширину/высоту таблицы, равно как и остальных элементов. автодизайнер вытается все отрисовать максимально правильно (без обрезаний). с учетом окружающих элементов.
мышью, клавой, без разницы. при редактировании шлется еще номер поля и значение: [id строки, номер поля, значения]. т е при наборе java сервер получит 4 мессаджа со значениями j, ja, jav, java. Как на это реагировать: 1 автоматом, при отсутствии обработчика, значения кладется в value связанного элемента. 2. задан обработчик с именем chаnged — будет вызван 4 раза. он может откатить изменение, послать autocomplete массив строк,…
flutter легче. работает быстрее.
вот событие [Glossary, Terms, =, 658] значит что юзер в блоке Glossary выбрал строку в таблице Terms с id 658.вот нажали кнопку на тулбаре с именем _Back [toolbar, _Back, =, _Back] и т. д.
2. Я не предусмотрел такие вопросы пока. но если он встанет, то по логике uniGUI если не сможет определить тип должен отрисовать пустое пространство с сообщением об ошибке, если данные не подходят ни какому виду-виджету. Если подходят — отрисовать им и предупреждение.
правда это скорее заслуга больше flutter чем моя в скорости отрисовки.
1.Websocket гарантирует очередность доставки событий, насколько я знаю.
2.нет событие — нет реакции. событие занимает ~ 20 байт. 3 события за секунду при интенсивном наборе чего-то максимум.
Будет отрисован в виде кнопочной группы. На скрине справа вверху пример такой Stable, Virtual, Both.
2. есть мультивыделения (см. переключатель с иконкой 1 на скрине) тогда появляются checkbox слева от каждой строки.
про задержку/игнор событий — дело сервера. игнорить или нет — дело обработчика. он вызовется всегда если пришло событие.
вот событие [Glossary, Terms, =, 658] значит что юзер в блоке Glossary выбрал строку в таблице Terms с id 658.вот нажали кнопку на тулбаре с именем _Back [toolbar, _Back, =, _Back] и т. д.