CN110580153B - 一种应用程序的开发方法和装置 - Google Patents

一种应用程序的开发方法和装置 Download PDF

Info

Publication number
CN110580153B
CN110580153B CN201810580623.9A CN201810580623A CN110580153B CN 110580153 B CN110580153 B CN 110580153B CN 201810580623 A CN201810580623 A CN 201810580623A CN 110580153 B CN110580153 B CN 110580153B
Authority
CN
China
Prior art keywords
page
application program
application
information
behaviors
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
CN201810580623.9A
Other languages
English (en)
Other versions
CN110580153A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810580623.9A priority Critical patent/CN110580153B/zh
Priority to TW108108596A priority patent/TW202001549A/zh
Priority to PCT/CN2019/088257 priority patent/WO2019233292A1/zh
Publication of CN110580153A publication Critical patent/CN110580153A/zh
Application granted granted Critical
Publication of CN110580153B publication Critical patent/CN110580153B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用程序的开发方法和装置,所述方法包括:获取应用程序的路由信息;根据所述路由信息,确定所述应用程序的至少一个页面;调用预置的开发框架,分别生成各个页面的页面模型和页面视图;对所述页面模型和页面视图进行关联,以生成所述应用程序。本实施通过预置的开发框架来实现应用程序的开发,能够规范业务代码,使得开发出的应用程序或项目够能够保持一致的目录结构,提高了项目的可读性和可维护性,简化了应用程序的开发过程。

Description

