基于移动跨平台的抽象控件模型实现方法

文档序号:10724559阅读:154来源:国知局
基于移动跨平台的抽象控件模型实现方法
【专利摘要】本发明公开了一种基于移动跨平台的抽象控件模型实现方法,包括,提供原生控件的Document和Element模型的抽象封装,对抽象控件模型的访问getter,通过Document访问指定ID控件的时候,动态创建一个抽象控件,并将抽象控件加入抽象控件模型中,当访问该抽象控件属性时,自动调用服务获取指定原生控件的属性值,并将调用的属性值写入抽象控件中,并返回该属性值,从而得到抽象控件模型的属性值;对抽象控件模型的操作setter,当访问到一个抽象控件模型对象后,设置抽象控件模型的属性值;提供对原生控件类型的强类型封装;提供抽象控件模型与原生控件之间的通讯交互。实现跨平台编程,降低开发人员的移动开发门槛的优点。
【专利说明】
基于移动跨平台的抽象控件模型实现方法
技术领域
[0001 ]本发明涉及移动应用开发领域,具体地,涉及一种基于移动跨平台的抽象控件模型实现方法。
【背景技术】
[0002]移动开发领域中存在着不同的操作系统。软件开发人员不得不需要在不同的移动操作系统和移动设备之间为了兼容而重复进行开发。例如,在Apple环境下使用1S的应用,而在Android平台下使用Java又重复开发一遍,而这些应用如果需要运行在Windows Phone环境下,则有需要使用C#和EVC再开发一遍。移动操作系统的数量决定了为兼容这些操作系统而进行重复开发的工作量。

【发明内容】

