CN102904925B - 一种基于三屏互动的跨平台widget中间件系统 - Google Patents

一种基于三屏互动的跨平台widget中间件系统 Download PDF

Info

Publication number
CN102904925B
CN102904925B CN201210311547.4A CN201210311547A CN102904925B CN 102904925 B CN102904925 B CN 102904925B CN 201210311547 A CN201210311547 A CN 201210311547A CN 102904925 B CN102904925 B CN 102904925B
Authority
CN
China
Prior art keywords
layer
widget
platform
core
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210311547.4A
Other languages
English (en)
Other versions
CN102904925A (zh
Inventor
刘剑飞
肖建
文斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201210311547.4A priority Critical patent/CN102904925B/zh
Publication of CN102904925A publication Critical patent/CN102904925A/zh
Application granted granted Critical
Publication of CN102904925B publication Critical patent/CN102904925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及widget应用开发技术,其公开了一种基于三屏互动的跨平台widget中间件系统。该系统包括:平台移植层,位于中间件系统最底层,用于将不同的移动终端设备,与各种移动操作系统的功能以及API封装成接口,供上层调用,所述平台移植层囊括了手机、机顶盒、平板电脑的硬件功能接口;核心层,位于平台移植层之上,用于提供widget应用的运行环境,衔接应用层与平台移植层,实现xhtml、xml、样式层叠表、DOM、脚本语言的解析和Ajax交互功能,以及根据上层指令调用平台移植层的接口;应用层,位于核心层之上的类似web应用,用于为widget开发者定制开发相应的widget应用提供支持。本发明适用于widget应用的开发。

Description

一种基于三屏互动的跨平台widget中间件系统
技术领域
本发明涉及widget应用开发技术,具体的说,是涉及一种基于三屏互动的跨平台widget中间件系统。
背景技术
随着移动互联网的迅速发展,基于各种终端设备的widget应用层出不穷。但是各种终端平台却参差不齐,没有一个主流品牌的终端和操作系统在目前的市场中占据绝对主流地位。要推广widget应用的普及以及在各种平台上稳定的运行,就需要做大量的代码移植和兼容性的工作。这样就对widget开发者,或使用widget应用的用户带来了极大的不便。因此,有必要提出一种能够实现跨平台应用的widget中间件系统,以方便用户使用。
发明内容
本发明所要解决的技术问题是:提出一种基于三屏互动的跨平台widget中间件系统,方便widget开发者实现跨平台的widget应用开发。
本发明解决上述技术问题所采用的方案是:一种基于三屏互动的跨平台widget中间件系统,包括:
平台移植层,所述平台移植层位于中间件系统最底层,用于将不同的移动终端设备,与各种移动操作系统的功能以及API封装成接口,供上层调用,所述平台移植层囊括了手机、机顶盒、平板电脑的硬件功能接口;
核心层,所述核心层位于平台移植层之上,用于提供widget应用的运行环境,衔接应用层与平台移植层,实现xhtml、xml、样式层叠表、DOM、脚本语言的解析和Ajax交互功能,以及根据上层指令调用平台移植层的接口;所述核心层采用CHWebKit内核,其包括Core部分和Little JS Core部分,其中Core部分是CHWebkit的核心部分,用于实现对文档的模型化,包括DOM,CSS的实现;Little JS Core部分实现对JavaScript解析功能的裁剪,仅支持部分JavaScript功能
应用层,所述应用层为位于核心层之上的类似web应用,用于为widget开发者定制开发相应的widget应用提供支持。
进一步,所述平台移植层包括一个由c++语言封装的库,提供给核心层调用,其包括的文件有:
CacheManager.cpp、CacheSyncManger.cpp,负责同步RAM和FLASH之间的浏览器Cache数据;
CallbackProxy.cpp,用于处理Core与UI线程消息代理,当有Web事件产生时Core线程会调用该文件回调代理,通过消息方式通知UI线程,并且调用设置的客户对象的回调函数;
CellList.cpp,用于管理图片的绘制,定义图片集合中的Cell,状态改变以及索引;
LoaderListener.cpp,用于处理载入器侦听消息;
NetWork.cpp,用于为调用者提供更高级的网络连接接口;
PerfChecker.cpp,用于效率测试的功能对象;
SslErrorHandler.cpp,用于处理安全套接层SSL错误消息。
进一步,所述widget应用包括:文字图片阅读,新闻金融信息实时更新,音视频播放,金融支付,评价排名互动。
本发明的有益效果是:使基于该中间件的widget应用只需一次开发,就可以跨平台的运行在智能手机,平板电脑,机顶盒等各种终端设备上;同时,针对三网融合的需求,可实现网络无缝联接,并且具有较强交互性的云服务功能。
附图说明
图1为本发明中的widget中间件系统结构示意图;
图2为传统技术的中间件核心层所采用的内核引擎结构示意图;
图3为本发明的中间件核心层所采用的内核引擎结构示意图。
具体实施方式
本发明提出了一种基于三屏互动的跨平台widget中间件系统,方便widget开发者实现跨平台的widget应用开发。下面结合附图对本发明的技术方案作进一步的描述。
如图1所示,本发明中的widget中间件系统分为三层,从下往上依次为平台移植层,核心层,应用层;下面分别对每个层进行具体介绍:
平台移植层位于中间件最底层,是将不同移动终端设备,与各种移动操作系统如:windowsmobile、android、symbian、MediaTek(MTK)、恩智浦(NXP)、Nippon Electric Company(NEC)、意法半导体(ST)、BroadComNXP等等的功能以及API等封装成接口,供上层调用。为了实现三网融合的目的,平台移植层囊括了手机,机顶盒,平板电脑等硬件的功能接口。囊括的功能和接口,根据三网融合和提供云服务等需求而定,不需要全部包括,定制设计。平台移植层根据上层的需求,首先判断所基于的平台及硬件;然后,调用平台移植层所封装的该平台及硬件的包。上层用户使用该中间件,就能到达跨平台跨网络的目标,体验移动互联网无缝联接;widget应用开发者一次开发,各平台通用。
核心层位于平台移植层之上,是widget中间件的核心,关键技术所在,提供widget应用的运行环境,衔接应用层与平台移植层。主要功能是实现eXtensible HyperText MarkupLanguagexhtml(xml),样式层叠表(css),文件物件模型Document Object Model(DOM),脚本语言的解析和异步的JavaScript与XML技术,即Asynchronous JavaScript and XML(AJAX)交互等功能,以及根据上层指令调用移植层的接口。
由于本中间件是基于三屏互动而定制,因此中间件对脚本语言的解析进行了裁减,量身而制,更加轻量级化。使性能较低的硬件运行该中间件,占用硬件资源低,应用运行更流畅,绚丽。
为了增强交互性,核心层实现了Ajax的异步请求等基本技术,使开发的widget应用具有更强的云服务交互性。
应用层是直接运行在核心层上的类似web应用,应用开发者可以直接采用传统的web2.0开发方式,直接开发出的应用不仅跨平台,而且充分体现widget应用的特点,可以做得炫丽,轻巧,互动性强,具有个性化。
本widget中间件的发明,使基于该中间件的widget应用只需一次开发,就可以跨平台的运行在智能手机,平板电脑,机顶盒等各种终端设备上。同时,针对三网融合的需求,可实现网络无缝联接,并且具有较强交互性的云服务功能。
基于三屏互动的跨平台widget中间件,可实现的应用模块包括:文字图片阅读,新闻金融信息实时更新,音视频播放,金融支付,评价排名互动等等。
为体现本发明的widget中间件相对于传统技术的创造性,现针对传统技术的widget中间件与本发明的widget中间件进行各层的对比:
1、核心层
传统中间件核心层大多使用webkit、Trident、Gecko等内核引擎。Geocko功能强,开源,但太庞大,搬上手机和机顶盒等平台困难。Trident功能强,非开源,移植性成问题。WebKit功能强,开源,移植性和跨平台性都较好。因此很多传统的中间件如果不是仅仅基于个人电脑平台,有跨平台的需求大多采用webkit作为内核引擎,其结构如图2所示,图示中的Webkit部分包含对不同平台如个人电脑,手机等,对Webkit封装的实现。WebCore是Webkit的核心部分,它实现了对文档的模型化,包括DOM,CSS,Render等的实现;JavaScript Core是对JavaScript支持的实现。
而本发明中的基于三屏互动的跨平台widget中间件,并未使用开源的webkit作为内核。而是考虑需兼容各种机顶盒平台如MediaTek(MTK)、恩智浦(NXP)、Nippon Electric Company(NEC)、意法半导体(ST)、BroadCom等量身定制的。内核引擎名为CHWebKit,其结构如图3所示,图示的CHWebkit部分包含对不同平台如个人电脑,手机,机顶盒等,对Webkit封装的实现。与目前传统的中间件比较,大多都是基于个人电脑或者高端手机,而该中间件核心兼容机顶盒平台。Core而是出CHWebkit的核心部分,它实现了对文档的模型化,主要对DOM,CSS的实现。Little JS Core是对JavaScript部分支持的实现,考虑机顶盒平台的开销及性能,对解析xhtml,JavaScript,css的功能进行裁减,例如,该模块主要支持DOM树型结构解析等功能,可实现getElementById(),getElementsByTagName()等对节电(Node)的捕获,但对frames,document.write(),innerHTML,innerText,以及数组等方式无法实现捕获和解析;同时该模块不支持第三方JavaScript包的引用,这样使得内核更轻量化,定制化。
2、平台移植层
传统中间件平台移植层一般是封装相应平台的相关接口。
基于三屏互动的跨平台widget中间件,针对机顶盒平台,较传统中间件移植层多一个由c++语言封装的库,提供给核心层调用。包括的文件主要有:
CacheManager.cpp、CacheSyncManger.cpp作用是Cache同步管理对象,负责同步RAM和FLASH之间的浏览器Cache数据。实际的物理数据操作在WebSyncManager中完成。
CallbackProxy.cpp该文件用于处理Core与UI线程消息代理。当有Web事件产生时Core线程会调用该文件回调代理,通过消息方式通知UI线程,并且调用设置的客户对象的回调函数。
CellList.cpp管理图片的绘制,定义图片集合中的Cell,状态改变以及索引。
LoaderListener.cpp载入侦听器,用于处理载入器侦听消息。
NetWork.cpp封装网络连接逻辑,为调用者提供更高级的网络连接接口。
PerfChecker.cpp用于效率测试的功能对象。
SslErrorHandler.cpp用于处理安全套接层Secure Sockets Layer(SSL)错误消息。
3、应用层
应用层与传统中间件的区别在于,应用开发对JavaScript的某些方法和第三方JavaScript库有一定限制,但开发的应用在高中低平台上都可流畅运行。

Claims (3)

1.一种基于三屏互动的跨平台widget中间件系统,其特征在于,包括:
平台移植层,所述平台移植层位于中间件系统最底层,用于将不同的移动终端设备,与各种移动操作系统的功能以及API封装成接口,供上层调用,所述平台移植层囊括了手机、机顶盒、平板电脑的硬件功能接口;
核心层,所述核心层位于平台移植层之上,用于提供widget应用的运行环境,衔接应用层与平台移植层,实现xhtml、xml、样式层叠表、DOM、脚本语言的解析和Ajax交互功能,以及根据上层指令调用平台移植层的接口;所述核心层采用CHWebKit内核,其包括Core部分和Little JS Core部分,其中Core部分是CHWebkit的核心部分,用于实现对文档的模型化,包括DOM,CSS的实现;Little JS Core部分实现对JavaScript解析功能的裁剪,仅支持部分JavaScript功能;
应用层,所述应用层为位于核心层之上的类似web应用,用于为widget开发者定制开发相应的widget应用提供支持。
2.如权利要求1所述的一种基于三屏互动的跨平台widget中间件系统,其特征在于,所述平台移植层包括一个由c++语言封装的库,提供给核心层调用,其包括的文件有:
CacheManager.cpp、CacheSyncManger.cpp,负责同步RAM和FLASH之间的浏览器Cache数据;
CallbackProxy.cpp,用于处理Core与UI线程消息代理,当有Web事件产生时Core线程会调用该文件回调代理,通过消息方式通知UI线程,并且调用设置的客户对象的回调函数;
CellList.cpp,用于管理图片的绘制,定义图片集合中的Cell,状态改变以及索引;
LoaderListener.cpp,用于处理载入器侦听消息;
NetWork.cpp,用于为调用者提供更高级的网络连接接口;
PerfChecker.cpp,用于效率测试的功能对象;
SslErrorHandler.cpp,用于处理安全套接层SSL错误消息。
3.如权利要求1或2所述的一种基于三屏互动的跨平台widget中间件系统,其特征在于,所述widget应用包括:文字图片阅读,新闻金融信息实时更新,音视频播放,金融支付,评价排名互动。
CN201210311547.4A 2012-08-29 2012-08-29 一种基于三屏互动的跨平台widget中间件系统 Active CN102904925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210311547.4A CN102904925B (zh) 2012-08-29 2012-08-29 一种基于三屏互动的跨平台widget中间件系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210311547.4A CN102904925B (zh) 2012-08-29 2012-08-29 一种基于三屏互动的跨平台widget中间件系统

Publications (2)

Publication Number Publication Date
CN102904925A CN102904925A (zh) 2013-01-30
CN102904925B true CN102904925B (zh) 2015-04-01

Family

ID=47576960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210311547.4A Active CN102904925B (zh) 2012-08-29 2012-08-29 一种基于三屏互动的跨平台widget中间件系统

Country Status (1)

Country Link
CN (1) CN102904925B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683868A (zh) * 2013-11-29 2015-06-03 上海未来宽带技术股份有限公司 基于机顶盒的动画效果的实现系统及方法
CN105022952B (zh) * 2014-04-28 2018-03-16 深圳市茁壮网络股份有限公司 一种中间件授权认证方法及装置
CN104102859B (zh) * 2014-07-09 2017-12-19 深圳市茁壮网络股份有限公司 一种基于JavaScript的中间件授权方法及装置
CN104636147B (zh) * 2015-03-09 2016-05-25 北京恒华伟业科技股份有限公司 一种跨平台移动应用的实现方法和系统
CN107608675B (zh) * 2017-09-27 2020-05-01 微景天下(北京)科技有限公司 基于虚拟文档对象模型的跨平台前端开发系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930366A (zh) * 2010-08-27 2010-12-29 武汉天喻信息产业股份有限公司 一种基于浏览器的手机中间件

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101930366A (zh) * 2010-08-27 2010-12-29 武汉天喻信息产业股份有限公司 一种基于浏览器的手机中间件

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Mobile Widget——新一代移动互联网应用技术;杨晓华,程宝平,朱春梅;《电信科学》;20110225(第02期);全文 *
基于Widget技术移动终端应用集成方案的设计与实现;王艳艳;《万方学位论文数据库》;20081106;全文 *
基于Widget的终端能力开放技术研究;李慧云,文锦军,钟伟彬,何震苇;《电信科学》;20110415(第04期);正文第21-25页,图2 *
梦里蓝天.webkit-webkit for android.《http://bunnyflying.blog.163.com/blog/static/21156992201091921444768》./,2010,正文第1-18页. *

Also Published As

Publication number Publication date
CN102904925A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN110691136B (zh) 数据交互方法、装置、电子设备及存储介质
US8745573B2 (en) Platform-independent application development framework
US9189207B2 (en) Methods and systems for dynamic runtime generation of customized applications
CN102904925B (zh) 一种基于三屏互动的跨平台widget中间件系统
CN108563517B (zh) 系统接口的调用方法及装置
US11683554B2 (en) Techniques for managing generation and rendering of user interfaces on client devices
CN104951326B (zh) 网页访问方法及装置
CN105930467B (zh) 一种信息处理方法及电子设备
US20130066947A1 (en) System and Method for Managing Applications for Multiple Computing Endpoints and Multiple Endpoint Types
US8966508B2 (en) Method for executing hybrid web application and apparatus therefor
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
EP3191942A1 (en) Interactive web application editor
CN108984174A (zh) 跨平台的应用创建方法、装置、服务器和存储介质
KR20150043333A (ko) 선언형 템플릿을 사용하여 컨트롤을 스탬프 아웃하기 위한 사용자 인터페이스 컨트롤 프레임워크
US20130212559A1 (en) Method and System for Developing Applications for Portable Communication Devices
CN101930366A (zh) 一种基于浏览器的手机中间件
CN110968395B (zh) 一种在模拟器中处理渲染指令的方法及移动终端
TW201743226A (zh) 資料處理方法及裝置
CN112035112B (zh) 应用程序开发方法、系统、介质和电子设备
CN108762956A (zh) 获取Native本地数据的方法、服务器、移动终端及存储介质
JP2023537767A (ja) 画像処理方法及び装置、並びにコンピュータ可読記憶媒体
KR20140101412A (ko) 콜백을 이용하는 isa 브리징
Dixit Android
CN112214250A (zh) 一种应用程序组件的加载方法和装置
CN110069247A (zh) 一种应用程序的开发方法及装置、使用方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant