应用程序的自动部署制造技术

技术编号:24035013 阅读:105 留言:0更新日期:2020-05-07 01:39
实施方式总体上涉及一种基于一个应用程序代码源来自动生成用于多个平台的应用程序的方法。实施方式包括从客户端设备接收信号以便例如通过图形用户界面(GUI)来启动应用程序生成过程。在实施方式中,所述应用程序生成过程分析所述应用程序代码以在许多平台之间共享的核心应用程序代码与特定于设备的代码之间进行区分,并且然后将所述核心应用程序代码与所述特定于设备的代码分开。所述核心应用程序代码然后可以被部署用于在比如web应用程序、渐进式web应用程序等多个应用程序中使用,或者当与特定于设备的代码结合时作为本机移动应用程序来使用。应用程序可以部署有基于其部署方法以及每个平台的特征集而自动确定的特征。

Automatic deployment of applications

【技术实现步骤摘要】
应用程序的自动部署相关申请的交叉引用本申请要求于2019年3月28日提交的名称为“AUTO-DEPLOYMENTOFAPPLICATIONS(应用程序的自动部署)”的美国专利申请序列号16/368,682(ORACP0240/ORA190138-US-NP)以及于2018年10月9日提交的名称为“AUTO-DEPLOYMENTBETWEENNATIVEMOBILEDEVICE,PROGRESSIVEWEBAPPLICATIONS,ANDWEBAPPLICATIONS(本机移动设备、渐进式WEB应用程序、以及WEB应用程序之间的自动部署)”的美国临时专利申请序列号62/743,420(ORACP0240P/ORA190138-US-PSP)的权益,这两个美国专利申请出于所有目的如同在本申请中完整阐述的那样通过引用结合在此。
技术实现思路
由于消费者使用许多软件平台(例如,移动平台、web平台),公司通常会针对每个平台开发应用程序(经常是单独的应用程序)。例如,公司经常会开发可以在计算机浏览器或移动电话浏览器上查看的与本机移动设备应用程序分开的web应用程序。进一步地,比如用于iOS平台的本机移动设备应用程序通常将与用于比如ANDROID平台等另一应用程序平台的本机移动设备应用程序分开开发。为这些平台中的每个平台开发并维护单独的应用程序可能是昂贵且耗时的。渐进式web应用程序(Processivewebapplication,PWA)是一种同样由许多公司开发和维护的新型应用程序。PWA是具有本机移动应用程序的一些特征的web应用程序,这些特征有比如访问设备权限、推送通知和主页屏幕图标。如Cordova等软件框架是可用的,使得开发人员可以编写一次代码并根据此代码来构建本机ANDROID、本机iOS、PWA和web应用程序。这样做减少开发时间,因为不需要为每个平台维护单独的代码库。然而,即使利用共享代码,为多个平台构建并部署应用程序仍然是一个手动的、特定于平台的过程。本文所描述的实施例提供了一种用于响应于输入信号而为不同平台(例如,web、本机iOS、本机ANDROID、PWA)自动生成并部署应用程序的方法,所述输入信号可以是用户提供的输入或从自动流水线生成的信号。应用程序被部署为具有基于其部署方法以及每个平台的特征集而自动确定的特征。例如,如果web应用程序仅能在应用程序打开时获得设备位置,而本机移动应用程序可以在应用程序打开和处于后台两种情况下获得设备位置,则所部署的应用程序将考虑平台和这种相应的特征集。当开发人员请求位置跟踪作为其应用程序的特征时,根据平台的能力,本机移动应用程序将在app活动或处于后台时获得位置跟踪,而web应用程序将仅在app活动时获得位置跟踪。如在这个示例中,基于部署方法和平台的特征集来自动确定特征,而无需进一步编程。通过参考说明书的其余部分和所附附图,可以实现对本文公开的特定实施例的本质和优点的进一步理解。附图说明图1图示了示例设备上的应用程序生成环境的框图。图2图示了包括核心应用程序代码和特定于设备的代码在内的应用程序代码的框图。图3图示了展示自动生成应用程序的示例性过程的高级流程图。图4图示了移动设备开发的示例用户界面。图5图示了用于管理特定于设备的代码的配置的示例用户界面。图6图示了用于配置iOS特定构建信息的示例用户界面。图7图示了用于配置ANDROID特定构建信息的示例用户界面。图8图示了用于配置渐进式Web应用程序特定构建信息的示例用户界面。图9图示了用于启动应用程序分级过程的示例用户界面。图10图示了用于对应用程序到不同平台的部署进行配置的示例用户界面。图11图示了用于测试分级应用程序的示例用户界面。图12图示了可以用于本文所描述的实施方式的示例系统的框图。图13图示了可以用于本文所描述的实施方式的示例网络环境的框图。具体实施方式实施方式总体上涉及一种基于一个应用程序代码源来自动生成用于多个平台的应用程序的方法。如本文更详细描述的,可以接受例如来自客户端设备的一个或多个信号以启动应用程序生成过程。在应用程序生成过程期间,可以确定可在所有或一些平台之间共享的核心应用程序代码,并且然后将其与可能已经例如由开发人员或设计人员等配置的特定于设备的代码隔离。然后可以将核心应用程序代码部署为比如web应用程序、渐进式web应用程序等应用程序,或者当与特定于设备的代码结合时作为本机移动应用程序等。应用程序可以部署有基于比如其部署方法以及每个平台的特征集等因素而自动确定的特征。本文所描述的实施方式提供了一种图形用户界面(GUI),所述GUI使开发人员能够以便利的方式定义能够在不同平台(例如,web、本机iOS、本机ANDROID、PWA等)中使用的应用程序的共同要求,和/或定义要部署的应用程序的设备特定要求,和/或测试根据一些实施方式自动生成并部署的应用程序。图1图示了在示例设备和平台上实例化的可以用于本文所描述的实施方式的应用程序生成系统100的框图。所示出的是可以经由网络106彼此通信的客户端设备102、web服务104、ANDROID应用程序120、iOS应用程序122、渐进式Web应用程序(PWA)124、web应用程序126、和数据库128。在各种实施方式中,客户端设备102可以直接从web服务104访问服务和数据。在一些实施方式中,客户端设备102包括表单组件110,所述表单组件被配置用于生成用户界面(UI)组件以便接收来自一个或多个用户的输入。在一些其他实施方式中,客户端设备102包括例如用于接收来自一个或多个用户的输入的一个或多个GUI,所述一个或多个GUI可以包括由表单组件110生成的UI组件。网络106还可以与可以接收一个或多个所生成的应用程序的其他客户端设备进行通信。例如,ANDROID应用程序120、iOS应用程序122、和渐进式Web应用程序124可以被部署到移动设备,而Web应用程序126可以由台式计算机或膝上型计算机访问。本文更详细地描述了与应用程序生成系统100相关联的示例实施方式。应用程序生成系统100可以是任何类型的计算系统和/或数据处理系统,比如企业计算环境、客户端-服务器系统等。应用程序生成系统100可以被配置用于处理从比如键盘、鼠标等用户界面接收的关于与如本文所描述的数据元素、应用程序、信息等相关联的比如确定并区分代码类型、生成、配置、建模、标记、数据绑定、维护等过程的数据。注意,应用程序生成系统100呈现了可以至少部分地在服务器上实施用于实施实施例的计算机代码的特定示例实施方式。然而,实施例并不限于此。例如,托管在例如客户端设备102上的客户端侧软件应用程序可以根据本教导提供应用程序生成系统100或其部分,而无需客户端侧软件应用程序与服务器之间的通信。在一种示例性实施方式中,应用程序生成系统100可以通信地连接到被配置用于例如向其用户显示数据的显示器。如本文所描述本文档来自技高网...

