一种平台及其实现方法与流程

文档序号:20916756发布日期:2020-05-29 13:37阅读:164来源:国知局
一种平台及其实现方法与流程

本申请实施例涉及计算机技术领域,具体涉及一种平台及其实现方法。



背景技术:

现有技术中的移动原生应用开发必须配备至少2名工程师,分别是android工程师和ios工程师,android/ios平台的原生开发需涉及网络、内存、数据存储和ui组件等技术;其中,android开发需安装androidstudio,该ide对电脑硬件要求较高,耗内存耗cpu,ios开发必须在mac电脑上,且安装xcode开发工具。如果维护两套工程代码,需要一份android原生工程源码,一份ios原生工程源码。

可以看出,移动应用工程的创建与安装包的构建依赖于androidstudio或xcode开发工具,并且android的java语言和ios的objective-c或swift的两套代码不可复用。



技术实现要素:

为此,基于上述现有技术中的局限,本申请实施例提供一种平台及其实现方法,可以不受系统平台的差异限制进行应用的开发,降低了移动应用的开发成本。

为了实现上述目的,本申请实施例提供如下技术方案:

根据本申请实施例的第一方面,提供一种平台实现方法,所述方法包括:

接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带系统平台原生基础工程源码和应用配置信息;

将所述系统平台原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码;

根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发;

接收所述web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件;

根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包;

将所述app安装包发送至所述web客户端。

可选地,所述业务执行文件包括js执行代码,所述js执行代码是根据vue代码编译成的;所述vue代码是基于所述应用项目工程源码开发的。

可选地,所述系统平台原生基础工程源码包括android和ios原生基础工程源码;所述目标项目工程信息对应app安装包包括android和/或ios的app安装包。

可选地,所述平台实现采用java代码调用shell脚本的方式,集成开发环境包括eclipse和intellijidea。

根据本申请实施例的第二方面,提供了一种平台,所述平台包括:

信息接收模块,用于接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带系统平台原生基础工程源码和应用配置信息;

工程源码生成模块,用于将所述系统平台原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码;

信息发送模块,用于根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发;

所述信息接收模块,还用于接收所述web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件;

打包模块,用于根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包;

所述信息发送模块,还用于将所述app安装包发送至所述web客户端。

可选地,所述业务执行文件包括js执行代码,所述js执行代码是根据vue代码编译成的;所述vue代码是基于所述应用项目工程源码开发的。

可选地,所述系统平台原生基础工程源码包括android和ios原生基础工程源码;所述目标项目工程信息对应app安装包包括android和/或ios的app安装包。

可选地,所述平台实现采用java代码调用shell脚本的方式,集成开发环境包括eclipse和intellijidea。

综上所述,本申请实施例提供的平台接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带系统平台原生基础工程源码和应用配置信息;将所述系统平台原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码;根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发;接收web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件;根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包;将所述app安装包发送至所述web客户端。可以不受系统平台的差异限制进行应用的开发,提高了应用开发效率,降低了开发成本。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。

本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

图1为本申请实施例提供的一种平台实现方法流程示意图;

图2为本申请实施例提供的实施例示意图;

图3为本申请实施例提供的一种平台结构框图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于背景技术中提及的现有技术中的android的java语言和ios的objective-c或swift的两套代码不可复用,本申请实施例提供一种平台及其实现方法,无需在终端设备上安装android/ios开发环境,无需学习使用android/ios原生app开发语言以及开发环境,极大地降低移动应用的开发成本,降低业务开发人员的学习成本。

如图1所示,本申请实施例提供了一种平台实现方法,所述方法包括:

步骤101:接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带android和ios原生基础工程源码和应用配置信息。

步骤102:将所述android和ios原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码。由于各基础组件都是独立的小工程,每个小工程都有相应的应用配置信息,这些应用配置信息需要集成到大工程的应用配置信息中;所述应用配置信息可能是appid、appkey和appsecret等等。

步骤103:根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发。

步骤104:接收web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件。

步骤105:根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包。目标项目工程信息为app基础工程源码在平台保留的相应的信息,比如app归属信息,app选了哪些组件等。

步骤106:将所述app安装包发送至所述web客户端。

利用万维网web技术开发桌面app,可以充分利用web技术的优势。例如web领域中的超文本标记语言(hypertextmarkuplanguage,html)、层叠样式表(cascadingstylesheets,css)、javascript(js)等编程语言具有简单、灵活、功能强大等特性以及熟悉或精通web技术的人才资源较丰富,有利于降低开发app的复杂度和技术成本。

在一种可能的实施方式中,所述业务执行文件包括js执行代码,所述js执行代码是根据vue代码编译成的;所述vue代码是基于所述应用项目工程源码开发的。在步骤103之后,在web客户端下载应用项目工程源码,只需维护一套业务代码,针对应用项目工程里的业务层(vue层)代码进行开发,开发人员将vue代码编译成js执行代码通过web客户端提交到平台。

