带有Javascript或传统web应用程序的Windows应用商店应用程序??对于富界面桌面应用程序

带有Javascript或传统web应用程序的Windows应用商店应用程序??对于富界面桌面应用程序,javascript,web-applications,windows-runtime,windows-store-apps,Javascript,Web Applications,Windows Runtime,Windows Store Apps,我知道有一些文章是关于开发web应用程序和winRT应用程序之间的区别、优缺点的,但我想请你谈谈你对我个人情况的专业观点,因为在阅读了一些论文之后,我仍然充满了怀疑 我正在寻找开发符合以下要求的桌面应用程序的工具: 必须是“触摸优先”应用程序 它的用户界面必须具有丰富且用户友好的设计(类似于智能手机) 它的主要工作是通过http或telnet(sockets或RS-232)专用API控制一些多媒体设备,如视频矩阵、音频矩阵、视频会议编解码器、视频流编解码器、IP摄像机等 它已经用另一种编程语言(

我知道有一些文章是关于开发web应用程序和winRT应用程序之间的区别、优缺点的,但我想请你谈谈你对我个人情况的专业观点,因为在阅读了一些论文之后,我仍然充满了怀疑

我正在寻找开发符合以下要求的桌面应用程序的工具:

  • 必须是“触摸优先”应用程序
  • 它的用户界面必须具有丰富且用户友好的设计(类似于智能手机)
  • 它的主要工作是通过http或telnet(sockets或RS-232)专用API控制一些多媒体设备,如视频矩阵、音频矩阵、视频会议编解码器、视频流编解码器、IP摄像机等
  • 它已经用另一种编程语言(Netlinx)开发, 它有大约20个不同的模块来控制不同的设备 或者提供不同的用户功能。所以可能会有这样的结果 如果在Javascript/WinRT中开发,则在“代码地狱”中
  • 考虑到这一点,我不确定是否要专注于web应用程序(例如,使用.NETMVC模式),因此我们有一个HTML/CSS现代UI,在服务器端,控制与外部设备的所有通信协议。我认为大多数触摸手势事件都可以在web上处理,我们将拥有一个干净的应用程序,将UI和业务分开。。。但这并不是真的必要,因为我们谈论的是桌面应用程序

    另一方面,我们有一个Windows8应用程序的方法,有一个纯粹的“触摸优先”应用程序的好处。但让我感到不舒服的是,我担心它会变成“代码地狱”,就像我之前所说的那样,因为Javascript不是最有组织的语言(尽管WinJS做出了努力)

    所以,我很想听听那些有Windows8HTML/Javascript经验的人,他们认为这种应用程序是否可以用这种技术来负担,或者是否最好采用服务器-客户机模式

    谢谢你的建议

    编辑:

    更多信息:

    它是一个Windows桌面应用程序,我们不需要在任何其他平台上部署它,包括Windows Phone。 Netlinx是AMX的专用编程语言。它是一种模块化的低级语言。 我们如何管理通信协议的一个真正简化的示例如下:

    用户按下按钮

        /****** User UI *****/
    
    //Receives button event
    BUTTON_EVENT[UIdevice, buttonId]
    {
    push:
    {
        send_command deviceController, "START_VIDEOCONFERENCE"
    }
    }
    
    //The UI receives orders from the controller
    DATA_EVENT[UIdevice]
    {
    string:
    {
        ...
        if(data.text == "VIDEOCONFERENCE_STARTED")
            //Set the button state to ON
            on[UIdevice, buttonId]
    }
    }
    
    
    /**** Videoconference controller ****/
    
    //The controller receives orders from the UI
    DATA_EVENT[deviceController]
    {
    command:
    {
        ...
        if(data.text == "START_VIDEOCONFERENCE")
            send_string serialPort, "something_in_videoconference_protocol_to_start"
        ...
    }
    }
    
    //The controller receives responses and asynchronous messages from the real device
    DATA_EVENT[serialPort]
    {
    string:
    {
        ...
        if(data.text == "VIDEOCONFERENCE_STARTED")
            //tell UIDevice to refresh button status
            send_string UIdevice, "VIDEOCONFERENCE_STARTED"
    }
    }
    
    因此,该应用程序有两个主要部分:

    处理所有触摸屏事件的UI。它还必须管理从控制器接收到的消息

    以及控制器,其必须通过串行端口、telnet套接字或其他方式启动并保持与真实设备的通信,并向设备发送/接收命令;从UI事件引发的命令。因此,控制器有一个后台任务来保持与设备的连接处于活动状态并侦听其异步消息,还有一个前台任务来侦听UI命令,以便向设备发送相应的命令

    很抱歉问了这么多问题,但我只是想尽力解释一下。如果有什么需要解释的,就告诉我


    再次感谢你的帮助

    web应用程序将允许您更紧密地反映当前的系统架构。在大多数控制系统(AMX、快思聪等)中,中央控制器处理所有核心逻辑和设备通信,然后分离的UI仅提供用户输入事件以及显示反馈。这与web应用服务器/客户端分离的实现非常相似,实现起来应该相对简单


    也就是说,选择本机应用程序将使服务器端能够被删除,从而降低整个系统的复杂性。根据所使用的设备通信,这可能需要一些额外的硬件(RS-232到以太网网关等),以确保可以与所有设备保持通信。这种方法的主要缺点是,您的整个系统将变得短暂。也就是说,您不再拥有跟踪所有设备状态并可用于响应设备生成的输入的持久组件(服务器端)。这可能不会对您的用例产生重大影响,但是这些系统中的许多系统将主要由链接的设备行为组成(即传入视频会议呼叫触发器显示激活、信号路由、用户警报或来自IP摄像头的运动感测触发照明系统的更改等)。此外,当您与用户打交道时,您需要首先收集系统状态,以便通过轮询设备显示适当的UI,这将影响UI的延迟。根据您的设备API,某些信息可能仅在设备运行期间通过异步事件显示。假设主机设备保持与各种系统组件的连接(不与网络断开连接或被关闭),上述部分任务将能够由RT中的后台任务处理,但在允许的CPU使用、事件调度和网络使用方面存在限制。根据应用程序是否已放置在用户锁定屏幕上,它们也分为两类。更进一步。

    你的问题对StackOverflow来说实在太宽泛了。例如,您是否对特定功能有疑问?这是仅限Windows的应用程序吗?我从未听说过NetLinx,所以我无法将其与JavaScript进行比较。当JavaScript的结构与现代模式一致时,它可以像许多其他编程语言一样组织起来。谢谢你的回答!对于这样的问题我很抱歉。。。我想要的只是那些使用Windows 8应用程序的人的意见,他们告诉我“是的,用HTML/Javascript/WinRT开发这样的应用程序是可以承受的”或者“不,最好在另一个框架中思考,因为Windows 8应用程序