CN115237394A - 应用程序开发方法及装置、电子设备、可读介质 - Google Patents

应用程序开发方法及装置、电子设备、可读介质 Download PDF

Info

Publication number
CN115237394A
CN115237394A CN202110438525.3A CN202110438525A CN115237394A CN 115237394 A CN115237394 A CN 115237394A CN 202110438525 A CN202110438525 A CN 202110438525A CN 115237394 A CN115237394 A CN 115237394A
Authority
CN
China
Prior art keywords
page
client
information
application program
locking
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.)
Pending
Application number
CN202110438525.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110438525.3A priority Critical patent/CN115237394A/zh
Publication of CN115237394A publication Critical patent/CN115237394A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本公开提供一种应用程序开发方法及装置、电子设备、可读介质;涉及软件开发技术领域。所述应用程序开发方法包括:获取低代码开发平台中的应用程序对应的各个前端页面;从所述各个前端页面中确定当前触发更新的操作页面,以及所述操作页面对应的操作客户端,利用所述操作客户端对所述操作页面进行锁定;接收到所述操作客户端对所述操作页面的保存操作时,将所述操作页面在所述操作客户端上更新后的页面信息同步至各个客户端,并将所述操作页面进行解锁,以便所述操作页面被所述客户端进行再次更新。本公开提供的方法可以实现低代码平台上应用程序的多人共同开发,提高开发效率。

Description