一种应用程序的开发方法和装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序的开发方法和一种应用程序的开发装置。
背景技术
框架(Framework)是指整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法,也可以被认为是一种被应用开发者定制的应用骨架。一般地,框架又可以分为前端框架和后端框架。
以前端框架为例。由于前端框架中封装了一些基本的功能,例如html 文档操作,各种漂亮的控件等等,开发人员在使用前端框架进行网页开发或设计时,能够简化网页开发或设计的过程,降低页面开发周期,提高页面的美观性。
目前,使用较广泛的一种前端框架便是Dva框架。Dva框架是一种轻量级的JS(JavaScript,一种直译式脚本语言)框架,可以快速地实现项目的初始化,无需进行繁琐的配置。但是,Dva框架创造了很多概念,例如redux、 react router、subscriptions、effects、reducers等等,如果开发者不理解这些概念,就很难上手使用Dva框架。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的开发方法和相应的一种应用程序的开发装置。
为了解决上述问题,本申请公开了一种应用程序的开发方法,包括:
获取应用程序的路由信息;
根据所述路由信息,确定所述应用程序的至少一个页面;
调用预置的开发框架,分别生成各个页面的页面模型和页面视图;
对所述页面模型和页面视图进行关联,以生成所述应用程序。
可选地,所述获取应用程序的路由信息的步骤包括:
获取应用程序的配置信息;
从所述配置信息中提取所述应用程序的路由信息,所述路由信息包括页面的路径信息、所述页面的命名信息,以及,所述页面对应的控制器类的信息。
可选地,所述根据所述路由信息,确定所述应用程序的至少一个页面的步骤包括:
确定所述页面的路径信息的条数;
根据所述条数,确定所述应用程序的至少一个页面;其中,任一页面具有唯一的一条路径信息。
可选地,所述页面模型由多个页面行为构成,所述调用预置的开发框架,分别生成各个页面的页面模型和页面视图的步骤包括:
确定所述页面的多个页面行为;
调用预置的Bone Web开发框架,生成所述多个页面行为;
基于所述多个页面行为,渲染出页面视图。
可选地,所述基于所述多个页面行为,渲染出页面视图的步骤包括:
获取各个页面行为的状态信息;
调用所述Bone Web开发框架中的React组件;
基于所述状态信息,采用所述React组件渲染出所述页面视图。
可选地,所述对所述页面模型和页面视图进行关联,以生成所述应用程序的步骤包括:
根据所述页面对应的控制器类的信息,调用所述Bone Web开发框架中对应的控制器类;
通过所述控制器类,对所述页面模型和页面视图进行关联,以生成所述应用程序。
可选地,还包括:
通过所述控制器类,对所述多个页面行为进行监听;
当监听到任一页面行为执行完成时,更新所述页面视图。
为了解决上述问题,本申请公开了一种应用程序的开发方法,包括:
获取应用程序的配置信息,所述配置信息包括页面路由信息;
确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
调用预置的Bone Web开发框架,生成所述多个页面行为;
基于所述多个页面行为,渲染出页面视图;
当监听到任一页面行为执行完成时,更新所述页面视图。
为了解决上述问题,本申请公开了一种应用程序的开发装置,包括:
获取模块,用于获取应用程序的路由信息;
确定模块,用于根据所述路由信息,确定所述应用程序的至少一个页面;
生成模块,用于调用预置的开发框架,分别生成各个页面的页面模型和页面视图;
关联模块,用于对所述页面模型和页面视图进行关联,以生成所述应用程序。
可选地,所述获取模块包括:
配置信息获取子模块,用于获取应用程序的配置信息;
路由信息提取子模块,用于从所述配置信息中提取所述应用程序的路由信息,所述路由信息包括页面的路径信息、所述页面的命名信息,以及,所述页面对应的控制器类的信息。
可选地,所述确定模块包括:
路径信息条数确定子模块,用于确定所述页面的路径信息的条数;
页面确定子模块,用于根据所述条数,确定所述应用程序的至少一个页面;其中,任一页面具有唯一的一条路径信息。
可选地,所述页面模型由多个页面行为构成,所述生成模块包括:
页面行为确定子模块,用于确定所述页面的多个页面行为;
页面行为生成子模块,用于调用预置的Bone Web开发框架,生成所述多个页面行为;
页面视图渲染子模块,用于基于所述多个页面行为,渲染出页面视图。
可选地,所述页面视图渲染子模块包括:
状态信息获取单元,用于获取各个页面行为的状态信息;
React组件调用单元,用于调用所述Bone Web开发框架中的React组件;
页面视图渲染单元,用于基于所述状态信息,采用所述React组件渲染出所述页面视图。
可选地,所述关联模块包括:
控制器类调用子模块,用于根据所述页面对应的控制器类的信息,调用所述BoneWeb开发框架中对应的控制器类;
关联子模块,用于通过所述控制器类,对所述页面模型和页面视图进行关联,以生成所述应用程序。
可选地,所述装置还包括:
监听模块,用于通过所述控制器类,对所述多个页面行为进行监听;
更新模块,用于在监听到任一页面行为执行完成时,更新所述页面视图。
为了解决上述问题,本申请公开了一种应用程序的开发装置,包括:
获取模块,用于获取应用程序的配置信息,所述配置信息包括页面路由信息;
确定模块,用于确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
生成模块,用于调用预置的Bone Web开发框架,生成所述多个页面行为;
渲染模块,用于基于所述多个页面行为,渲染出页面视图;
更新模块,用于在监听到任一页面行为执行完成时,更新所述页面视图。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例,通过获取应用程序的路由信息,并根据上述路由信息,可以确定应用程序的至少一个页面,然后调用预置的开发框架,分别生成各个页面的页面模型和页面视图,进而在对上述页面模型和页面视图进行关联后,可以完成应用程序的开发。本实施通过预置的开发框架来实现应用程序的开发,能够规范业务代码,使得开发出的应用程序或项目够能够保持一致的目录结构,提高了项目的可读性和可维护性,简化了应用程序的开发过程。
附图说明
图1是本申请一个实施例的一种应用程序的开发方法的步骤流程示意图;
图2是本申请一个实施例的另一种应用程序的开发方法的步骤流程示意图;
图3是本申请一个实施例的一种Bone Web开发框架的示意性基础结构图;
图4是本申请一个实施例的一种组件关系示意图;
图5是本申请一个实施例的一种计数器应用程序的运行界面示意图;
图6是本申请一个实施例的又一种应用程序的开发方法的步骤流程示意图;
图7是本申请一个实施例的一种应用程序的开发装置的示意性结构框图;
图8是本申请一个实施例的另一种应用程序的开发装置的示意性结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请一个实施例的一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:
步骤101,获取应用程序的路由信息;
需要说明的是,本方法可以应用于基于浏览器的网页应用程序的开发。上述浏览器可以是基于Trident内核的浏览器,也可以是基于Gecko内核的浏览器,还可以是基于Webkit内核或其他内核的浏览器,本实施例对浏览器的具体类型不作限定。
通常,在开发或创建一个应用程序前,需要首先配置该应用程序的各种基本信息。例如,该应用程序的ID、应用程序各个页面的路由信息等等。
在本申请实施例中,可以首先获取待开发的应用程序的路由信息。
步骤102,根据所述路由信息,确定所述应用程序的至少一个页面;
在本申请实施例中,应用程序的路由信息可以用于指定该应用程序包括的一个或多个页面。
通常,应用程序的路由信息可以包括页面的路径信息,页面的命名信息,以及,上述页面对应的控制器类的信息。一般地,一条路径可以与唯一的一个页面相对应。
因此,在获取到应用程序的路由信息后,可以通过识别该路由信息中包含多少条路径信息,来确定该应用程序包括有多少个页面。
步骤103,调用预置的开发框架,分别生成各个页面的页面模型和页面视图;
在本申请实施例中,预置的开发框架可以是Bone Web开发框架。Bone Web开发框架是一种专注于web应用的前端开发框架,包括有完整易用的框架、组件、工具链支撑。通过应用Bone Web开发框架,可以方便开发人员使用简单自然的研发流程及稳定高效的基础服务,从而快速地开发出功能强劲的各种网页应用程序。
Bone Web开发框架基于开源的React库,整合了生态中优质的设计方案,通过化繁为简,形成易用、可扩展、能力丰富的Bone框架,能够为应用开发提供合理的架构层设计。Bone Web开发框架同时提供了丰富、规范、易用、设计良好的UI组件,可以实现网页应用程序的快速搭建。
在本申请实施例中,可以调用上述Bone Web开发框架,创建各个页面的页面模型和页面视图。
通常,应用程序中所有的业务逻辑(如对数据的增加、删除、修改、查找,或者,数据的清理与组装等等)都可以放在页面模型中,而页面视图则主要是用来描述当前页面的UI。可以通过在页面视图中直接调用页面模型中的reducer方法来处理应用程序所涉及到的业务逻辑。reducer方式是开源项目Redux(一种前端架构)中的一种概念,可以在开发应用程序时用于处理各种业务逻辑。
步骤104,对所述页面模型和页面视图进行关联,以生成所述应用程序。
在本申请实施例中,Bone Web开发框架中还包括控制器类,上述控制器类是应用程序中具体页面的控制层,可以通过该控制器类对页面模型和页面视图进行关联,从而生成应用程序,完成该应用程序的开发过程。
需要说明的是,控制器类除了可以对页面模型和页面视图进行关联及初始化外,还可以实现事件的监听、页面参数的获取,以及,业务逻辑的封装等功能。
在本申请实施例中,通过获取应用程序的路由信息,并根据上述路由信息,可以确定应用程序的至少一个页面,然后调用预置的开发框架,分别生成各个页面的页面模型和页面视图,进而在对上述页面模型和页面视图进行关联后,可以完成应用程序的开发。本实施通过预置的开发框架来实现应用程序的开发,能够规范业务代码,使得开发出的应用程序或项目够能够保持一致的目录结构,提高了项目的可读性和可维护性,简化了应用程序的开发过程。
参照图2,示出了本申请一个实施例的另一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,获取应用程序的配置信息;
需要说明的是,本方法可以应用于基于各类浏览器的网页应用程序的开发。例如,基于Trident内核的浏览器的网页应用程序的开发过程,基于Gecko 内核的浏览器的网页应用程序的开发过程,或者,基于Webkit内核及其他内核的浏览器的网页应用程序的开发过程,本实施例对浏览器的具体类型不作限定。
通常,在开发或创建一个应用程序前,需要首先配置该应用程序的各种基本信息。
因此,在本申请实施例中,可以首先获取待开发的应用程序的配置信息。上述配置信息可以包括应用程序的ID、应用程序各个页面的路由信息以及其他信息等等。
步骤202,从所述配置信息中提取所述应用程序的路由信息,所述路由信息包括页面的路径信息、页面的命名信息,以及,页面对应的控制器类的信息;
在本申请实施例中,当获取到应用程序的配置信息后,可以从上述配置信息中提取出相应的路由信息。应用程序的路由信息可以用于指定该应用程序包括的一个或多个页面。上述路由信息可以包括页面的路径信息、页面的命名信息,以及,页面对应的控制器类的信息。
步骤203,根据所述路由信息,确定所述应用程序的至少一个页面;
在本申请实施例中,如果待开发的应用程序包括多个页面,则可以通过路由信息来指定多个页面。
在本申请实施例中,可以通过获取到的路由信息中路径信息的条数来确定该应用程序包括多少个页面。
在具体实现中,可以首先确定页面的路径信息的条数,然后根据上述条数,确定待开发的应用程序的至少一个页面。通常,任一页面具有唯一的一条路径信息。
步骤204,确定所述页面的多个页面行为,所述多个页面行为构成所述页面的页面模型;
在本申请实施例中,在获取到应用程序的配置信息,并根据配置信息中的路由信息确定出该应用程序包括多少个页面后,可以开始各个页面的开发工作。
在本申请实施例中,各个页面均可以包括三部分,即页面本身的控制器类、页面所对应的页面模型,以及,页面视图。
其中,页面本申请的控制器类是页面的控制器,可以用于对当前页面对应的页面模型和页面视图进行关联外,还可以实现事件的监听、页面参数的获取,以及,业务逻辑的封装等功能。
页面模型则包括该应用程序所有的业务逻辑或页面行为,是一个页面的具体的业务逻辑的实现,页面模型抽象了当前页面中的各个业面行为,是页面行为的函数集合,多个页面行为共同构成了当前页面的页面模型。当任一页面行为执行完成后,可以更新当前页面的页面状态或页面视图。
而页面视图则主要是用来描述当前页面的UI,可以通过在页面视图中直接调用页面模型中的reducer方法来处理应用程序所涉及到的业务逻辑或页面行为。
步骤205,调用预置的Bone Web开发框架,生成所述多个页面行为;
在本申请实施例中,在确定出各个页面的页面行为后,可以调用预置的 Bone Web开发框架进行页面行为的开发。Bone Web开发框架是一种专注于 web应用的前端开发框架,包括有完整易用的框架、组件、工具链支撑。通过应用Bone Web开发框架,可以方便开发人员使用简单自然的研发流程及稳定高效的基础服务,从而快速地开发出功能强劲的各种网页应用程序。
如图3所示,是本申请一个实施例的一种Bone Web开发框架的示意性基础结构图。在图3中,Page(页面)、Layout(布局),以及,Widget(微件)均表示一种组件,各个组件均可以通过Controller(控制器类)绑定一个页面模型(Model),从而使得这类组件都能够自己关联一些数据。
因此,图3中的结构可以看作是Controller+Page、Contorller+Layout,以及,Controller+Widget等部分。
图3中所示的initWithAction是Controller的一个方法,该方法会在初始化后执行。在initWithAction方法里,可以将Model转换为redux架构中的 reducer,并且可以设置当前页面的初始状态。这样,在组件的实际运行时,就变成了标准的react+redux的运行方式。
对于Page、Layout,以及,Widget等组件上的View(视图)和SubView (子视图)等,则与Page、Layout,以及,Widget等组件共同构成了一个树形的组件嵌套结构。在开发过程中,View和SubView可以获得Page、Layout,以及,Widget等组件传递下来的数据,并根据这些数据进行渲染。
如图4所示,是本申请一个实施例的一种组件关系示意图。图4具体表示了Layout、Page、Widget这三种组件之间的一种嵌套关系,其中,Page 可以是Layout的子组件,Widget可以是Page的子组件,一个Layout组件下可以有多个Page组件,一个Page组件下也可以有多个Widget组件。
需要说明的是,Widget组件实际上是一个绑定有独立数据的组件,由于它关联的数据在全局是单例存在的(即在整个应用中是唯一的),所以, Widget组件在渲染到各个页面的时候,操作和显示的数据都是一样的。
在本申请实施例中,上述组件与数据可以按照如下方式进行交互:
首先,将数据传入组件,由组件对数据进行渲染,并产生事件,然后,组件发出一个action(动作),action经过数据中间件(Data Middleware)的处理,在redux的reducer中(也就是Model的方法中)更新数据,最后将更新后的数据再传入组件,并循环上述过程。其中,Data Middleware可以是知redux架构中的middleware(中间件),在Bone Web开发框架中,可以直接将middleware交给redux去处理。
以计数器应用为例,页面行为可以包括计数器加1和计数器减1两个页面行为,可以调用Bone Web开发框架对上述两个页面行为进行开发。
步骤206,基于所述多个页面行为,渲染出页面视图;
在本申请实施例中,页面视图中包含有页面的渲染逻辑,可以根据页面的状态,渲染出当前页面的页面视图。
在具体实现中,可以首先获取各个页面行为的状态信息,然后调用Bone Web开发框架中的React组件,并基于上述状态信息,采用React组件渲染出当前页面的页面视图。
同样以计数器应用为例,可以通过React组件在页面中渲染出两个按钮和一个文本。两个按钮中其中一个为加操作按钮,另一个为减操作按钮,而文本则用于显示当前的计数值。
步骤207,根据所述页面对应的控制器类的信息,调用所述Bone Web 开发框架中对应的控制器类;
在本申请实施例中,各个页面中均包括相应的控制器类的信息,因此,可以根据该信息,调用Bone Web开发框架中对应的控制器类来进行页面模型和页面视图的关联及初始化处理。
步骤208,通过所述控制器类,对所述页面模型和页面视图进行关联,以生成所述应用程序;
在本申请实施例中,当通过控制器类完成页面模型和页面视图的关联后,便完成了上述应用程序的开发过程。
如图5所示,是本申请的一种计数器应用的运行界面示意图。在图5中,包括两个按钮和一个文本。两个按钮中其中一个为加操作按钮,另一个为减操作按钮,而文本则用于显示当前的计数值。
步骤209,通过所述控制器类,对所述多个页面行为进行监听;
在本申请实施例中,控制器类还可以用于对各种事件或页面行为的监听。例如,在计数器应用中,可以通过控制器类监听是否完成了一次加1操作或减1操作。
步骤210,当监听到任一页面行为执行完成时,更新所述页面视图。
在本申请实施例中,当控制器类监听到任一页面行为执行完成后,可以对页面视图进行更新。
例如,在计数器应用中,当控制器类监听到完成了一次加1操作后,该应用的文本中显示的计数值可以加1;当控制器类监听到完成了一次减1操作后,该应用的文本中显示的计数值可以减1。
在本申请实施例中,通过调用预置的Bone Web开发框架进行应用程序的开发,能够规范业务代码,使得开发出的应用程序或项目够能够保持一致的目录结构,提高了项目的可读性和可维护性,简化了应用程序的开发过程。
参照图6,示出了本申请一个实施例的又一种应用程序的开发方法的步骤流程示意图,具体可以包括如下步骤:
步骤601,获取应用程序的配置信息,所述配置信息包括页面路由信息;
需要说明的是,本方法可以应用于网页应用程序的开发。在进行网页应用程序的开发时,可以首先获取该应用程序的配置信息。例如,应用程序的 ID、应用程序的页面路由信息等等。
步骤602,确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
通常,当应用程序包括多个页面时,可以通过上述页面路由信息指定多个网页页面,各个网页页面中可以包括多个页面行为。
例如,在一款网页计数器应用中,包括一个网页页面,该网页页面中可以包括计数器加1和计数器减1两个页面行为。
步骤603,调用预置的Bone Web开发框架,生成所述多个页面行为;
在本申请实施例中,在确定出各个网页页面包括的页面行为后,可以调用BoneWeb开发框架对上述页面行为进行开发,多个页面行为可以共同构成当前网页页面的页面模型。
步骤604,基于所述多个页面行为,渲染出页面视图;
在本申请实施例中,可以基于生成的多个页面行为,调用Bone Web开发框架中的React组件,并采用上述React组件渲染出当前页面的页面视图。
例如,在上述网页计数器应用中,页面视图可以包括两个按钮和一个文本。
步骤605,当监听到任一页面行为执行完成时,更新所述页面视图。
在本申请实施例中,可以通过控制器类对各种事件或页面行为的监听,当监听到任一页面行为执行完成后,可以对页面视图进行更新。
例如,在计数器应用中,可以通过控制器类监听是否完成了一次加1操作或减1操作。当监听到完成了一次加1操作后,该应用的文本中显示的计数值可以加1;当控制器类监听到完成了一次减1操作后,该应用的文本中显示的计数值可以减1。
由于本实施例中步骤601-步骤605与前述实施例中步骤101-步骤104以及步骤201-步骤210类似,本实施例描述得比较简单,相关实现细节可以参阅前述实施例中的描述。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请一个实施例的一种应用程序的开发装置的示意性结构框图,具体可以包括如下模块:
获取模块701,用于获取应用程序的路由信息;
确定模块702,用于根据所述路由信息,确定所述应用程序的至少一个页面;
生成模块703,用于调用预置的开发框架,分别生成各个页面的页面模型和页面视图;
关联模块704,用于对所述页面模型和页面视图进行关联,以生成所述应用程序。
在本申请实施例中,所述获取模块701具体可以包括如下子模块:
配置信息获取子模块,用于获取应用程序的配置信息;
路由信息提取子模块,用于从所述配置信息中提取所述应用程序的路由信息,所述路由信息可以包括页面的路径信息、所述页面的命名信息,以及,所述页面对应的控制器类的信息。
在本申请实施例中,所述确定模块702具体可以包括如下子模块:
路径信息条数确定子模块,用于确定所述页面的路径信息的条数;
页面确定子模块,用于根据所述条数,确定所述应用程序的至少一个页面;其中,任一页面具有唯一的一条路径信息。
在本申请实施例中,所述页面模型可以由多个页面行为构成,所述生成模块703具体可以包括如下子 模块:
页面行为确定子模块,用于确定所述页面的多个页面行为;
页面行为生成子模块,用于调用预置的Bone Web开发框架,生成所述多个页面行为;
页面视图渲染子模块,用于基于所述多个页面行为,渲染出页面视图。
在本申请实施例中,所述页面视图渲染子模块具体可以包括如下单元:
状态信息获取单元,用于获取各个页面行为的状态信息;
React组件调用单元,用于调用所述Bone Web开发框架中的React组件;
页面视图渲染单元,用于基于所述状态信息,采用所述React组件渲染出所述页面视图。
在本申请实施例中,所述关联模块704具体可以包括如下子模块:
控制器类调用子模块,用于根据所述页面对应的控制器类的信息,调用所述BoneWeb开发框架中对应的控制器类;
关联子模块,用于通过所述控制器类,对所述页面模型和页面视图进行关联,以生成所述应用程序。
在本申请实施例中,所述装置还可以包括如下模块:
监听模块,用于通过所述控制器类,对所述多个页面行为进行监听;
更新模块,用于在监听到任一页面行为执行完成时,更新所述页面视图。
参照图8,示出了本申请一个实施例的另一种应用程序的开发装置的示意性结构框图,具体可以包括如下模块:
获取模块801,用于获取应用程序的配置信息,所述配置信息包括页面路由信息;
确定模块802,用于确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
生成模块803,用于调用预置的Bone Web开发框架,生成所述多个页面行为;
渲染模块804,用于基于所述多个页面行为,渲染出页面视图;
更新模块805,用于在监听到任一页面行为执行完成时,更新所述页面视图。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序的开发方法和一种应用程序的开发装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种应用程序的开发方法,其特征在于,包括:
获取应用程序的路由信息;
根据所述路由信息,确定所述应用程序的至少一个页面;
调用预置的开发框架,分别生成各个页面的页面模型和页面视图;所述页面模型包括所述应用程序的业务逻辑或页面行为;所述预置的开发框架基于所述页面行为的状态信息渲染得到所述页面视图;
对所述页面模型和页面视图进行关联,以生成所述应用程序。
2.根据权利要求1所述的方法,其特征在于,所述获取应用程序的路由信息的步骤包括:
获取应用程序的配置信息;
从所述配置信息中提取所述应用程序的路由信息,所述路由信息包括页面的路径信息、所述页面的命名信息,以及,所述页面对应的控制器类的信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述路由信息,确定所述应用程序的至少一个页面的步骤包括:
确定所述页面的路径信息的条数;
根据所述条数,确定所述应用程序的至少一个页面;其中,任一页面具有唯一的一条路径信息。
4.根据权利要求2所述的方法,其特征在于,所述页面模型由多个页面行为构成,所述调用预置的开发框架,分别生成各个页面的页面模型和页面视图的步骤包括:
确定所述页面的多个页面行为;
调用预置的Bone Web开发框架,生成所述多个页面行为;
基于所述多个页面行为,渲染出页面视图。
5.根据权利要求4所述的方法,其特征在于,所述基于所述多个页面行为,渲染出页面视图的步骤包括:
获取各个页面行为的状态信息;
调用所述Bone Web开发框架中的React组件;
基于所述状态信息,采用所述React组件渲染出所述页面视图。
6.根据权利要求4所述的方法,其特征在于,所述对所述页面模型和页面视图进行关联,以生成所述应用程序的步骤包括:
根据所述页面对应的控制器类的信息,调用所述Bone Web开发框架中对应的控制器类;
通过所述控制器类,对所述页面模型和页面视图进行关联,以生成所述应用程序。
7.根据权利要求4所述的方法,其特征在于,还包括:
通过所述控制器类,对所述多个页面行为进行监听;
当监听到任一页面行为执行完成时,更新所述页面视图。
8.一种应用程序的开发方法,其特征在于,包括:
获取应用程序的配置信息,所述配置信息包括页面路由信息;
确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
调用预置的Bone Web开发框架,生成所述多个页面行为;
基于所述多个页面行为,渲染出页面视图;
当监听到任一页面行为执行完成时,更新所述页面视图。
9.一种应用程序的开发装置,其特征在于,包括:
获取模块,用于获取应用程序的路由信息;
确定模块,用于根据所述路由信息,确定所述应用程序的至少一个页面;
生成模块,用于调用预置的开发框架,分别生成各个页面的页面模型和页面视图;所述页面模型包括所述应用程序的业务逻辑或页面行为;所述预置的开发框架基于所述页面行为的状态信息渲染得到所述页面视图;
关联模块,用于对所述页面模型和页面视图进行关联,以生成所述应用程序。
10.一种应用程序的开发装置,其特征在于,包括:
获取模块,用于获取应用程序的配置信息,所述配置信息包括页面路由信息;
确定模块,用于确定与所述页面路由信息相对应的网页页面和所述网页页面中包括的多个页面行为;
生成模块,用于调用预置的Bone Web开发框架,生成所述多个页面行为;
渲染模块,用于基于所述多个页面行为,渲染出页面视图;
更新模块,用于在监听到任一页面行为执行完成时,更新所述页面视图。
CN201810580623.9A 2018-06-07 2018-06-07 一种应用程序的开发方法和装置 Active CN110580153B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810580623.9A CN110580153B (zh) 2018-06-07 2018-06-07 一种应用程序的开发方法和装置
TW108108596A TW202001549A (zh) 2018-06-07 2019-03-14 應用程式的開發方法和裝置
PCT/CN2019/088257 WO2019233292A1 (zh) 2018-06-07 2019-05-24 一种应用程序的开发方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810580623.9A CN110580153B (zh) 2018-06-07 2018-06-07 一种应用程序的开发方法和装置