在一种可能的实施方式中,所述系统平台原生基础工程源码包括但不限于android和ios原生基础工程源码,也可以是基于别的平台系统的原生基础工程源码,在步骤102中选择相应项目中所需的平台系统原生组件即可。相应地,所述目标项目工程信息对应app安装包包括但不限于android和/或ios的app安装包。

在一种可能的实施方式中,所述平台实现包括但不限于采用java代码调用shell脚本的方式,集成开发环境包括但不限于eclipse和intellijidea。

在一种可能的实施方式中,本申请实施例提供平台实现方法,主要针对移动手机、平板等设备,主要平台系统包括android和ios;采用java+shell脚本,核心的手机app框架和组件采用的是android系统的java、kotlin等、ios系统的objective-c、swift等,h5业务组件为vue.js技术框架。

通过本申请实施例提供丰富的android/ios原生组件库,业务开发人员可在web端中创建应用,在电脑终端不依赖androidstudio或xcode开发工具情况下,选择所需的android/ios原生组件,构建应用工程,可直接在web客户端创建移动应用,将android/ios原生基础工程源码与配置信息配置到目标项目工程并生成移动应用项目工程源码。在web客户端下载工程源码,从而只需维护一套业务代码,针对应用项目工程里的业务层(vue层)代码进行开发;业务开发人员将vue代码编译成js执行代码通过web端提交到平台,平台根据项目工程信息和业务执行文件,自动化构建打包成对应平台(android/ios)的app安装包。从而可以在web端下载app安装包。如此业务开发人员无需配备android/ios原生开发环境所需系统或硬件要求的终端设备,无需在终端设备上安装android/ios开发环境,无需学习使用android/ios原生app开发语言以及开发环境,极大地降低移动应用的开发成本,降低业务开发人员的学习成本。

使用本申请实施例提供的平台实现方法,降低移动应用技术开发环境要求门槛,不必考虑android所需高配置pc端和ios所需mac电脑;同时降低移动应用业务开发人员的技术门槛。提高了移动应用android/ios原生组件库的复用率,提高业务开发人员在移动应用开发过程中的视图效果调试效率,提高应用开发效率,降低开发成本。

图2示出了本申请实施例提供的平台功能示意图,移动应用管理平台包括应用管理模块、构建服务模块、功能管理模块、文件服务模块和版本管理模块。其中所述应用管理模块包括应用创建模块、证书配置模块、工程管理模块、组件配置模块、在线打包模块、版本记录模块。构建服务模块包括资源同步模块、引擎加载模块、插件加载模块、动态编译模块、日志记录模块和问题反馈模块。功能管理模块包括组件库模块、业务模板模块和第三方sdk模块。文件服务模块包括文件上传模块、文件下载模块、文件缓存模块和文件目录模块。版本管理模块包括业务资源管理模块、图片资源管理模块和日志管理模块。

用户登录后台管理可看到应用管理模块,功能管理模块,版本管理模块等;以下简单介绍各个功能。

在应用管理模块,开发者可以创建应用,配置应用,删除应用,修改应用等;是平台的主要入口和操作界面。构建服务模块主要为后台无界面程序,根据在应用管理模块上操作选择的信息进行代码,资源,配置信息的加载和配置工作。功能管理模块主要为平台开发人员用于管理功能清单(类似餐厅服务的菜单),根据需求不断的丰富组件,提交到管理平台供开发者选择。文件服务模块:主要是后台服务,用于文件传输和存储,例如我们打包出来的app安装包,开发者提交上来的业务层js包,图片资源包等。版本管理模块可以用于开发者对打包版本或者发布版本的历史追溯。

综上所述,本申请实施例提供的平台接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带系统平台原生基础工程源码和应用配置信息;将所述系统平台原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码;根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发;接收web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件;根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包;将所述app安装包发送至所述web客户端。提高了应用开发效率,降低了开发成本。

基于相同的技术构思,本申请实施例提供了一种平台,如图3所示,所述平台包括:

信息接收模块301,用于接收web客户端发送的应用创建请求消息,所述应用创建请求消息携带android和ios原生基础工程源码和应用配置信息。

工程源码生成模块302,用于将所述android和ios原生基础工程源码与所述应用配置信息配置到目标项目工程,生成应用项目工程源码。

信息发送模块303,用于根据下载指令下载工程源码发送至所述web客户端,以触发开发人员对所述目标工程进行业务层的开发。

所述信息接收模块301,还用于接收web客户端发送的打包请求消息,所述打包请求消息携带业务执行文件。

打包模块304,用于根据所述业务执行文件和目标项目工程信息,编译打包成所述目标项目工程信息对应的app安装包。

所述信息发送模块303,还用于将所述app安装包发送至所述web客户端。

在一种可能的实施方式中,所述业务执行文件包括js执行代码,所述js执行代码是根据vue代码编译成的;所述vue代码是基于所述应用项目工程源码开发的。

在一种可能的实施方式中,所述目标项目工程信息对应app安装包包括android和/或ios的app安装包。

在一种可能的实施方式中,所述平台实现采用java代码调用shell脚本的方式,集成开发环境包括eclipse和intellijidea。

本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。

需要说明的是,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1