应用程序开发方法及装置、电子设备、可读介质
技术领域
本公开涉及软件开发技术领域,具体而言,涉及一种应用程序开发方法、应用程序开发装置、电子设备以及计算机可读介质。
背景技术
低代码开发技术是一种通过可视化进行应用程序开发的方法,可以使具有不同经验水平的开发人员通过图形可视化的用户操作界面,使用拖拽组建来创建网页和应用程序。
低代码开发平台提供快速预览当前应用程序的效果,需要实施渲染当前应用程序,一般只支持一人开发一个应用,多人操作过程中会出现相互覆盖,图形化可视化的操作界面复杂难以同时处理。由于一些应用程序比较复杂,需要多人开发,保证上线时限。对于一些大型的应用开发任务,为了实现多人协作,可以将应用转成本地文件,利用Git工具来实现一次合并多人开发。但是,利用Git工具进行合并的过程繁琐,一旦出现冲突或者覆盖等问题,只能人工线下一一排查,操作困难。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种应用程序开发方法、应用程序开发装置、电子设备以及计算机可读介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的低代码开发平台无法实现多人同时操作的问题。
根据本公开的第一方面,提供一种应用程序开发方法,包括:
获取应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑;
获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息;
根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定;
将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看;
接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
在本公开的一种示例性实施例中,所述前端页面包括状态属性;所述对所述操作页面进行锁定包括:
确定所述操作页面的标识信息,以及所述第一客户端的用户标识;
将所述标识信息与所述用户标识进行关联,生成锁定信息;
将所述锁定信息同步至所述第二客户端,以使所述第二客户端利用所述锁定信息将所述操作页面的状态属性更新为锁定状态。
在本公开的一种示例性实施例中,所述根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面包括:
获取所述应用程序的各个前端页面对应的已存储页面信息;
针对每个所述前端页面,对所述前端页面的第一客户端本地的所述当前页面信息与所述已存储页面信息进行对比,当所述当前页面信息与所述已存储页面信息一致时,将所述前端页面的状态属性确定为编辑状态;
当所述当前页面信息与所述已存储页面信息不一致时,确定所述前端页面为所述操作页面。
在本公开的一种示例性实施例中,所述方法还包括:
接收到客户端对所述应用程序的请求时,根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面。
在本公开的一种示例性实施例中,所述根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面包括:
当所述前端页面的状态属性为编辑状态时,在所述客户端的所述前端页面的编辑页面中显示更新控件,通过所述更新控件使所述客户端对所述前端页面进行更新;
当所述前端页面的状态属性为锁定状态时,确定所述客户端是否为所述前端页面相关联的客户端,若所述客户端与所述前端页面相关联,则在所述前端页面的所述编辑页面中显示所述更新控件;
若所述客户端与所述前端页面不关联,则在所述编辑页面中显示查看控件,通过所述查看控件使所述客户端对所述前端页面进行查看。
在本公开的一种示例性实施例中,所述接收到所述第一客户端对所述操作页面的保存操作之后,所述方法还包括:
从所述锁定信息中删除所述操作页面与所述第一客户端的所述关联,以对所述锁定信息进行更新;
根据更新后的锁定信息更新各个客户端的所述应用程序的各个前端页面的状态属性。
在本公开的一种示例性实施例中,所述接收到所述第一客户端对所述操作页面的保存操作之后,所述方法还包括:
接收到所述第一客户端对所述操作页面的保存操作时,利用所述第一客户端本地的所述操作页面更新后的页面信息更新所述操作页面对应的已存储页面信息;
通过更新后的已存储页面信息更新各个客户端上的所述应用程序。
在本公开的一种示例性实施例中,所述将所述操作页面进行解锁包括:
当所述第一客户端撤销在所述操作页面上触发的更新时,将所述操作页面进行解锁。
根据本公开的第二方面,提供一种应用程序开发装置,包括:
数据获取模块,用于获取应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑;
页面确定模块,用于获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息;
页面锁定模块,用于根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定;
页面同步模块,用于将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看;
页面解锁模块,用于接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
在本公开的一种示例性实施例中,所述前端页面包括状态属性;所述页面锁定模块包括:
标识确定模块,用于确定所述操作页面的标识信息,以及所述第一客户端的用户标识;
锁定信息确定模块,用于将所述标识信息与所述用户标识进行关联,生成锁定信息;
锁定信息同步模块,用于将所述锁定信息同步至所述第二客户端,以使所述第二客户端利用所述锁定信息将所述操作页面的状态属性更新为锁定状态。
在本公开的一种示例性实施例中,所述页面锁定模块包括:
已存储信息获取模块,用于获取所述应用程序的各个前端页面对应的已存储页面信息;
页面对比模块,用于针对每个所述前端页面,对所述前端页面的第一客户端本地的所述当前页面信息与所述已存储页面信息进行对比,当所述当前页面信息与所述已存储页面信息一致时,将所述前端页面的状态属性确定为编辑状态;
操作页面确定模块,用于当所述当前页面信息与所述已存储页面信息不一致时,确定所述前端页面为所述操作页面。
在本公开的一种示例性实施例中,所述装置还包括:
编辑页面生成模块,用于在接收到客户端对所述应用程序的请求时,根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面。
在本公开的一种示例性实施例中,所述编辑页面生成模块包括:
页面更新模块,用于当所述前端页面的状态属性为编辑状态时,在所述客户端的所述前端页面的编辑页面中显示更新控件,通过所述更新控件使所述客户端对所述前端页面进行更新;
锁定更新模块,用于当所述前端页面的状态属性为锁定状态时,确定所述客户端是否为所述前端页面相关联的客户端,若所述客户端与所述前端页面相关联,则在所述前端页面的所述编辑页面中显示所述更新控件;
页面查看模块,用于当所述客户端与所述前端页面不关联,则在所述编辑页面中显示查看控件,通过所述查看控件使所述客户端对所述前端页面进行查看。
在本公开的一种示例性实施例中,所述装置还包括:
页面关联模块,用于从所述锁定信息中删除所述操作页面与所述第一客户端的所述关联,以对所述锁定信息进行更新;
状态更新模块,用于根据更新后的锁定信息更新所述各个客户端的所述应用程序的各个前端页面的状态属性。
在本公开的一种示例性实施例中,所述装置还包括:
页面保存模块,用于接收到所述第一客户端对所述操作页面的保存操作时,利用所述第一客户端本地的所述操作页面更新后的页面信息更新所述操作页面对应的已存储页面信息;
应用同步模块,用于通过更新后的已存储页面信息更新各个客户端上的所述应用程序。
在本公开的一种示例性实施例中,所述页面解锁模块被配置为:当所述第一客户端撤销在所述操作页面上触发的更新时,将所述操作页面进行解锁。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的应用程序开发方法。
根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的应用程序开发方法。
根据本公开的第五方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读介质中。计算机设备的处理器从计算机可读介质中读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的应用程序开发方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一示例实施方式所提供的应用程序开发方法中,一方面,各个客户端均可以对应用程序的前端页面进行可视化编辑,当检测到触发更新的操作页面时,根据对应的第一客户端对操作页面进行锁定,避免在该第一客户端进行处理时该操作页面同时被其他客户端处理,从而可以避免多人操作相互覆盖的问题。另一方面,当第一客户端对操作页面进行保存之后,对该操作页面进行解锁,从而使得该操作页面被其他客户端进行处理,可以实现多人共同对一操作页面进行可视化开发的效果,提高开发效率。再一方面,第一客户端对操作页面所做的更新可以实时同步至其他各个客户端上,便于用户及时了解应用程序当前进度,不仅有利于避免冲突,还可以加快应用程序的迭代。本示例性实施方式提供的应用程序开发方法,创新性地在低代码开发平台中采用了多人同时开发的模式,突破了现有技术只能支持一人开发一个应用的局限,使得应用程序的开发效率大大提高,加快了应用程序的迭代,从而具有更广阔的应用场景。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种应用程序开发方法及装置的示例性系统架构的示意图;
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
图3示意性示出了根据本公开的一个实施例的应用程序开发方法的流程图;
图4示意性示出了根据本公开的另一个实施例中应用程序开发方法的流程图;
图5示意性示出了根据本公开的又一个实施例中应用程序开发方法的流程图;
图6示意性示出了根据本公开的一个实施例中应用程序开发方法的显示界面示意图;
图7示意性示出了根据本公开的另一个实施例中应用程序开发方法的显示界面示意图;
图8示意性示出了根据本公开的一个实施例中应用程序开发方法的流程图;
图9示意性示出了根据本公开的另一个实施例中应用程序开发方法的流程图;
图10示意性示出了根据本公开的一个实施例中应用程序开发方法的系统架构示意图;
图11示意性示出了根据本公开的一个实施例的应用程序开发装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种应用程序开发方法及应用程序开发装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。在一些示例性实施例中,终端设备101、102、103上可以安装有低代码开发平台,该低代码开发平台可以为不同经验水平的开发人员提供图形化的用户界面,使其通过拖拽组建和模型驱动的逻辑来创建网页和移动应用程序。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的应用程序开发方法一般由服务器105执行,相应地,应用程序开发装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的应用程序开发方法也可以由终端设备101、102、103执行,相应的,应用程序开发装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的方法和装置中限定的各种功能。
低代码开发平台(Low-Code Development Platform,也可简称为LCDP)是一种无需编码或通过少量代码就可以快速生成应用程序的开发平台。它允许终端用户使用易于理解的可视化工具开发自己的应用程序,而不是传统的编写代码方式。终端用户可以通过低代码开发平台构建业务流程、逻辑和数据模型等应用程序所需的功能,完成业务员逻辑、功能构建后,即可一键交付应用并进行更新,实现在多种系统(例如IOS,Android,web等)上的部署。
以下对本公开实施例的技术方案进行详细阐述:
低代码开发平台只能支持单人单应用开发,无法支持多人单应用开发,即多用户无法对同一应用进行同时开发,为了解决这一问题可以采用线下合并的方式来合并多人开发内容,例如采用Git工具将代码文件进行合并。但是,线下合并的方式容易出现覆盖严重,冲突无法解决的问题;并且操作复杂,效率低下。
基于上述一个或多个问题,本示例实施方式提供了一种基于低代码开发平台实现的,新的应用程序开发方法。该应用程序开发方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。参考图3所示,该应用程序开发方法可以包括以下步骤:
步骤S310.获取低代码开发平台中的应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑。
步骤S320.获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息。
步骤S330.根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定。
步骤S340.将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看。
步骤S350.接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
在本示例实施方式所提供的应用程序开发方法中,一方面,各个客户端均可以对应用程序的前端页面进行可视化编辑,当检测到触发更新的操作页面时,根据对应的第一客户端对操作页面进行锁定,避免在该第一客户端进行处理时该操作页面同时被其他客户端处理,从而可以避免多人操作相互覆盖的问题。另一方面,当第一客户端对操作页面进行保存之后,对该操作页面进行解锁,从而使得该操作页面被其他客户端进行处理,可以实现多人共同对一操作页面进行可视化开发的效果,提高开发效率。再一方面,第一客户端对操作页面所做的更新可以实时同步至其他各个客户端上,便于用户及时了解应用程序当前进度,不仅有利于避免冲突,还可以加快应用程序的迭代。本示例性实施方式提供的应用程序开发方法,创新性地在低代码开发平台中采用了多人同时开发的模式,突破了现有技术只能支持一人开发一个应用的局限,使得应用程序的开发效率大大提高,加快了应用程序的迭代,从而具有更广阔的应用场景。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
步骤S310.获取低代码开发平台中的应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑。
本示例实施方式中,应用程序即用户在低代码开发平台上创建的应用,可以包括多个可视化的前端页面,该前端页面在低代码开发平台上也是通过可视化的方式来进行编辑生成的。低代码开发平台可以提供可视化编辑工具来实现可视化编辑,例如用户可以在低代码开发平台提供的编辑页面上通过拖拽的方式为应用程序的前端页面添加或删除控件。可视化编辑可以包括添加、删除前端页面,例如通过点击按钮来新建一个前端页面等,或者添加、删除某一前端页面中的控件,还可以包括编辑控件之间的逻辑规则等,本实施方式对此不做特殊限定。并且,低代码开发平台上可以包括多个应用程序,每个应用程序可以通过应用标识以及应用版本标识来确定。确定需要处理的应用程序的应用标识以及应用版本标识,可以获取每个客户端上低代码平台中对应的应用程序的所有前端页面,以及各个前端页面的低代码文件。每个客户端可以在低代码平台对应用程序的前端页面进行编辑,因此从不同客户端上获取的同一前端页面的当前页面信息可能存在差异。前端页面可以通过页面标识来唯一标识,也就是说,通过应用标识、应用版本标识以及页面标识可以定位到一应用程序的一前端页面上。
步骤S320.获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息。
客户端可以通过低代码平台来对应用程序的各个前端页面进行编辑,例如添加组件、添加逻辑处理等。本实施方式中,第一客户端是对应用程序进行开发的客户端,本实施方式支持多个客户端同时对应用程序进行开发。这些客户端可以针对不同的前端页面进行编辑,也可以对同一前端页面进行编辑。当前页面信息可以指前端页面在客户端上显示的内容,具体可以包括文字、符号、数字、图片等类型的信息,还可以包括页面中各个组件的信息,例如组件的名称、大小、类型等,本实施方式对此不做特殊限定。
从第一客户端的本地缓存中可以读取到每个前端页面的当前页面信息。服务器端可以通过定时任务来实时刷新前端页面在客户端本地的当前页面信息,举例来说,服务端可以设置定时任务每隔预设时间周期读取客户端本地缓存中的各个前端页面的当前页面信息,每次读取到最新的当前页面信息后可以覆盖掉上一次读取的当前页面信息,使得服务端保存的当前页面信息保持最新。
步骤S330中,根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定。
操作页面为前端页面中触发更新的页面,即正在被第一客户端编辑的页面。通过实时监控每个前端页面的当前页面信息,当某一前端页面的当前页面信息发生变动时,则可以将该发生变动的前端页面确定为操作页面。客户端上的某一前端页面发生更新时可以向服务器发送即使通信信息,将触发更新通知给服务器端。具体的,从前端页面中确定当前触发更新的操作页面可以具体包括以下步骤S410、步骤S420以及步骤S430,如图4所示。
步骤S410.获取所述应用程序的各个前端页面对应的已存储页面信息。
其中,服务器会将应用程序的各个前端页面进行保存,生成已存储页面信息。已存储页面信息中可以包括应用程序保存在数据库中的每个前端页面的页面信息,例如页面中的组件信息、页面中包含的图片、数据等信息,本实施方式不限于此。举例而言,服务器可以通过应用标识、应用版本标识以及页面标识从内存服务器中获取每个前端页面对应的已存储页面信息。
步骤S420.针对每个所述前端页面,对所述前端页面的第一客户端本地的所述当前页面信息与所述已存储页面信息进行对比,当所述当前页面信息与所述已存储页面信息一致时,将所述前端页面的状态属性确定为编辑状态。
根据每个前端页面的页面标识可以确定该前端页面对应的已存储页面信息,进而将该前端页面的当前页面信息与已存储页面信息进行对比,判断该前端页面是否触发更新,如果当前页面信息与服务器中存储的已存储页面信息一致,则可以确定该前端页面当前没有触发更新。当前端页面的当前页面信息与已存储页面信息一致时,可以将该前端页面的状态属性确定为编辑状态。
步骤S430.当所述当前页面信息与所述已存储页面信息不一致时,确定所述前端页面为所述操作页面。
当前端页面的当前页面信息与该前端页面对应的已存储页面信息不一致时,则可以确定该前端页面当前触发了更新,页面内容发生变动,从而可以将该前端页面作为操作页面。并且,当前端页面当前触发更新时,可以将该前端页面的状态属性确定为锁定状态。本示例性实施方式中,对每个前端页面可以设置一状态属性,通过状态属性可以提示终端用户该前端页面当前是否触发更新。也就是说,当前端页面的状态属性为编辑状态时,则前端页面未被锁定,而当前端页面的状态属性为锁定状态时,则该前端页面为被锁定的操作页面。并且,通过该状态属性来控制每个前端页面的操作权限,例如当状态属性为编辑状态时,可以开放前端页面的编辑权限,使得终端用户对该前端页面进行编辑,例如增加组件、修改组件等等。当前端页面的状态属性为锁定状态时,可以开放前端页面的查看权限,以供终端用户对该前端页面进行查看,例如查看前端页面中的页面内容,查看该前端页面当前的操作客户端等等。此外,状态属性还可以包括其他状态,例如,删除状态等,通过该删除状态控制前端页面的删除权限等,本实施方式不以此为限。
检测到前端页面中触发更新的操作页面时,可以确定触发该操作页面更新的客户端,将触发该操作页面更新的客户端确定为操作页面对应的客户端,利用该客户端对该操作页面添加锁定,使得该操作页面对应的客户端可以拥有该操作页面的编辑权限,而不能再被其他客户端编辑。例如,当第一客户端中的操作页面A中新增了一个控件,则第一客户端为操作页面A对应的客户端,通过该第一客户端对操作页面A进行锁定。锁定操作页面的方法具体可以包括步骤S510、步骤S520以及步骤S530,如图5所示。
步骤S510.确定所述操作页面的标识信息,以及所述第一客户端的用户标识。
本示例性实施方式中,标识信息可以用于对前端页面进行唯一标识,标识信息可以包括操作页面的页面标识,还可以包括操作页面对应的应用程序的标识,例如应用id、应用版本id等等。标识信息可以由数字、文字、符号组成等,也可以包括其他信息,例如字母等,本实施方式对此不做特殊限定。示例性的,操作页面的标识信息可以包括应用id、应用版本id以及页面id。
第一客户端的用户标识可以用于对终端或者终端用户进行唯一标识,其具体可以包括用户身份信息,例如用户名、用户id等等;也可以包括终端的属性信息,例如终端的IP地址、终端id等等;还可以包括其他信息,例如,用户电话号码、身份证号等,本实施方式对此不做特殊限定。第一客户端可以实时对应用程序的各个前端页面进行监控,对比服务器上最近一次存储的已存储页面信息,在前端页面发生变化时将发生变化的前端页面标记为操作页面,并将自己的用户标识以及操作页面的标识信息发送至服务器,从而使得服务器获取到所有客户端的操作页面以及每个操作页面对应的用户标识。
步骤S520.将所述页面标识与所述用户标识进行关联,生成锁定信息。
在服务端可以对页面标识与用户标识进行关联保存生成锁定信息。例如,该锁定信息中可以包含多组记录,每组记录中包含一页面标识以及用户标识。该锁定信息可以以表格、数据库、列表等各种形式生成,例如以表格生成时,表格的每行数据可以包括一页面标识与用户标识;以数据库生成时,页面标识可以作为key进行存储,而用户标识可以作为该key对应的value值进行存储等。本实施方式中,通过锁定信息将发生更新的操作页面以及触发操作页面更新的客户端进行绑定,从而使得操作页面只能被对应的客户端进行编辑,避免在同时开发应用程序时同一前端页面上的更新产生冲突。
在步骤S530中,将所述锁定信息同步至所述第二客户端,以使所述第二客户端利用所述锁定信息将所述操作页面的状态属性更新为锁定状态。
生成锁定信息之后,可以将锁定信息发送至各个第二客户端,第二客户端接收到锁定信息后可以利用锁定信息对应用程序的各个前端页面的状态属性进行更新,从而将操作页面的状态属性更新为锁定状态。
需要说明的是,在每个客户端都可以看到应用程序所有前端页面的状态属性,可以设置不同的标识来对不同的状态属性进行标识,例如通过不同的图像来标识,编辑状态对应“图案一”,锁定状态对应“图案二”,具体的图案可以根据实际需求确定。此外,也可以通过其他方式对状态属性进行标识,例如数字、显示颜色等等、本实施方式对此不做特殊限定。
示例性实施方式中,接收到客户端对所述应用程序的请求时,根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面。客户端对不同状态属性的前端页面的操作权限不同,因而对应的编辑页面也不同。当客户端请求获取应用程序的前端页面或者代码文件时,服务器在接收到请求后可以生成应用程序的前端页面的编辑页面,供客户端用户在该编辑页面中对应用程序的前端页面进行可视化编辑。具体的,当所述前端页面的状态属性为编辑状态时,在所述客户端的所述前端页面的编辑页面中显示更新控件,通过所述更新控件使所述客户端对所述前端页面进行更新;当所述前端页面的状态属性为锁定状态时,确定所述客户端是否为所述前端页面相关联的客户端,若所述客户端与所述前端页面相关联,则在所述前端页面的所述编辑页面中显示所述更新控件;当所述客户端与所述前端页面不关联,则在所述编辑页面中显示所述前端页面的当前页面信息。
其中,更新控件可以包括多个,例如添加页面元素的控件、删除页面元素的控件等。根据页面的开发需求可以预先设置多个更新控件,在编辑页面的特定区域中可以显示多个更新控件,每个更新控件可以为不同的类型,用户通过拖拽这些更新控件可以向前端页面中添加不同类型的页面元素。当某一状态属性为锁定状态的前端页面与该客户端不关联时,可以在编辑页面中显示该前端页面的当前页面信息,例如将当前页面信息生成一预览页面显示在编辑页面的特定位置。并且,该编辑页面中还可以包括状态属性的标识,例如锁定状态的标识、编辑状态的标识等等,通过该状态属性的标识提示用户前端页面是否可被编辑。
举例来说,如图6所示,在一客户端的编辑页面600中,前端页面1为锁定状态,通过标识610来标记该锁定状态,而对于非锁定状态的其他前端页面则通过标识620来进行标记。终端用户看到该标识620则可以清楚地知道该前端页面为编辑状态,可以被编辑。示例性的,在客户端的编辑页面中还可以对于每个前端页面的更新历史进行展示,即前端页面每次更新的页面信息进行显示,如历史页面630等。对前端页面进行编辑完成后,用户可以通过点击按钮640来触发保存操作,从而将自己修改后的前端页面进行保存。低代码平台中还可以查看每个前端页面的代码文件,如图7所示,在代码编辑页面700中,前端页面710的代码文件为锁定状态,而前端页面720对应的代码文件720为编辑状态,在代码编辑区域730中用户可以编辑前端页面720的代码。终端用户可以查看状态属性为锁定状态的代码文件,而对于状态属性为编辑状态的代码文件则可以进行编辑。也就是说,用户在编辑页面中可以查看任意一前端页面的页面信息,即对前端页面进行预览;并且编辑页面中还可以显示被锁定的操作页面对应的第一客户端的信,使得用户可以查看到该操作页面是被哪一个终端用户锁定;而对于编辑状态的前端页面则可以进行内容更新。在示例性实施方式中,在所述编辑状态下响应客户端对所述前端页面的更新操作,对所述前端页面的当前页面信息进行更新;在所述锁定状态下响应操作页面对应的操作客户端对所述操作页面的更新操作,对所述操作页面的当前页面信息进行更新;在所述锁定状态下响应客户端对所述操作页面的查看操作,在所述客户端展示所述操作页面的当前页面信息。
具体的,更新操作可以包括对前端页面的页面信息的修改、添加、删除操作,例如在编辑页面中移动前端页面中组件A的位置、增加一组件B、删除一组件C等。如果前端页面为编辑状态,则任意客户端都可以编辑该前端页面,在该前端页面上触发更新操作,来对前端页面的页面信息进行修改、添加、删除等更新。如果前端页面的状态属性为锁定状态,则除了该前端页面对应的第一客户端之外,其他各个客户端,即第二客户端只能打开查看该前端页面,查看该前端页面当前的页面信息,而第一客户端则可以对该前端页面进行更新操作。
在步骤S340中,将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看。
本示例性实施方式中,响应所述第一客户端对所述操作页面的更新操作,将所述操作页面更新后的页面信息实时广播至各个客户端。当第一客户端对操作页面进行更新时,服务器可以实时监控操作页面上的每个更新操作,并从第一客户端本地缓存中获取每次更新操作更新后的页面信息广播至各个第二客户端,以便于在各个客户端可以实时地查看到操作页面当前的进度,有利于避免冲突,提高开发效率。
步骤S350.接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便所述第二客户端对所述操作页面进行可视化编辑。
保存操作可以通过操作页面上的控件来触发,例如点击按钮等。第一客户端对操作页面进行锁定之后,其他客户端则无法对该操作页面进行编辑,而第一客户端可以对该操作页面继续进行更新,直到编辑完成,执行保存操作。当第一客户端对操作页面执行保存操作后,服务器可以获取该第一客户端本地上更新后的页面信息,该更新后的页面信息即为操作页面当前需要保存的页面信息,服务器获取到更新后的页面信息后可以将其保存在内存服务器中,例如redis数据库等,以及将更新后的页面信息同步至各个客户端。对操作页面进行解锁指的是释放掉操作页面的锁定,并且还可以将操作页面与其对应的第一客户端之间的关联关系进行删除,或者将操作页面的状态属性更改为编辑状态。当操作页面被执行保存操作时,服务器可以对该操作页面进行解锁,以使该操作页面的状态属性更新为编辑状态,并取消对该操作页面的标记,使其恢复成未锁定的前端页面。
示例性实施方式中,当所述第一客户端撤销在所述操作页面上触发的更新时,将所述操作页面进行解锁。第一客户端在对其操作页面进行锁定之后,具有该操作页面的编辑权限,可以继续对该操作页面进行更新,如果更新之后该操作页面恢复成触发更新之前的前端页面,则可以对该操作页面进行解锁。举例而言,每隔1分钟可以对各个前端页面的当前的页面信息进行一次获取,并与已存储页面信息进行对比,如果前端页面A与其对应的已存储页面信息不一致,则可以确定前端页面A触发更新,将其进行锁定;如果下一次对比发现该前端页面A与对应的已存储页面信息一致,则对其释放锁定,即对其进行解锁。例如,终端用户A对前端页面B添加了组件a,在进行对比时确定该前端页面B当前的页面信息与已存储页面信息不一致,则对该前端页面B进行加锁;由于该终端用户A为该前端页面关联的第一客户端,因此该终端用户A可以继续对该前端页面进行更新,如果该终端用户A又删除了之前添加的组件a,则在下一次对比时会发现该前端页面B与其对应的已存储页面信息一致,则再释放掉该前端页面B的锁定。也就是说,如果第一客户端对一前端页面触发了更新之后,该前端页面可以作为操作页面,并被该第一客户端进行锁定;当该第一客户端又删除了在操作页面上触发的更新时,则可以将该操作页面进行解锁。
将操作页面进行解锁之后,具体还可以包括步骤S810以及步骤S820,如图8所示。具体的,步骤S810.从所述锁定信息中删除所述操作页面与所述第一客户端的所述关联,以对所述锁定信息进行更新;步骤S820.根据更新后的锁定信息更新各个客户端的所述应用程序的各个前端页面的状态属性。
根据操作页面的标识信息可以从锁定信息中查找到该操作页面对应的关联记录,从而将该条关联记录进行删除。将锁定信息中操作页面对应的关联记录删除之后,可以将锁定信息重新发送至各个客户端,客户端在接收到锁定信息之后可以对应用程序的每个前端页面的状态属性进行更新。根据前端页面的标识信息对每个前端页面依次进行查询,确定锁定信息中是否存在前端页面对应的关联记录,如果存在则该前端页面的状态属性为锁定状态,如果锁定信息中不存在前端页面的关联记录则该前端页面的状态属性为编辑状态。
举例来说,当该操作页面A上触发了保存操作时,则服务器可以对该操作页面A进行解锁,从锁定信息中删去该操作页面A对应的记录,将操作页面A与其对应的操作客户端a的关联信息删除,使其回到编辑状态,各个客户端可以重新对该页面A拥有编辑权限,当检测到该页面A再次被更新时,例如该页面A被客户端b触发更新,则对该页面A与客户端b建立关联,并对将该页面A重新加锁,该页面A又一次回到锁定状态。可见,本实施方式中,多人可以通过串行的方式对同一前端页面进行编辑,无需线下合并,可以缩短应用程序的开发周期,加速迭代。
在本示例性实施方式中,将操作页面在第一客户端上更新的页面信息同步至各个客户端具体可以包括步骤S910以及步骤S920,如图9所示。
步骤S910.接收到所述第一客户端对所述操作页面的保存操作时,利用所述第一客户端本地上所述操作页面更新后的页面信息更新所述操作页面对应的已存储页面信息。已存储页面信息可以包括各个前端页面初始的页面信息,例如前端页面中包含的各个组件的信息等。每当操作页面上触发保存操作时,可以将更新后的操作页面的页面信息保存在已存储信息中。客户端和服务器可以使用长链接进行即时通信,例如websocket等,从而可以收集每个客户端上更新的操作页面的页面信息,完成已存储页面信息的实时更新。
步骤S920.通过更新后的已存储页面信息更新各个客户端上的所述应用程序。将更新后的已存储页面信息发送至各个客户端,客户端接收到已存储页面信息后可以对每个前端页面的页面信息进行互相同步,即,获取从其他客户端对应的操作页面的更新,并将自己操作的操作页面的更新同步至其他客户端。举例来说,客户端a对操作页面A进行更新并执行保存操作,客户端b对操作页面B进行更新和保存,客户端c对操作页面C进行更新和保存,则服务器获取各个客户端上的更新后的页面信息之后同步至已存储页面信息中,并将该已存储页面信息发送至各个客户端,客户端a接收到已存储页面信息后,可以对页面B、C进行更新,客户端b可以利用已存储页面信息对页面A、C进行更新,客户端c则可以利用已存储页面信息对页面B、C进行更新,从而将各个客户端上分别操作的页面进行互相同步,使得多人共同对同一应用程序进行开发。
图10示出了本公开一种示例性实施方式中的应用程序开发方法的系统架构图。参考图10所示,在客户端1001、客户端1002上可以对应用程序对应的各个前端页面进行修改、查看等操作。客户端1001、1002可以执行步骤S1010,将当前触发更新的操作页面的信息上传至服务器。具体的,服务器可以将最近一次存储的已存储页面信息发送至各个客户端,以供客户端将前端页面的当前页面信息与已存储页面信息进行对比,确定是否一致,如果不一致则整理出所有变动的页面的标识信息,例如页面id、应用id以及版本id,将发生变动的页面的标识信息发送至服务器。服务器端1003执行步骤S1020,根据客户端发送的信息对锁定信息进行更新。具体的,根据客户端发送的当前更新的操作页面的信息以及客户端自身的用户标识与服务器端存储的锁定信息进行对比,对比用户标识关联的操作页面的标识信息是否一致,如果不一致则将客户端发送的操作页面的标识信息以及该客户端的用户标识进行关联,添加到锁定信息中,完成锁定信息的更新。服务器端1003执行步骤S1030,将锁定信息发送至各个客户端。在客户端接收到更新后的锁定信息之后,客户端执行步骤S1040,根据锁定信息对各个前端页面的状态属性进行更新。具体的,客户端1001将锁定信息中其他客户端,即客户端1002的用户标识对应的操作页面的状态属性更新为锁定状态,客户端1002将锁定信息中由客户端1001的用户标识对应的操作页面的状态属性更新为锁定状态。对于锁定信息中不包含的前端页面则继续保持为编辑状态。在步骤S1050中,当客户端1001触发保存操作时向服务器1003发送请求。客户端的显示界面中可以包含一触发控件,例如“保存”按钮等,用户点击该触发控件之后客户端可以向服务器发送请求,请求保存当前的页面信息。在步骤S1060中,服务器获取客户端1001的操作页面,并将该操作页面存储在内存服务器中。内存服务器可以对所有客户端保存的页面信息进行存储,生成已存储页面信息。在步骤S1070中,服务器从内存服务器中读取最新的已存储页面信息同步至各个客户端。在步骤S1080中,客户端更新应用程序的所有前端页面。示例性的,每当有一个客户端触发保存操作时,服务器可以将该客户端要保存的操作页面保存至内存服务器中,以对已存储页面信息进行更新,并将更新后的已存储页面信息同步至各个客户端中,从而更新应用程序在各个客户端上的前端页面,使得各个客户端用户都能够了解到当前应用程序的开发进度。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中,还提供了一种应用程序开发装置。该应用程序开发装置可以应用于一服务器或终端设备。参考图11所示,该应用程序开发装置1100包括:数据获取模块1110,用于获取应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑;页面确定模块1120,用于获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息;页面锁定模块1130,用于根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定;页面同步模块1140,用于将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看;页面解锁模块1150,用于接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
在本公开的一种示例性实施例中,所述前端页面包括状态属性;所述页面锁定模块1130包括:标识确定模块,用于确定所述操作页面的标识信息,以及所述第一客户端的用户标识;锁定信息确定模块,用于将所述标识信息与所述用户标识进行关联,生成锁定信息;锁定信息同步模块,用于将所述锁定信息同步至所述第二客户端,以使所述第二客户端利用所述锁定信息将所述操作页面的状态属性更新为锁定状态。
在本公开的一种示例性实施例中,所述页面锁定模块1130包括:已存储信息获取模块,用于获取所述应用程序的各个前端页面对应的已存储页面信息;页面对比模块,用于针对每个所述前端页面,对所述前端页面的第一客户端本地的所述当前页面信息与所述已存储页面信息进行对比,当所述当前页面信息与所述已存储页面信息一致时,将所述前端页面的状态属性确定为编辑状态;操作页面确定模块,用于当所述当前页面信息与所述已存储页面信息不一致时,确定所述前端页面为所述操作页面。
在本公开的一种示例性实施例中,所述装置1100还包括:编辑页面生成模块,用于在接收到客户端对所述应用程序的请求时,根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面。
在本公开的一种示例性实施例中,所述编辑页面生成模块包括:页面更新模块,用于当所述前端页面的状态属性为编辑状态时,在所述客户端的所述前端页面的编辑页面中显示更新控件,通过所述更新控件使所述客户端对所述前端页面进行更新;锁定更新模块,用于当所述前端页面的状态属性为锁定状态时,确定所述客户端是否为所述前端页面相关联的客户端,若所述客户端与所述前端页面相关联,则在所述前端页面的所述编辑页面中显示所述更新控件;页面查看模块,用于当所述客户端与所述前端页面不关联,则在所述编辑页面中显示查看控件,通过所述查看控件使所述客户端对所述前端页面进行查看。
在本公开的一种示例性实施例中,所述装置1100还包括:页面关联模块,用于从所述锁定信息中删除所述操作页面与所述第一客户端的所述关联,以对所述锁定信息进行更新;状态更新模块,用于根据更新后的锁定信息更新所述各个客户端的所述应用程序的各个前端页面的状态属性。
在本公开的一种示例性实施例中,所述装置1100还包括:页面保存模块,用于接收到所述第一客户端对所述操作页面的保存操作时,利用所述第一客户端本地的所述操作页面更新后的页面信息更新所述操作页面对应的已存储页面信息;应用同步模块,用于通过更新后的已存储页面信息更新各个客户端上的所述应用程序。
在本公开的一种示例性实施例中,所述页面解锁模块1150被配置为:当所述第一客户端撤销在所述操作页面上触发的更新时,将所述操作页面进行解锁。
上述应用程序开发装置中各模块或单元的具体细节已经在对应的应用程序开发方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述述实施例中所述的应用程序开发方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种应用程序开发方法,其特征在于,包括:
获取低代码开发平台中的应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑;
获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息;
根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定;
将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看;
接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
2.根据权利要求1所述的应用程序开发方法,其特征在于,所述前端页面包括状态属性;所述对所述操作页面进行锁定包括:
确定所述操作页面的标识信息,以及所述第一客户端的用户标识;
将所述标识信息与所述用户标识进行关联,生成锁定信息;
将所述锁定信息同步至所述第二客户端,以使所述第二客户端利用所述锁定信息将所述操作页面的状态属性更新为锁定状态。
3.根据权利要求2所述的应用程序开发方法,其特征在于,所述根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面包括:
获取所述应用程序的各个前端页面对应的已存储页面信息;
针对每个所述前端页面,对所述前端页面的第一客户端本地的所述当前页面信息与所述已存储页面信息进行对比,当所述当前页面信息与所述已存储页面信息一致时,将所述前端页面的状态属性确定为编辑状态;
当所述当前页面信息与所述已存储页面信息不一致时,确定所述前端页面为所述操作页面。
4.根据权利要求2所述的应用程序开发方法,其特征在于,还包括:
接收到客户端对所述应用程序的请求时,根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面。
5.根据权利要求4所述的应用程序开发方法,其特征在于,所述根据所述前端页面的状态属性生成所述客户端的所述前端页面的编辑页面包括:
当所述前端页面的状态属性为编辑状态时,在所述客户端的所述前端页面的编辑页面中显示更新控件,通过所述更新控件使所述客户端对所述前端页面进行更新;
当所述前端页面的状态属性为锁定状态时,确定所述客户端是否为所述前端页面相关联的客户端,若所述客户端与所述前端页面相关联,则在所述前端页面的所述编辑页面中显示所述更新控件;
当所述客户端与所述前端页面不关联,则在所述编辑页面中显示所述前端页面的当前页面信息。
6.根据权利要求2所述的应用程序开发方法,其特征在于,所述接收到所述第一客户端对所述操作页面的保存操作之后,所述方法还包括:
从所述锁定信息中删除所述操作页面与所述第一客户端的所述关联,以对所述锁定信息进行更新;
根据更新后的锁定信息更新各个客户端的所述应用程序的各个前端页面的状态属性。
7.根据权利要求3所述的应用程序开发方法,其特征在于,所述接收到所述第一客户端对所述操作页面的保存操作之后,所述方法还包括:
接收到所述第一客户端对所述操作页面的保存操作时,利用所述第一客户端本地的所述操作页面更新后的页面信息更新所述操作页面对应的已存储页面信息;
通过更新后的已存储页面信息更新各个客户端上的所述应用程序。
8.根据权利要求1所述的应用程序开发方法,其特征在于,所述将所述操作页面进行解锁包括:
当所述第一客户端撤销在所述操作页面上触发的更新时,将所述操作页面进行解锁。
9.一种应用程序开发装置,其特征在于,包括:
数据获取模块,用于获取应用程序对应的各个前端页面,其中,所述低代码开发平台用于对所述前端页面进行可视化编辑;
页面确定模块,用于获取对所述应用程序进行可视化编辑的第一客户端本地的所述前端页面的当前页面信息;
页面锁定模块,用于根据所述前端页面的当前页面信息确定在所述第一客户端中当前触发更新的操作页面,并对所述操作页面进行锁定;
页面同步模块,用于将所述操作页面的当前页面信息实时同步至第二客户端中,以供所述第二客户端对所述操作页面进行查看;
页面解锁模块,用于接收到所述第一客户端对所述操作页面的保存操作时,将所述操作页面进行解锁,以便于所述第二客户端对所述操作页面进行可视化编辑。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的应用程序开发方法。
CN202110438525.3A 2021-04-22 2021-04-22 应用程序开发方法及装置、电子设备、可读介质 Pending CN115237394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110438525.3A CN115237394A (zh) 2021-04-22 2021-04-22 应用程序开发方法及装置、电子设备、可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110438525.3A CN115237394A (zh) 2021-04-22 2021-04-22 应用程序开发方法及装置、电子设备、可读介质

