应用程序的组件化开发方法、系统、设备和存储介质技术方案

技术编号:35745581 阅读:10 留言:0更新日期:2022-11-26 18:50
本发明专利技术公开了一种应用程序的组件化开发方法、系统、设备和存储介质。通过本发明专利技术提供的技术方案,通过页面库模块、组件库模块、状态管理模块以及请求管理模块实现了对于应用程序,特别是小程序的组件化技术实现。可以理解的是,由于所有的业务逻辑都可以通过状态管理模块以及请求管理模块两者进行处理,实现了组件和页面之间的解耦,使得组件能够在页面之间进行自由的装配。特别是在面临一些新增的小程序开发需求的场景中,通过本发明专利技术提供的技术方案只需要完成一些简单的小程序配置,即可从页面库和组件库中选择所需的页面和组件进行组合以实现所需的小程序,能够大大提升具有相同业务逻辑的小程序的开发效率,具有可推广价值。具有可推广价值。具有可推广价值。

【技术实现步骤摘要】
应用程序的组件化开发方法、系统、设备和存储介质


[0001]本专利技术涉及应用程序开发
,特别涉及一种应用程序的组件化开发方法、系统、设备和存储介质。

技术介绍

[0002]目前,小程序开发已成为一种趋势,随着小程序的流行,各大厂纷纷推出了自己的小程序平台。对于前端开发者来说,针对不同平台编写多套代码显示是一件成本很高的事情。京东的前端团队开源的Taro框架解决小程序跨平台开发的问题,实现了一套代码,可以编译成多个平台的小程序。
[0003]但在实际开发过程中,一个团队或者一个公司可能会因为业务需要,具有多个小程序开发需求。这些小程序对应的业务逻辑基本一致,只是在人机交互功能层面上表现出一些不同,这在电商行业尤为常见,不同品牌小程序对应的后端接口一样,业务逻辑也基本一致,只是换成了对应品牌的外观主题。Taro通过目标代码编译,抹平了各个小程序平台的限制与差异,开发者可以像开发web前端一样自由的使用各种模块化的技术。然而,Taro提供的只是一个基础框架,各个模块之间的逻辑与具体实现仍需要开发者自己去实现,同时也未能给出对于多个小程序公用一套业务逻辑的解决方案。

技术实现思路

