Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery/JavaScript可以用来编写大量的客户端应用程序吗?_Javascript_Jquery_Embedded - Fatal编程技术网

JQuery/JavaScript可以用来编写大量的客户端应用程序吗?

JQuery/JavaScript可以用来编写大量的客户端应用程序吗?,javascript,jquery,embedded,Javascript,Jquery,Embedded,我有一个不寻常的情况——我有一个带有复杂UI的嵌入式视频流设备,我需要使用嵌入式web服务器通过web浏览器重现该UI。我想在一个C++后端上使用JavaScript /jQuery(我自己不编码所有这些,我需要雇人做繁琐的工作)。 嵌入式web服务器的功能远不如PC,因此我想编写一个应用程序,在浏览器中运行整个UI,只与服务器通信,来回传递新的程序设置,从设备获取状态更新,并控制视频播放 换句话说,客户端获得一个大页面或一小部分大页面(有效地下载应用程序),应用程序保持大量本地内存存储,并且一

我有一个不寻常的情况——我有一个带有复杂UI的嵌入式视频流设备,我需要使用嵌入式web服务器通过web浏览器重现该UI。我想在一个C++后端上使用JavaScript /jQuery(我自己不编码所有这些,我需要雇人做繁琐的工作)。 嵌入式web服务器的功能远不如PC,因此我想编写一个应用程序,在浏览器中运行整个UI,只与服务器通信,来回传递新的程序设置,从设备获取状态更新,并控制视频播放

换句话说,客户端获得一个大页面或一小部分大页面(有效地下载应用程序),应用程序保持大量本地内存存储,并且一旦页面首次加载,服务器就不会发送任何与布局相关的内容

该应用程序有两行选项卡,用于导航约40个菜单页面、拖动和选择控件以拾取网格中的单元格、排序列表、大量标准数据输入选项,并且应能够同时控制多达16个嵌入式视频播放器(最好是VLC)


这是否可能在一个C++后端的JavaScript/jQuery中?

< P>这是绝对可能的。查看Jquery与服务器通信的AJAX框架,然后查看如何制作一些轻量级web服务控制器。

一切皆有可能

值得吗?这取决于你的要求。请记住:

  • 您必须有某种应用程序服务器支持。手工编码需要资源 <> LI>您还必须更新嵌入式设备上的C++可执行文件。您可能最终支持多个设备。因此,如果支持的设备数量增加,这可能会成为一个问题
  • C++工程资源通常更昂贵(并且便宜的C++工程师在BugFig上支付2X),而服务器上的PHP/Ruby/Perl开发人员则是这样。
您可能想看看使用Dojo而不是jquery。它实际上更倾向于这类事情。这并不意味着你不能在jquery中完成,Dojo只是更好地设计IMO来创建一个完整的JS应用程序。当然,应该注意的是,这也使得它的使用比jQuery复杂得多。

将在UI方面为您节省很多,它可以用于在很短的时间内创建具有丰富控件的非常复杂的布局。它甚至有自己的图形编辑器,您可以在添加处理程序之前创建UI

它也很好,比大多数其他图书馆都好


至于其他的,我很确定有现成的Web服务器可以供您研究;看一下,大多数这些可能会暴露一个CGI应用程序。

你可能会考虑像Silverlight这样的富客户端技术。复杂的用户界面是它构建的目的,开发体验比大多数其他选项要好得多


Silverlight安装在服务器上,可以通过简单的REST或SOAP服务轻松通信(请参阅gSOAP)。

FWIW,现在浏览器中的复杂应用程序非常可能。只是见证Gmail、雅虎邮件等,所有这些都是大量的软件,完全可以在浏览器中运行。是的,你可以通过C++使用V8(也就是,Duk磁带是一个JavaScript引擎,用C编写的嵌入式系统)…事实上,linux发行版Slitaz(和其他一些发行版)在其配置gui(tazpanel)中使用带有busybox实用程序的普通shell脚本。我不知道你有什么样的硬件,但如果你有硬件加速的视频,通常只需使用最小的curl构建就可以通过udp/tcp连接直接流式传输/dev/videoXX。。。剩下的应该只是css的噩梦,使用一些简单的html和客户端js将视频放入html5播放器。然而Silverlight确实需要客户端插件,尤其是在Linux上,我不想要求用户安装插件。每款浏览器都附带JavaScript,对于想使用该应用程序的人来说,“确保JavaScript已打开”并不是一个很重要的要求。你的问题中没有提到这一点。我觉得否决票有点苛刻。我没有否决,我没有在这个网站注册。然而,我确实认为要求客户端安装插件是不寻常的,应该提到。记住,这是一个嵌入式web服务器,就像我说的,它的功能远不如PC。PHP几乎不适合内存,Perl的性能是不可容忍的。这就是我希望在客户端完成复杂的“web内容”的原因之一,因此服务器只需执行视频流、与设备固件的接口等。我的想法是扩展设备的本地Qt应用程序,使其具有更多服务器友好的API,然后在LeTutpDWeb服务器下运行一个瘦C++层。我的第三颗子弹是“PHP/Ruby/Pearl,服务器端,不是嵌入的”。除此之外,实现http服务器非常简单(读传输),但提供应用程序支持更为复杂。总的来说,它可以归结为瘦/厚客户端对话。感谢链接,Ext JS看起来可能非常方便,因为它有许多预定义的UI元素。但要击败其他元素,它确实有其缺陷,但没有比其他任何库更大的缺陷。。。