X Windows-esque JS UI Client - PullRequest
       11

X Windows-esque JS UI Client

3 голосов
/ 15 марта 2011

Все,

У меня уже давно возникла идея: существует ли стандартная графическая библиотека / протокол, такой как X Windows для HTML + JS?Я в первую очередь разработчик для настольных компьютеров с опытом работы с такими технологиями, как C # / WPF, но мне бы хотелось, чтобы мой кусок веб-революции.:)

Мне кажется, что большинство веб-технологий для отображения интерактивных приложений слишком проприетарные, медленные или графически плохие по сравнению с тем, что я ожидаю от настольного приложения даже на медленном компьютере.Похоже, что если бы существовал способ использовать абстрактный графический слой и слой пользовательского ввода и надежную квазидвухстороннюю связь, было бы ужасно трудно сделать настоящие настольные приложения отображаемыми почти во всех браузерах.

Теперь то, что я говорю, это не просто чат: я кое-что приготовил с WPF, чтобы начать извлекать графические примитивы на слое milcore, и я проталкиваю их через Интернет, используя симулированные сокеты через орбитальный канал и Рафаэля для фронтарендеринг в первую очередь как забавный хак.Пока что это было не так сложно, поэтому я полагаю, что кто-то другой должен был это сделать.WPF - это не чашка чая для всех, но, с другой стороны, многие люди, вероятно, хотели бы иметь твердый язык ООП, чтобы кодировать большую часть бэкэнда со стандартизированным графическим протоколом для внешнего интерфейса, а не только HTML / CSS.

Теперь мне кажется, что это очень простая вещь - действительно графический клиент в браузере, практически во всех браузерах, без плагинов.У нас есть браузеры, которые могут делать все эти вещи высокого уровня и воспроизводить аудио и видео.Я просто хочу нарисовать треугольники, которые могут измениться.Я предполагаю, что только что пропустил лодку и заново изобретаю колесо.Может, кто-нибудь подскажет мне проект, который уже делает это, чтобы я мог сделать несколько замечательных веб-приложений?

Ответы [ 3 ]

1 голос
/ 06 апреля 2011

Тот факт, что вы заинтересованы в низком уровне элементе управления из бэкэнда при времени выполнения , вероятно, является ограничителем шоу, если вы не можете принять лоты лаг.

Связь между сервером и клиентом в веб-мире занимает намного больше времени. На настольных компьютерах задержки не заслуживают измерения, но в Интернете с HTTP-запросами задержки являются реальными, сильно изменчивыми и потенциально разрушающими UX.

  1. Клиент замечает щелчок пользователя и вызывает сервер, чтобы сообщить (+ 50-500 мс для передачи)
  2. Сервер обнаруживает, выдает инструкцию для анимации треугольника (+ 100 мс для обработки) (+ 50 мс-500 мс для передачи)
  3. Клиент получает инструкцию, анимирует треугольник ( задержка воспринимается пользователем: от 200 мс до 1100 мс )

Итак ... Я не уверен, что архитектура точная , о которой вы думаете, выполнима в сети.

Если вы немного пересмотрите свои предположения, ваши возможности значительно возрастут. Например, снятие требования делать обходы до логического уровня приложения для логики приложения было бы очень освобождающим. Попробуйте эту интерпретацию парадигмы рабочего стола для размера:

  • X-Windows & rarr; Механизм рендеринга браузера (API самого низкого уровня, эквивалентный аппаратному обеспечению)
  • WPF & rarr; SVG, Raphael, jQueryUI и т. Д. (API рисования более высокого уровня)
  • C # логика приложения & rarr; Клиентская логика JS ( ООП стиль )
  • Файловая система & rarr; Веб-сервер с БД

Интересный вопрос!

1 голос
/ 15 марта 2011

Если я правильно понимаю, вы ищете библиотеку, которая сделает процесс создания пользовательского интерфейса менее сложным, чем HTML.Что ж, стоит констатировать очевидное;если в ближайшем будущем не произойдет ничего радикального, все веб-приложения без плагинов будут, в конечном счете, основаны на HTML + JS.Raphael - отличный инструмент для обобщения графических вызовов во всех браузерах, обеспечивающий согласованный API-интерфейс рисования, однако он не предназначен для самостоятельного решения пользовательского интерфейса.

Возможно, вы захотите взглянуть на extJ, теперь часть Сенча .Я сам использовал его для довольно сложного инструмента управления внутренней спецификацией.Он предоставляет обширную коллекцию готовых к использованию компонентов пользовательского интерфейса, очень похожих на WPF.Он также предоставляет встроенный механизм RPC для интеграции с серверной логикой.

0 голосов
/ 24 октября 2013

Есть несколько компаний, у которых нет названий, у которых есть клиенты RDP на чистом JavaScript, которые хорошо работают.Существует также проект с открытым исходным кодом под названием Guacamole, который может общаться по RDP и VNC.

Вы запускаете их сервер на машине, на которой установлены службы удаленных рабочих столов, и он действует как шлюз веб-сокетов для «клиента».Работает красиво.Мы собираемся использовать его для приложения, в котором огромное количество данных подается в пользовательском интерфейсе.

Представьте, что вам нужно написать сложное приложение, которое заняло 10 миллионов точек данных и позволило вам увеличить масштаб до любого уровня масштабирования.,Создание веб-приложения для этого было бы пустой тратой ресурсов.

С веб-сокетами, доступными сейчас в большинстве браузеров, я откровенно удивлен, что я не вижу этого чаще.Я уверен

...