[0004]本专利技术提供了一种应用程序的组件化开发系统、方法、设备和存储介质。具体地,本专利技术的第一方面提供了一种应用程序的组件化开发系统,包括:
[0005]页面库模块,用于配置应用程序所需的全部所需页面;
[0006]组件库模块,用于配置应用程序所需的全部所需组件,所需页面和所需组件之间自由匹配组装;
[0007]状态管理模块,用于实现不同所需组件之间的状态信息同步;
[0008]请求管理模块,用于实现应用程序与后台服务端之间的通信。
[0009]在上述第一方面的一种可能的实现中,页面库模块包括页面库目录,组件库模块包括组件库目录;
[0010]组件库目录与页面库目录相对应,并根据页面库目录映射组件库目录。
[0011]在上述第一方面的一种可能的实现中,组件库模块包括若干通用组件和若干功能组件;
[0012]通用组件适用于页面库中的多个页面,并位于组件库目录的通用位置下;
[0013]功能组件适用于页面库中的特定页面,并位于组件库目录对应特定页面的位置下。
[0014]在上述第一方面的一种可能的实现中,状态管理模块包括页面状态子模块以及功能状态子模块,其中:
[0015]页面状态子模块用于对每个页面的私有状态信息进行获取、存储和处理;
[0016]功能状态子模块用于对每个对应功能的状态信息进行获取、存储和共享。
[0017]在上述第一方面的一种可能的实现中,状态管理模块对每个组件的实时状态信息进行获取和存储;
[0018]在任意一个组件需求获取实时状态信息的情况下,从状态管理模块直接获取存储状态的实时状态信息;和/或
[0019]请求状态管理模块对实时状态信息进行更新和获取。
[0020]在上述第一方面的一种可能的实现中,在请求管理模块接收到来自后台服务端的请求的情况下,对请求进行拦截并统一下发至对应的组件和/或页面。
[0021]本申请的第二方面提供了一种应用程序的组件化开发方法,应用前述第一方面提供的应用程序的组件化开发系统,包括如下步骤:
[0022]生成应用程序对应的配置文件和环境变量;
[0023]根据配置文件和环境变量,从页面库模块和组件库模块中选择对应的页面和组件;
[0024]通过连接状态管理模块和请求管理模块以实现应用程序的状态控制以及与后台服务端之间的通讯。
[0025]在上述第二方面的一种可能的实现中,环境变量包括:
[0026]名称变量,用于在编译过程中确定应用程序对应的页面和组件;
[0027]接口环境变量,用于在编译过程中确定请求管理模块使用的接口环境;
[0028]内置环境变量,用于在编译过程中确定应用程序对应的目标平台。
[0029]本申请的第三方面提供了一种应用程序的组件化开发设备,包括:
[0030]存储器,用于存储计算机程序;
[0031]处理器,用于执行计算机程序时实现前述第二方面提供的应用程序的组件化开发方法。
[0032]本申请的第四方面提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现前述第二方面提供的应用程序的组件化开发方法。
[0033]与现有技术相比,本专利技术的有益效果是:
[0034]通过本专利技术提供的技术方案,通过页面库模块、组件库模块、状态管理模块以及请求管理模块实现了对于应用程序,特别是本申请
技术介绍
中涉及的小程序的组件化技术实现。可以理解的是,由于所有的业务逻辑都可以通过状态管理模块以及请求管理模块两者进行处理,实现了组件和页面之间的解耦,使得组件能够在页面之间进行自由的装配。特别是在面临一些新增的小程序开发需求的场景中,通过本专利技术提供的技术方案只需要完成一些简单的小程序配置,即可从页面库和组件库中选择所需的页面和组件进行组合以实现所需的小程序,能够大大提升具有相同业务逻辑的小程序的开发效率,具有可推广价值。
附图说明
[0035]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0036]图1根据本专利技术实施例,示出了应用程序的组件化开发方法的结构示意图;
[0037]图2根据本专利技术实施例,示出了组件库模块的目录结构示意图;
[0038]图3根据本专利技术实施例,示出了状态管理模块的结构示意图;
[0039]图4根据本专利技术实施例,示出了应用程序的组件化开发方法的流程示意图;
[0040]图5根据本专利技术实施例,示出了组件化技术的项目结构;
[0041]图6根据本专利技术实施例,示出了电子设备的结构示意图;
[0042]图7根据本专利技术实施例,示出了计算机可读存储介质的结构示意图。
具体实施方式
[0043]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0044]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少区域地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0045]针对现有技术存在的上述问题。在本专利技术提供的一些实施例中,图1示出了一种应用程序的组件化开发系统的结构示意图。如图1所示,上述应用程序的组件化开发系统可以包括:...

【技术保护点】

【技术特征摘要】
1.一种应用程序的组件化开发系统,其特征在于,包括:页面库模块,用于配置所述应用程序所需的全部所需页面;组件库模块,用于配置所述应用程序所需的全部所需组件,所述所需页面和所需组件之间自由匹配组装;状态管理模块,用于实现不同所述所需组件之间的状态信息同步;请求管理模块,用于实现所述应用程序与所述后台服务端之间的通信。2.根据权利要求1所述的应用程序的组件化开发系统,其特征在于,所述页面库模块包括页面库目录,所述组件库模块包括组件库目录;所述组件库目录与所述页面库目录相对应,并根据所述页面库目录映射所述组件库目录。3.根据权利要求2所述的应用程序的组件化开发系统,其特征在于,所述组件库模块包括若干通用组件和若干功能组件;所述通用组件适用于所述页面库中的多个页面,并位于所述组件库目录的通用位置下;所述功能组件适用于所述页面库中的特定页面,并位于所述组件库目录对应所述特定页面的位置下。4.根据权利要求1所述的应用程序的组件化开发系统,其特征在于,所述状态管理模块包括页面状态子模块以及功能状态子模块,其中:所述页面状态子模块用于对每个页面的私有状态信息进行获取、存储和处理;所述功能状态子模块用于对每个对应功能的状态信息进行获取、存储和共享。5.根据权利要求1或4所述的应用程序的组件化开发系统,其特征在于,所述状态管理模块对每个组件的实时状态信息进行获取和存储;在任意一个所述组件需求获取所述实时状态信息的情况下,从所述状态管理模块直接获取...

【专利技术属性】
技术研发人员:马天鹏张瑞京刘国亮
申请(专利权)人:上海百秋新网商数字科技有限公司
类型:发明
国别省市:

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

1