【技术保护点】
1.一种用于自动生成并部署应用程序的方法,所述方法包括:/n接受信号以启动应用程序生成过程;/n接收应用程序代码以用于分析;/n检查所述应用程序代码的属性以确定核心应用程序代码与特定于设备的代码;以及/n将核心应用程序代码与特定于设备的代码隔离。/n

【技术特征摘要】
20181009 US 62/743,420;20190328 US 16/368,6821.一种用于自动生成并部署应用程序的方法,所述方法包括:
接受信号以启动应用程序生成过程;
接收应用程序代码以用于分析;
检查所述应用程序代码的属性以确定核心应用程序代码与特定于设备的代码;以及
将核心应用程序代码与特定于设备的代码隔离。


2.如权利要求1所述的方法,其中,所述应用程序被部署为具有基于其部署方法以及每个平台的特征集而自动确定的特征。


3.如权利要求1所述的方法,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为web应用程序的核心应用程序代码的子集。


4.如权利要求1所述的方法,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为渐进式web应用程序的核心应用程序代码的子集。


5.如权利要求1所述的方法,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为本机移动应用程序的核心应用程序代码的子集和特定于设备的代码的子集。


6.如权利要求1所述的方法,进一步包括:分析至少一个平台的核心应用程序代码要求,以判定所述核心应用程序代码是否将在所述平台上在至少一个可接受容错阈值内运行。