Publications (1)

Publication Number Publication Date
CN115237394A true CN115237394A (zh) 2022-10-25

Family

ID=83666463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110438525.3A Pending CN115237394A (zh) 2021-04-22 2021-04-22 应用程序开发方法及装置、电子设备、可读介质

Country Status (1)

Country Link
CN (1) CN115237394A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270837A (zh) * 2023-11-17 2023-12-22 冠骋信息技术(苏州)有限公司 基于低代码的手机应用设计的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117270837A (zh) * 2023-11-17 2023-12-22 冠骋信息技术(苏州)有限公司 基于低代码的手机应用设计的方法及系统
CN117270837B (zh) * 2023-11-17 2024-02-02 冠骋信息技术(苏州)有限公司 基于低代码的手机应用设计的方法及系统

Similar Documents

Publication Publication Date Title
US11106862B2 (en) Combining modalities for collaborating while editing and annotating files
CN102187314B (zh) 生成适用于数据集的资源脚本的方法和系统
US20210333984A1 (en) Method and apparatus for generating customized visualization component
CN106648903B (zh) 调用分布式文件系统的方法和装置
CN111045999A (zh) 文档展示方法、装置、计算机设备及存储介质
CN112632919B (zh) 一种文档编辑方法、装置、计算机设备和存储介质
CN110865843B (zh) 页面回溯、信息备份与问题解决方法、系统及设备
CN111444139A (zh) 一种文件管理方法、装置、设备及存储介质
CN111224860B (zh) 通信会话的实现方法及装置、电子设备、可读存储介质
CN111651418B (zh) 一种文档内容下载方法、装置、计算机设备和存储介质
CN115526578A (zh) 生成项目流的方法、装置、电子设备及存储介质
CN112269572A (zh) 流程处理方法、装置、服务器和计算机可读存储介质
CN110428217A (zh) 一种erp系统
US11706170B2 (en) Collaborative editing method of an electronic mail, electronic device, and storage medium
CN113010328A (zh) 信息分享方法、装置、终端设备及存储介质
CN111612639A (zh) 一种应用于保险方案的同步交流方法及系统
CN108062232A (zh) 一种自动创建分支的系统及方法
CN115237394A (zh) 应用程序开发方法及装置、电子设备、可读介质
CN115167972A (zh) 一种云原生平台集成方法及系统
CN115079872B (zh) 一种文档处理方法、装置、设备和介质
CN115577040A (zh) 层级数据同步方法、装置、电子设备和可读介质
CN115687503A (zh) 数据库间的数据同步方法、装置、设备及存储介质
CN113761510A (zh) 用户信息处理方法、装置、设备及其介质
CN113204790B (zh) 一种视图权限处理方法、装置、设备及介质
CN110554950B (zh) 一种界面调试方法、装置及存储介质

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