Publications (2)

Publication Number Publication Date
CN110580153A CN110580153A (zh) 2019-12-17
CN110580153B true CN110580153B (zh) 2022-05-27

Family

ID=68770789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810580623.9A Active CN110580153B (zh) 2018-06-07 2018-06-07 一种应用程序的开发方法和装置

Country Status (3)

Country Link
CN (1) CN110580153B (zh)
TW (1) TW202001549A (zh)
WO (1) WO2019233292A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638880B (zh) * 2020-05-29 2023-10-13 浪潮通用软件有限公司 节点信息展示方法、装置、存储介质和计算机可读介质
CN112115395A (zh) * 2020-09-04 2020-12-22 上海悦易网络信息技术有限公司 一种用于实现页面路由跳转时的动画配置的方法与设备
CN112068879B (zh) * 2020-09-10 2023-10-13 中国工商银行股份有限公司 基于配置化的客户端应用程序开发框架构建方法及装置
CN113722026A (zh) * 2020-10-23 2021-11-30 北京沃东天骏信息技术有限公司 通信方法、装置、设备和计算机可读介质
CN112597413A (zh) * 2020-12-29 2021-04-02 深圳贝特莱电子科技股份有限公司 一种新型嵌入式系统框架及设备
CN114691128A (zh) * 2020-12-29 2022-07-01 苏州国双软件有限公司 一种前端页面生成方法、装置、电子设备及存储介质
CN113703743B (zh) * 2021-08-30 2023-12-26 贝壳找房(北京)科技有限公司 配置页面的方法和装置、渲染页面方法、客户端及服务器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278708A1 (en) * 2004-06-15 2005-12-15 Dong Zhao Event management framework for network management application development
CN105094753A (zh) * 2014-04-18 2015-11-25 阿里巴巴集团控股有限公司 一种线框图的绘制方法、装置和系统
CN106020849A (zh) * 2016-06-14 2016-10-12 浪潮软件股份有限公司 一种基于web开发框架的多主题实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799754A (zh) * 2009-12-17 2010-08-11 中国电力科学研究院 一种web应用开发方法及系统
US9195477B1 (en) * 2012-10-09 2015-11-24 Sencha, Inc. Device profiles, deep linking, and browser history support for web applications
CN105760159A (zh) * 2016-02-01 2016-07-13 四川长虹电器股份有限公司 网站开发方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278708A1 (en) * 2004-06-15 2005-12-15 Dong Zhao Event management framework for network management application development
CN105094753A (zh) * 2014-04-18 2015-11-25 阿里巴巴集团控股有限公司 一种线框图的绘制方法、装置和系统
CN106020849A (zh) * 2016-06-14 2016-10-12 浪潮软件股份有限公司 一种基于web开发框架的多主题实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
物联网全栈教程-从云端到设备(九);JIXIN_LEE;《https://blog.csdn.net/JIXIN_LEE/article/details/80337642》;20180516;第1-6页 *