7.如权利要求1所述的方法,进一步包括:分析至少一个平台的核心应用程序代码要求,以判定所述特定于设备的代码是否将在所述平台上在至少一个可接受容错阈值内运行。


8.如权利要求1所述的方法,进一步包括:分析至少两个平台的核心应用程序代码要求,以确定可接受用于在所述至少两个平台上在所述至少两个平台中的每个平台的至少一个可接受容错阈值内使用的核心应用程序代码的子集。


9.如权利要求1所述的方法,进一步包括:分析至少一个平台的核心应用程序代码要求,以确定可接受用于在所述至少一个平台上在所述至少一个平台的至少一个可接受处理器效率水平内使用的核心应用程序代码的子集。


10.如权利要求1所述的方法,进一步包括:分析至少一个平台的特定于设备的代码要求,以确定可接受用于在所述至少一个平台上在所述至少一个平台的至少一个可接受处理器效率水平内使用的特定于设备的代码的子集。


11.一种包括一个或多个指令的非暂时性计算机可读介质,所述一个或多个指令可由一个或多个处理器执行以用于:
接受信号以启动应用程序生成过程;
接收应用程序代码以用于分析;
检查所述应用程序代码的属性以确定核心应用程序代码与特定于设备的代码;以及
将核心应用程序代码与特定于设备的代码隔离。


12.如权利要求9所述的非暂时性计算机可读介质,其中,所述应用程序被部署为具有基于其部署方法以及每个平台的特征集而自动确定的特征。


13.如权利要求9所述的非暂时性计算机可读介质,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为web应用程序的核心应用程序代码的子集。


14.如权利要求9所述的非暂时性计算机可读介质,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为渐进式web应用程序的核心应用程序代码的子集。


15.如权利要求9所述的非暂时性计算机可读介质,其中,检查所述应用程序代码的属性进一步包括:根据所述应用程序代码的属性来确定要被部署为本机移动应用程序的核心应用程序代码的子集和特定于设备的代码的子集。


16.如权利要求9所述的非暂时性计算机可读介质,进一步包括:分析至少一个平台的核心应用程序代码要求,以判定所述核心应用程序代码是否将在所述平台上在至少一个可接受容错阈值内运行。


17.如权利要求9所述的非暂时性计算机可读介质,进一步包括:分析至少一个平台的特定于设备的代码要求,以判定所述特定于设备的代码是否将在所述平台上在至少一个可接受容错阈值内运行。
...

【专利技术属性】
技术研发人员:C·斯特劳布
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

1