У меня есть необычная ситуация - у меня есть устройство потоковой передачи встроенного видео со сложным UI, и я должен использовать встроенный веб-сервер для репродуцирования того UI через веб-браузер. Я думаю об использовании JavaScript/JQuery на бэкенде C++ (я НЕ кодирую все это сам, я должен нанять людей для трудной работы).
Встроенный веб-сервер намного менее мощен, чем ПК, таким образом, я хочу записать приложение, которое выполняет весь UI в браузере и только связывается с сервером, чтобы передать новые настройки программы назад и вперед, получить обновления статуса от устройства и воспроизведение видео управления.
Другими словами, клиент получает одну большую страницу или небольшое количество больших страниц (эффективно загружающий приложение), приложение поддерживает значительное устройство хранения данных локальной памяти, и после того как страницы сначала загружаются, сервер никогда не отправляет ничего связанного с расположением.
Приложение имеет две строки вкладок для навигации по ~40 страницам меню, средства управления перетаскивать-и-выбирать для выбора ячеек в сетке, отсортированных списках, большом количестве стандартных опций ввода данных, и оно должно смочь управлять до 16 плееров встроенного видео сразу (предпочтительно VLC).
Действительно ли это возможно в JavaScript/JQuery с бэкендом C++?
Ext JS значительно сэкономит вам время на создание пользовательского интерфейса, с его помощью можно создавать очень сложные макеты с богатыми элементами управления за очень короткое время. Он даже имеет свой собственный графический редактор, в котором вы можете создавать пользовательский интерфейс до добавления обработчиков.
Его API-документация также очень хороша, она намного лучше, чем у большинства других библиотек.
Что касается остального, ну, я уверен, что есть готовые веб-серверы, на которые вы можете обратить внимание; посмотрите здесь - большинство из них, вероятно, могут отображать CGI-приложение.
Вместо этого вы можете рассмотреть технологию расширенного клиента, такую как Silverlight. Сложный пользовательский интерфейс - это то, для чего он создан, а опыт разработки намного приятнее, чем у большинства других вариантов.
Silverlight не требует .NET на сервере и может легко взаимодействовать через простые службы REST или SOAP (см. GSOAP).
Это определенно возможно. Посмотрите на AJAX-фреймворк Jquery для взаимодействия с сервером, а затем посмотрите на некоторые веб-инструменты C++ для создания легких контроллеров веб-сервисов.
Все возможно.
Стоит ли? Зависит от ваших требований. Имейте в виду:
Возможно, вам стоит взглянуть на использование Dojo вместо jquery. Его действительно больше к этому типу вещей. Это ни в коем случае не означает, что вы не можете сделать это в jquery, Dojo - это просто лучший дизайн IMO для создания всего JS-приложения. Конечно, следует отметить, что это также делает его использование намного более сложным, чем jQuery.