[0003]本发明的目的在于,针对上述问题,提出一种基于移动跨平台的抽象控件模型实现方法,以实现跨平台编程,降低开发人员的移动开发门槛的优点。
[0004]为实现上述目的,本发明采用的技术方案是:
一种基于移动跨平台的抽象控件模型实现方法,包括,
提供原生控件的Document和Element模型的抽象封装,从而得到抽象控件模型;
对抽象控件模型的访问getter,通过Document访问指定ID控件的时候,动态创建一个抽象控件,并将抽象控件加入抽象控件模型中,当访问该抽象控件属性时,自动调用服务获取指定原生控件的属性值,并将调用的属性值写入抽象控件中,并返回该属性值,从而得到抽象控件模型的属性值;
对抽象控件模型的操作setter,当访问到一个抽象控件模型对象后,设置抽象控件模型的属性值;
提供对原生控件类型的强类型封装,强类型控件有特定的专属于自己的API,建立原生控件与抽象控件模型的链接,方便操作原生控件;
提供抽象控件模型与原生控件之间的通讯交互,即将Document作为一份控件元数据信息提交给原生控件的原生框架,原生框架通过解析这份控件元数据信息,更新相应的控件,完成对原生控件的操作。
[0005]优选的,上述当访问到一个抽象控件模型对象后,具体使用setAttribute方式设置抽象控件模型的属性值。
[0006]优选的,将原生控件的Document和Element模型进行抽象封装中,通过Document能够访问所有抽象控件模型内的控件,实现动态创建或删除控件。
[0007]优选的,所述提供对原生控件类型的强类型封装中,具体将Element转成强类型控件。
[0008]本发明的技术方案具有以下有益效果:
本发明为了能实现跨平台,开发一套能屏蔽具体的移动平台的统一的、抽象的控件模型。可以完全屏蔽不同移动平台带来的开发的差异性,实现跨平台编程,降低开发人员的移动开发门槛。
[0009]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0010]图1为本发明实施例所述的于移动跨平台的抽象控件模型实现方法的流程图。
【具体实施方式】
[0011]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0012]—种基于移动跨平台的抽象控件模型实现方法,包括,
将原生控件的Document和Element模型进行抽象封装,从而得到抽象控件模型;
对抽象控件模型的访问getter,通过Document访问指定ID控件的时候,动态创建一个抽象控件,并将抽象控件加入抽象控件模型中,当访问该抽象控件属性时,自动调用服务获取指定原生控件的属性值,并将调用的属性值写入抽象控件中,并返回该属性值,从而得到抽象控件模型的属性值;
对抽象控件模型的操作setter,当访问到一个抽象控件模型对象后,设置抽象控件模型的属性值;
提供对原生控件类型的强类型封装,强类型控件有特定的专属于自己的API,建立原生控件与抽象控件模型的链接,方便操作原生控件;
提供抽象控件模型与原生控件之间的通讯交互,即将Document作为一份控件元数据信息提交给原生控件的原生框架,原生框架通过解析这份控件元数据信息,更新相应的控件,完成对原生控件的操作。
[0013]优选的,上述当访问到一个抽象控件模型对象后,具体使用setAttribute方式设置抽象控件模型的属性值。
[0014]优选的,将原生控件的Document和Element模型进行抽象封装中,通过Document能够访问所有抽象控件模型内的控件,实现动态创建或删除控件。
[0015]优选的,所述提供对原生控件类型的强类型封装中,具体将Element转成强类型控件。
[0016]在传统的开发中,针对不同的运行平台,要开发出不同的应用,即需要编写能使用运行其上的代码。例如:开发一个能运行在1S之上的移动应用,通常就需要开发人员使用Object-C语言来进行编码开发,相应的需要在Android操作系统之上的移动应用就需要开发人员使用Java语言按照Android开发方式进行开发,同理,运行平台的差异化越大,开发一款应用软件就需要用不同的编程语言和开发平台来进行开发,这无疑增加了开发人员和开发团队的负担。
[0017]通过抽象控件模型,只需要针对这一套统一的、与平台无关的控件模型就可以实现一次编码而支持在不同运行平台之上运行,无疑会给应用开发人员带来更高的开发效率。
[0018]实现一套抽象控件模型需要有对原生控件的访问和获取方式、与原生控件之间的元数据通讯。如图1所示,具体包括如下:
1、提供对原生控件的Document和EIement模型的抽象封装,提供DOM编程模型。通过Document可以访问所有抽象控件树内的控件,可以实现动态创建、删除控件。
[0019]2、对抽象控件模型的访问getter。在通过Document访问指定ID的控件的时候,会动态创建一个抽象控件,并加入抽象Document模型中。当访问该控件属性时,会自动调用服务获取指定原生控件的属性值写入抽象控件模型中,并返回该属性值。对于开发者而言,就像是通过Element访问属性一样。
[0020]3、对抽象控件模型的操作setter。访问到一个抽象控件模型对象后,可以使用setAttribute方式设置抽象控件模型的属性值。
[0021]4、提供对原生控件类型的强类型封装。提供强类型控件编程模型,可以将Element对象转成强类型控件。每一种强类型控件都有特定的专属于自己的API,可以方便的操作控件。
[0022]5、提供抽象控件模型与原生控件之间的通讯交互。当业务逻辑代码运行完毕后,MVC框架会将Document作为一份控件元数据信息提交给原生框架,原生框架通过解析这份元数据信息,更新相应的控件,完成对原生控件的操作。
[0023]综上所述,本发明具有以下特点:
使用JavaScript语言,使得更多的具有Web开发经验的开发人员能够在最短的时间内通过我们提供的开发平台和开发方式,真正实现编写一次代码,就可以在不同的平台上运行的梦想。
[0024](I)学习成本低。平台提供了生成原生代码的能力,屏蔽了开发人员的学习不同移动平台开发语言的成本,并且提供了基于JavaScript的面向对象、命名空间等主流高级语言特性,使得熟悉这些高级语言的开发人员能有效的过渡到移动开发领域。
[0025](2)开发成本低。Web程序员通过抽象控件DOM编程可以很快的编写出移动应用。
[0026](3)跨平台。只要通过抽象控件编程模型编写一次代码即可,不同的移动平台下都可以运行。
[0027]最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于移动跨平台的抽象控件模型实现方法,其特征在于,包括, 提供原生控件的Document和Element模型的抽象封装,从而得到抽象控件模型; 对抽象控件模型的访问getter,通过Document访问指定ID控件的时候,动态创建一个抽象控件,并将抽象控件加入抽象控件模型中,当访问该抽象控件属性时,自动调用服务获取指定原生控件的属性值,并将调用的属性值写入抽象控件中,并返回该属性值,从而得到抽象控件模型的属性值; 对抽象控件模型的操作setter,当访问到一个抽象控件模型对象后,设置抽象控件模型的属性值; 提供对原生控件类型的强类型封装,强类型控件有特定的专属于自己的API,建立原生控件与抽象控件模型的链接,方便操作原生控件; 提供抽象控件模型与原生控件之间的通讯交互,即将Document作为一份控件元数据信息提交给原生控件的原生框架,原生框架通过解析这份控件元数据信息,更新相应的控件,完成对原生控件的操作。2.根据权利要求1所述的基于移动跨平台的抽象控件模型实现方法,其特征在于,上述当访问到一个抽象控件模型对象后,具体使用setAttribute方式设置抽象控件模型的属性值。3.根据权利要求1或2所述的基于移动跨平台的抽象控件模型实现方法,其特征在于,将原生控件的Document和Element模型进行抽象封装中,通过Document能够访问所有抽象控件模型内的控件,实现动态创建或删除控件。4.根据权利要求1或2所述的基于移动跨平台的抽象控件模型实现方法,其特征在于,所述提供对原生控件类型的强类型封装中,具体将Element转成强类型控件。
【文档编号】G06F9/44GK106095420SQ201610385813
【公开日】2016年11月9日
【申请日】2016年6月3日 公开号201610385813.6, CN 106095420 A, CN 106095420A, CN 201610385813, CN-A-106095420, CN106095420 A, CN106095420A, CN201610385813, CN201610385813.6
【发明人】勾成图, 张建新
【申请人】用友网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1