异步C#-JS数据绑定桥制造技术

技术编号:26045204 阅读:34 留言:0更新日期:2020-10-23 21:25
一种方法和系统提供了用于在不同框架上实现的用户界面和数据模型之间的异步双向绑定。该系统包括数据控制器、数据模型控制器和桥控制器。数据控制器提供前端绑定框架,该前端绑定框架与用户设备的用户界面交互以管理用于用户设备上的视图的可绑定特性或方法。数据模型控制器提供管理数据模型的后端绑定框架,前端绑定框架和后端绑定框架是不同类型的框架。桥控制器为前端绑定框架和后端绑定框架之间的可绑定特性或方法实现异步双向绑定,以当用户界面处数据改变时更新数据模型中的可绑定特性或方法,和当数据模型处数据改变时更新用户设备上的视图。

【技术实现步骤摘要】
【国外来华专利技术】异步C#-JS数据绑定桥
本公开涉及用于跨在不同平台(诸如JavaScript框架和C-sharp(C#)框架)上实现的前端和后端进行数据和方法绑定的多平台桥接方法和系统。
技术介绍
应用(也称为“app”)中的数据绑定涉及模型和视图部件之间的数据自动同步。当模型中的数据改变时,视图反映这改变;并且当视图中的数据改变时,模型也会以异步方式更新。这个过程立即且自动发生,这确保模型和视图始终得以更新。
技术实现思路
目前没有在多平台环境中支持双向绑定的机制,多平台环境诸如具有基于Xamarin的混合多平台app,其中前端和后端在不同的框架上实现。为了解决这些和其它问题,提供了混合多平台绑定桥,其采用桥控制器来促进与用户设备的用户界面(UI)交互的前端绑定框架和与数据模型(例如,视图模型或模型)交互的后端绑定框架之间的异步双向通信。以这种方式,桥控制器可以将具有用于可绑定特性或方法的请求数据的绑定请求从UI经由前端绑定框架传递到后端绑定框架,以在数据模型上实现,并且可以将来自数据模型的用于可绑定特性或方法的数据响应从后端绑定框架传递到前端绑定框架,以更新用户设备的视图部件和UI。绑定桥可以帮助快速开发或设计在HTML/JavaScript用户界面(UI)和C#ViewModel(例如,用XamarinC#、HTML和JavaScript)之间用模型-视图-视图模型(MVVM)架构模式开发的多平台app,并且可以充分利用特定于平台的基础设施在独立或离线app中快速执行代码并改善数据绑定性能。>在示例实施例中,计算机实现的方法和系统涉及提供具有数据控制器的前端绑定框架,该前端绑定框架与用户设备的用户界面交互以管理用于用户设备上的视图的可绑定特性或方法;提供具有数据模型控制器的后端绑定框架,该后端绑定框架管理数据模型,前端绑定框架和后端绑定框架是不同类型的框架;以及经由桥控制器为前端绑定框架的数据控制器和后端绑定框架之间的可绑定特性或方法实现异步双向绑定,以当用户界面处数据改变时更新数据模型中的可绑定特性或方法,和当数据模型处数据改变时更新用户设备上的视图。前端绑定框架可以是Javascript绑定框架,而后端绑定框架可以是C#绑定框架。该计算机实现的方法和系统还可以涉及在前端绑定框架处从用户界面接收具有针对绑定特性或方法的请求数据的绑定请求。该实现操作可以包括异步地从数据控制器获得与绑定请求对应的发布消息。该发布消息可以至少包括与绑定请求相关联的对等体标识符、绑定类型和动词。该实现操作还可以包括解析该发布消息;并基于经解析的发布消息将桥接请求(例如,来自桥控制器的请求)调度到数据模型控制器,以至少根据绑定类型和动词对数据模型执行实现。该计算机实现的方法和系统还可以涉及在前端绑定框架中针对绑定请求生成请求对象;将请求对象放在前端绑定框架中的回调队列上;并在前端绑定框架中为请求对象生成发布消息。请求对象可以至少包括与绑定请求相关联的对等体标识符、绑定类型和动词。在另一个示例中,实现操作还可以涉及接收数据模型响应(例如,来自数据模型的响应)作为对桥接请求的答复;在桥控制器处解析数据模型响应;并基于经解析的数据模型响应将具有来自数据模型的数据的桥接响应发送到前端绑定框架。数据模型响应可以包括与来自数据模型的绑定特性或方法相关联的值和对等体标识符。此外,该计算机实现的方法和系统还可以涉及根据对等体标识符访问回调队列以识别与数据模型响应对应的请求对象;并响应于绑定请求,经由具有来自数据模型的数据的桥接响应为请求对象调用回调函数以更新用户界面的视图。附图说明结合附图解释各种示例实施例的描述,其中:图1图示了根据本公开的示例实施例的示例计算环境的框图,该示例计算环境通过桥控制器来实现绑定桥以促进跨多平台环境的数据绑定。图2图示了根据本公开的示例实施例的示例桥控制器的功能框图,该示例桥控制器促进跨多平台环境的数据绑定。图3图示了根据本公开的示例实施例的示例桥控制器的更详细的功能框图,该示例桥控制器促进跨多平台环境的数据绑定。图4图示了根据本公开的示例实施例的跨多平台环境实现的示例数据绑定处理的流程图。图5图示了根据本公开的示例实施例的示例请求协议定义。图6图示了根据本公开的示例实施例的示例响应协议定义。图7图示了根据本公开的示例实施例的示例请求格式。图8图示了根据本公开的示例实施例的示例响应格式。图9图示了根据本公开的示例实施例的示例支持的可绑定数据类型。图10至图12图示了用户界面的示例页面或屏幕,该示例页面或屏幕允许用户在计算机设备上设置或配置用于双向绑定的app。具体实施方式提供了一种系统和方法,以在多平台环境中使用绑定桥来促进诸如数据和/或方法绑定之类的绑定,该多平台环境针对前端和后端采用不同的框架。在示例中,可以使用Javascript(JS)来实现前端框架,并且可以使用C#(也称为C-sharp)来实现后端框架,反之亦然。前端框架包括具有数据控制器的前端数据绑定框架,该前端数据绑定框架例如经由HTML通过前端应用与用户设备的用户界面(UI)交互,以在UI上提供(一个或多个)视图及视图的更新。后端框架包括具有数据模型控制器的后端数据绑定框架,以管理和更新数据模型(例如,视图模型或模型)。经由桥控制器实现的绑定桥以异步方式在前端(例如,JS/HTML前端)和后端(例如,C#后端)之间提供双向通信和绑定,诸如数据和/或方法绑定。桥控制器与前端绑定框架和后端绑定框架通信。以这种方式,绑定桥可以例如在两个不同的绑定框架(诸如C#和JS)之间提供异步通信层,并且例如在HTML/JS前端和C#后端之间创建可移植的绑定层。因此,桥控制器允许HTML/JS前端和C#后端之间进行直接通信,以实现异步双向数据绑定。例如,绑定桥可以被配置为在Android中跨C#-JS层注入多种数据类型(例如,JS(Java.lang)对象)并对消息进行排队;针对iOS以IWKScriptMessage句柄从JS俘获消息;并在Windows10中执行WinRT部件排队。下面将参考附图更详细地描述绑定桥及其一般操作的示例。绑定桥可以帮助快速开发或设计在HTML/JavaScript(UI)用户界面与C#ViewModel(例如,用XamarinC#、HTML和JavaScript)之间用模型-视图-视图模型(MVVM)架构模式或其它视图-模型架构模式开发的多平台应用,并且可以充分利用特定于平台的基础设施来在独立或离线app中快速执行代码并改善数据绑定性能。此外,双向绑定基础设施的异步性质使UI释放出来以在绑定请求挂起的同时执行其它任务。I.架构图1图示了根据本公开的示例实施例的示例计算环境100的框图,该示例计算环境通过桥控制器来实现绑定桥以促进跨多平台环境的数据绑定。如图1中所示,计算环境100包括用户界面(UI)110(例如,用户界面或web视图)、前端框架的前端绑定框架的数据控本文档来自技高网...

【技术保护点】
1.一种计算机实现的方法,包括:/n提供具有数据控制器的前端绑定框架,该前端绑定框架与用户设备的用户界面交互以管理用于用户设备上的视图的可绑定特性或方法;/n提供具有数据模型控制器的后端绑定框架,该后端绑定框架管理数据模型,前端绑定框架和后端绑定框架是不同类型的框架;以及/n经由桥控制器为前端绑定框架的数据控制器和后端绑定框架之间的可绑定特性或方法实现异步双向绑定,以当用户界面处数据改变时更新数据模型中的可绑定特性或方法,和当数据模型处数据改变时更新用户设备上的视图。/n

【技术特征摘要】
【国外来华专利技术】20171228 US 15/857,0261.一种计算机实现的方法,包括:
提供具有数据控制器的前端绑定框架,该前端绑定框架与用户设备的用户界面交互以管理用于用户设备上的视图的可绑定特性或方法;
提供具有数据模型控制器的后端绑定框架,该后端绑定框架管理数据模型,前端绑定框架和后端绑定框架是不同类型的框架;以及
经由桥控制器为前端绑定框架的数据控制器和后端绑定框架之间的可绑定特性或方法实现异步双向绑定,以当用户界面处数据改变时更新数据模型中的可绑定特性或方法,和当数据模型处数据改变时更新用户设备上的视图。


2.如权利要求1所述的计算机实现的方法,其中前端绑定框架是Javascript绑定框架,并且后端绑定框架是C#绑定框架。


3.如权利要求1所述的计算机实现的方法,还包括:
在前端绑定框架处从用户界面接收具有针对绑定特性或方法的请求数据的绑定请求,
其中所述实现包括:
异步地从数据控制器获得与绑定请求对应的发布消息,该发布消息至少包括与绑定请求相关联的对等体标识符、绑定类型和动词;
解析该发布消息;以及
基于经解析的发布消息将桥接请求调度到数据模型控制器,以至少根据绑定类型和动词对数据模型执行实现。


4.如权利要求3所述的计算机实现的方法,还包括:
在前端绑定框架中针对绑定请求生成请求对象,该请求对象至少包括与绑定请求相关联的对等体标识符、绑定类型和动词;
将请求对象放在前端绑定框架中的回调队列上;以及
在前端绑定框架中为请求对象生成发布消息。


5.如权利要求3所述的计算机实现的方法,其中所述实现还包括:
从数据模型接收作为对桥接请求的答复的数据模型响应,该数据模型响应包括与来自数据模型的绑定特性或方法相关联的值和对等体标识符;
在桥控制器处解析数据模型响应;以及
基于经解析的数据模型响应将具有来自数据模型的数据的桥接响应发送到前端绑定框架。


6.如权利要求5所述的计算机实现的方法,还包括:
根据对等体标识符访问回调队列以识别与数据模型响应对应的请求对象;以及
响应于绑定请求,经由具有来自数据模型的数据的桥接响应为请求对象调用回调函数以更新用户界面的视图。


7.如权利要求1所述的计算机实现的方法,其中提供操作和实现操作在移动设备上执行。


8.一种计算机系统,用于在不同框架上实现的用户设备的用户界面和数据模型之间提供异步双向绑定,该计算机系统包括:
存储器;以及
一个或多个处理器,所述一个或多个处理器实现:
数据控制器,提供前端绑定框架,该前端绑定框架与用户设备的用户界面交互以管理用于用户设备上的视图的可绑定特性或方法;
数据模型控制器,提供后端绑定框架,该后端绑定框架管理数据模型,前端绑定框架和后端绑定框架是不同类型的框架;以及
桥控制器,为前端绑定框架的数据控制器和后端绑定框架之间的可绑定特性或方法实现异步双向绑定,以当用户界面处数据改变时更新数据模型中的可绑定特性或方法,和当数据模型处数据改变时更新用户设备上的视图。


9.如权利要求8所述的计算机系统,其中前端绑定框架是Javascript绑定框架,并且后端绑定框架是C#绑定框架。


10.如权利要求8所述的计算机系统,其中数据控制器被配置为在前端绑定框架处从用户界面接收具有针对绑定特性或方法的请求数据的绑定请求,以及
其中桥控制器还被配置为:
异步地从数据控制器获得与绑定请求对应的发布消息,该发布消息至少包括与绑定请求相关联的对等体标识符、绑定类型和动词;
解析该发布消息;以及
基于经...

【专利技术属性】
技术研发人员:L·亚达弗S·洛伊C·帕特尔
申请(专利权)人:阿韦瓦软件有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利