Also Published As

Publication number Publication date
WO2019233292A1 (zh) 2019-12-12
CN110580153A (zh) 2019-12-17
TW202001549A (zh) 2020-01-01

Similar Documents

Publication Publication Date Title
CN110580153B (zh) 一种应用程序的开发方法和装置
CN107463367B (zh) 转场动画实现方法及装置
Fedosejev React. js essentials
CN107291438B (zh) 自动化脚本的生成方法、装置及电子设备
WO2017124952A1 (zh) 一种网页脚本加载方法和装置
CN107092473B (zh) 桌面应用开发方法及设备
CN106997298B (zh) 一种应用资源获取方法及装置
CN106933887B (zh) 一种数据可视化方法及装置
US20160380915A1 (en) Rules-Based Workflow Messaging
CN105335132B (zh) 一种自定义应用程序功能的方法、装置以及系统
Anderson The model-view-viewmodel (mvvm) design pattern
CN111796821A (zh) 一种页面更新的方法及装置
Tacy et al. GWT in Action
CN108170430B (zh) 一种界面展示的方法及系统
CN105159686B (zh) 一种网站页面开发方法和装置
Francese et al. Model-driven development for multi-platform mobile applications
Fujima Building a meme media platform with a JavaScript MVC framework and HTML5
CN110941429B (zh) 一种网页的业务脚本处理方法、装置及设备
CN110968373A (zh) 一种页面切换的实现方法、装置、存储介质及处理器
CN111708519B (zh) 一种业务组件的处理方法、装置、设备和存储介质
CN114254229A (zh) 网页渲染方法及装置
US20100223594A1 (en) Method and apparatus for implementing a composable control architecture
CN110837367B (zh) 用户界面处理方法、装置及电子设备
CN113360385A (zh) 一种测试方法、装置、设备及介质
CN104750482A (zh) 一种构建基于MapReduce的动态脚本执行引擎的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018367

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant