本发明专利技术公开一种混合模式智能手机应用开发框架,其包括JS SDK框架、客户端框架和服务端框架;JS SDK框架包括控制层、接口层和调度层,控制层包括内置组件模块和内置控件模块,接口层包括友好接口和JS订阅接口,调度层包括JS接口调度器和WebviewJsBridge对象模块;客户端框架用于给离线包页面模式Hybrid APP的web页面提供运行环境;服务端框架包括服务端控制层、服务层和数据接入层;服务端控制层用于页面上的操作与底层的连接和交互;服务层以插件形式接入内核,为服务端控制层提供支持;数据接入层以插件形式接入内核,提供网络请求和sqlite数据操作。本发明专利技术为应用程序功能需求的快速迭代开发、在线部署、搭积木式整合提供了整套的解决方案。
【技术实现步骤摘要】
混合模式智能手机应用开发框架
本专利技术涉及一种手机应用开发框架,尤其涉及一种混合模式智能手机应用开发框架。
技术介绍
现有的PhoneGap,Cordova,Hytive等Hybrid框架主要通过向页面js代码提供原生能力接口,使页面可以调用APP原生代码的功能,从而使web页面获得类似原生页面的控制能力和操作体验;并且通过开放插件开发的方式,使开发者可以定制自己的js服务接口。然而,上述框架存在如下问题:第一、现有框架主要解决混合模式这一单一问题,没有提供离线包服务、服务器对接、日志、监控、缓存等解决方案。第二、现有框架不够通用,第三方除了按照规范开发插件提供自由js接口服务,不能针对框架本身的功能进行二次开发。第三、在实际应用中,很难将现有框架作为大型客户端项目的总体编程架构框架来使用,只能将其作为项目中的hybrid能力支持模块进行整合,而在现有项目架构下,整合入这些hybrid模块,削弱原生模块与hybrid模块的交互能力(例如:无法在原生模块和hybrid模块中共享一个运行时对象),并且使项目变得厚重,降低代码的可维护性和健壮性。综上,有必要设计一种混合模式智能手机应用开发框架来弥补上述缺陷。
技术实现思路
本专利技术提出一种混合模式智能手机应用开发框架,其用于解决现有技术中开发框架不够通用、不能进行二次开发等技术问题。本专利技术是对现有Hybrid模式开发框架和MVC模式开发框架的统合和扩充,其可以作为大型Hybrid模式应用程序的TLA(TopLevelAggregator)框架使用,为应用程序功能需求的快速迭代开发、在线部署、搭积木式整合提供了整套的解决方案。本专利技术的技术方案是这样实现的:本专利技术公开一种混合模式智能手机应用开发框架,其包括JSSDK框架、客户端框架和服务端框架;JSSDK框架包括控制层、接口层和调度层,控制层包括内置组件模块和内置控件模块,接口层包括友好接口和JS订阅接口,调度层包括JS接口调度器和WebviewJsBridge对象模块;JS接口调度器用于对WebviewJsBridge对象模块进行封装,对接口调用方式进行抽象并提供泛化的调用方式;JS订阅接口用于对原生平台底层的对象进行订阅和通知;友好接口用于通过JS接口调度器与底层交互;内置组件模块和内置控件模块用于在页面中引用显示元素;客户端框架用于给离线包页面模式HybridAPP的web页面提供运行环境,其包括离线页面包同步机制模块、框架内核、原生功能支持模块、监控机制模块、缓存机制模块和容错机制模块;框架内核包括Webview容器、JsBridge代理模块、控制器接入器、运行时对象池模块、控制器代理模块、框架内置控制器、插件代理模块、框架内置插件、运营数据代理模块、图片缓存代理模块、框架内置数据库插件和框架内置网络协议插件;Webview容器用于提供web页面运行的基础环境,其与JS粘合机制模块对接;JsBridge代理模块用于封装JsBridge框架,并提供程序接口供下层的模块接入;控制器接入器用于自动获取控制器实例,并将页面传递过来的请求按规则转发到相应的控制器对象中;运行时对象池模块用于保存框架和业务运行中共享的内存对象,并处理该内存对象的订阅和操作;运营数据代理模块用于实现接入全局异常捕获、监控数据和日志;图片缓存代理模块用于实现Webview中的图片缓存机制;服务端框架包括服务端控制层、服务层和数据接入层;服务端控制层用于页面上的操作与底层的连接和交互;服务层以插件形式接入内核,为服务端控制层提供支持;数据接入层以插件形式接入内核,提供网络请求和sqlite数据操作。其中,JSSDK框架进一步设有原生注入模块、在线引入模块和模拟对象模块;友好接口、JS订阅接口均通过原生注入模块注入至接口层;JS接口调度器、WebviewJsBridge对象模块均通过原生注入模块注入至调度层;内置组件模块、内置控件模块均通过在线引入模块引入至控制层;模拟对象模块用于实现同一套页面代码同时部署在服务器上和作为离线包页面部署。其中,JSSDK框架进一步包括JSSDK支持模块,其通过扩展框架内核提供的抽象控制器和插件,提供支持API实际业务;JSSDK支持模块包括页面跳转处理模块、网络请求处理模块、数据库操作模块、系统API调用模块和运营数据收集上报模块。其中,JS粘合机制模块包括通信协议栈模块,通信协议栈模块用于给上层的业务相关的协议提供支持。其中,通信协议栈模块包括上行协议栈模块和下行协议栈模块,上行协议栈模块通过原生代码主动发起对JS代码的调用;下行协议栈模块通过JS代码主动发起对原生代码的调用。其中,运行时对象池模块用于保存和管理所有框架内共享的内存对象,执行对象的实际操作、维护对象的生命周期并对订阅进行管理;运行时对象池模块包括线程区模块、进程区模块和永久性模块。其中,控制器接入器的应用初始化流程为:(1)搜索所有插件和控制器;(2)实例化控制器和插件;(3)生成被包含插件的代理对象;(4)将实例放入对象池。其中,控制器接入器的控制逻辑调度流程为:(1)根据请求搜索对象;(2)如果对象中包含代理,为代理搜索对象;(3)调用对象中的方法;(4)释放对象。其中,监控机制模块在框架运行的过程中,自动对运行的状况进行实时监控,并将监控数据上传到服务器;监控机制模块的监控数据采集包括:异常监控、性能监控、埋点日志和业务日志。其中,缓存机制模块包括缓存清理模块,缓存清理模块包括自动清理模块和手动清理模块;自动清理模块用于设置缓存空间大小,保留最后被引用文件的清理策略进行缓存空间清理;手动清理模块用于提供手动清理功能,直接清空整个缓存目录。与现有技术相比,本专利技术具有如下优点:(1)本专利技术对客户端程序开发进行通盘考虑,提供了一个极具扩展性的客户端MVC编程架构。开发者可以基于本方案提供的IOC容器方案,对框架中的所有模块进行自定义配置和扩展,从而大大提高了框架的灵活性。因此该框架可以作为大型APP项目的整体开发框架,无论是针对hybrid模式的开发还是纯原生的开发,都可以利用该框架定义的分层结构,以pojo的形式提供业务逻辑,实现代码逻辑的解耦和有效复用,大大提升项目代码的可维护性。(2)本专利技术在MVC架构和IOC容器的基础上,内置了Hybrid支持的模块,开发者可在页面上直接使用内置的hybrid服务接口进行业务开发,也可以开发自己的服务插件扩展原有服务接口。同时,开发者还可对hybrid模块各个层面(包括jsBridge、view、通讯协议、请求协议等)进行定义实现,定制自己的混合模式框架逻辑。框架内置的上下文模块和请求分发器,使得原生模块与hybrid模块之间进行数据传输和功能调度的便利性大大增加。(3)本专利技术提供丰富的功能框架,包括数据监控、日志、缓存、页面包同步、异常捕获等功能的框架,可由开发者自行引入第三方实现,从而实现对现有第三方框架的有效整合。(4)本专利技术不是选择扩展原生的控制层,而是作为控制层的一个依赖,对视图对象进行代理,同时,提供一个自带的服务层,实现对原生控制层逻辑的分担。开发者既可以对自己的原生视图控制层进行有效的开发,又能避免造成一个大而无当的视图控制层(MassiveViewController)。本文档来自技高网...
【技术保护点】
一种混合模式智能手机应用开发框架,其特征在于,其包括JS SDK框架、客户端框架和服务端框架;JS SDK框架包括控制层、接口层和调度层,控制层包括内置组件模块和内置控件模块,接口层包括友好接口和JS订阅接口,调度层包括JS接口调度器和WebviewJsBridge对象模块;JS接口调度器用于对WebviewJsBridge对象模块进行封装,对接口调用方式进行抽象并提供泛化的调用方式;JS订阅接口用于对原生平台底层的对象进行订阅和通知;友好接口用于通过JS接口调度器与底层交互;内置组件模块和内置控件模块用于在页面中引用显示元素;客户端框架用于给离线包页面模式Hybrid APP的web页面提供运行环境,其包括离线页面包同步机制模块、框架内核、原生功能支持模块、监控机制模块、缓存机制模块和容错机制模块;框架内核包括Webview容器、JsBridge代理模块、控制器接入器、运行时对象池模块、控制器代理模块、框架内置控制器、插件代理模块、框架内置插件、运营数据代理模块、图片缓存代理模块、框架内置数据库插件和框架内置网络协议插件;Webview容器用于提供web页面运行的基础环境,其与JS粘合机制模块对接;JsBridge代理模块用于封装JsBridge框架,并提供程序接口供下层的模块接入;控制器接入器用于自动获取控制器实例,并将页面传递过来的请求按规则转发到相应的控制器对象中;运行时对象池模块用于保存框架和业务运行中共享的内存对象,并处理该内存对象的订阅和操作;运营数据代理模块用于实现接入全局异常捕获、监控数据和日志;图片缓存代理模块用于实现Webview中的图片缓存机制;服务端框架包括服务端控制层、服务层和数据接入层;服务端控制层用于页面上的操作与底层的连接和交互;服务层以插件形式接入内核,为服务端控制层提供支持;数据接入层以插件形式接入内核,提供网络请求和sqlite数据操作。...
【技术特征摘要】
1.一种混合模式智能手机应用开发框架,其特征在于,其包括JSSDK框架、客户端框架和服务端框架;JSSDK框架包括控制层、接口层和调度层,控制层包括内置组件模块和内置控件模块,接口层包括友好接口和JS订阅接口,调度层包括JS接口调度器和WebviewJsBridge对象模块;JS接口调度器用于对WebviewJsBridge对象模块进行封装,对接口调用方式进行抽象并提供泛化的调用方式;JS订阅接口用于对原生平台底层的对象进行订阅和通知;友好接口用于通过JS接口调度器与底层交互;内置组件模块和内置控件模块用于在页面中引用显示元素;客户端框架用于给离线包页面模式HybridAPP的web页面提供运行环境,其包括离线页面包同步机制模块、框架内核、原生功能支持模块、监控机制模块、缓存机制模块和容错机制模块;框架内核包括Webview容器、JsBridge代理模块、控制器接入器、运行时对象池模块、控制器代理模块、框架内置控制器、插件代理模块、框架内置插件、运营数据代理模块、图片缓存代理模块、框架内置数据库插件和框架内置网络协议插件;Webview容器用于提供web页面运行的基础环境,其与JS粘合机制模块对接;JsBridge代理模块用于封装JsBridge框架,并提供程序接口供下层的模块接入;控制器接入器用于自动获取控制器实例,并将页面传递过来的请求按规则转发到相应的控制器对象中;运行时对象池模块用于保存框架和业务运行中共享的内存对象,并处理该内存对象的订阅和操作;运营数据代理模块用于实现接入全局异常捕获、监控数据和日志;图片缓存代理模块用于实现Webview中的图片缓存机制;服务端框架包括服务端控制层、服务层和数据接入层;服务端控制层用于页面上的操作与底层的连接和交互;服务层以插件形式接入内核,为服务端控制层提供支持;数据接入层以插件形式接入内核,提供网络请求和sqlite数据操作。2.如权利要求1所述的混合模式智能手机应用开发框架,其特征在于,JSSDK框架进一步设有原生注入模块、在线引入模块和模拟对象模块;友好接口、JS订阅接口均通过原生注入模块注入至接口层;JS接口调度器、WebviewJsBridge对象模块均通过原生注入模块注入至调度层;内置组件模块、内置控件模块均通...
【专利技术属性】
技术研发人员:林茂,
申请(专利权)人:广州天高软件科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。