一种移动跨平台的软件开发方法及装置与流程

未命名 09-18 阅读:97 评论:0


1.本发明涉及软件开发技术领域,特别涉及一种移动跨平台的软件开发方法及装置。


背景技术:

2.现如今,各种不同电子设备快速发展,丰富了人们的生活;但是不同厂家生产的设备所采用的操作系统等核心技术有所不同,催生了多个相互隔离的软件生态系统,主要有基于windows的软件生态系统、基于ios的软件生态系统、基于鸿蒙os的软件生态系统、基于android的软件生态系统,当开发一款应用程序时,为了覆盖到更多潜在客户群体,往往要针对以上生态系统开发出多个版本,非常耗费人力,开发成本高,维护成本高。
3.在现有技术cn114675879b基于cordova与vue的跨平台应用开发方法中,通过测试代码对不同平台的兼容性,在平台不兼容部分代码时,提示禁止输入;此方式只解决了web程序中代码对不同平台的不同内核浏览器和不同版本浏览器的兼容性,并未解决跨平台开发本地程序的问题,且该现有技术仅针对基于cordova和vue两个前端框架开发的应用,局限性太大;另外vue框架的开发者尤雨溪在开发vue时就解决了对不同浏览器的兼容问题,该发明的方法在解决此问题时又增加了繁复的步骤,使开发过程不方便。
4.为此本发明提出一种移动跨平台的软件开发方法及装置。


技术实现要素:

5.本发明的目的是提供一种移动跨平台的软件开发方法,旨在解决开发多平台移动端应用程序耗时间耗人力、现有技术在跨平台开发时局限性大过程繁琐的问题。
6.为实现上述目的,本发明提供如下技术方案:本发明提供一种移动跨平台的软件开发方法,包括:s1:连接目标平台,获取所述目标平台的系统类型、存储权限;s2:根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区;s3:创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问;s4:将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序;s5:将所述副本程序压缩后作为最终程序导出,清空所述缓存区。
7.进一步的,在连接目标平台,获取所述目标平台的系统类型、存储权限的步骤中,包括:读取所述目标平台的系统信息得到目标平台的所述系统类型;所述系统类型包括android、ios、harmonyos;获取所述目标平台的存储权限,为开发程序动态分配内存。
8.进一步的,在根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区的步骤中,包括:若所述目标平台的系统类型是android或harmonyos,则提示开发者选用浏览器内核:gecko或chromium,若系统类型是ios,则自动选用webkit;解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令,或在浏览器新打开一个页面时,创建新的独立进程;所述缓存区存储程序文件、所述源程序、所述汇编程序,所述程序文件是程序运行时存储在本地的文件。
9.进一步的,在解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令或在浏览器新打开一个页面时,创建新的独立进程的步骤中,包括:所述接触指令为:
‑‑
no
‑‑
sandbox;所述开辟所述新的独立进程的过程包括:向操作系统发出创建进程的申请,操作系统为新进程分配一个唯一的进程标识号,同时申请一个空白pcb;为进程分配资源,为新进程的程序和数据及用户栈分配必要的内存空间;若资源不足,则处于阻塞态,等待内存资源初始化pcb,若进程就绪队列能够接纳新进程,则将新进程插入就绪队列,等待被调度运行。
10.进一步的,在创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问的步骤中,包括:所述代码编辑器供开发者编写源程序,所述源程序为web程序,包括javascript文件、html文件、css文件、图片文件、配置文件、引用库文件;浏览器内核读取、编译并运行所述源程序,供开发者在编写的同时进行调试。
11.进一步的,在将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序的步骤中,包括:浏览器内核读取源程序文件;浏览器内核解析所述配置文件,并对源程序施加同源限制;加载所述引用库文件,解析所述html文件生成dom树,解析所述css文件对dom树进行渲染,在dom树生成完毕后,下载所述javascript文件并执行;动态加载所述图片文件;将源程序解析后得到的汇编程序与浏览器内核一起打包并复制。
12.进一步的,在浏览器内核解析所述配置文件,并对源程序施加同源限制的步骤中,包括:编写函数自动生成第一token,所述第一token只能通过应用程序的服务端进行验证;所述服务端根据所述第一token生成第二token,所述第二token只能通过所述源程序进行验证。
13.一种移动跨平台的软件开发装置,包括:数据通信模块:连接目标平台,读取所述目标平台的系统信息;调度模块:根据所述系统信息,选取适配的浏览器内核发送到所述目标平台上,向
所述目标平台申请存储权限,并在程序开发完成后进行打包和压缩;存储模块:存储了多种不同的浏览器内核和代码编辑器。
14.本发明提供了一种移动跨平台的软件开发方法及装置,具有以下有益效果:(1)通过检测目标平台的系统类型进而选择不同的浏览器内核作为程序开发的基底,将开发者编写的程序和浏览器内核打包成一个完整的程序,在目标平台安装并运行,完成了一套技术、一套代码的跨平台运行;(2)通过获取目标平台的存储权限,动态为浏览器内核和源程序分配内存,能够将程序文件在安装时存储在本地,打破了基于浏览器内核的性能瓶颈;(3)通过控制指令或直接修改浏览器内核源码来关闭浏览器内核的沙盒模式,为应用程序单独创建一个独立的进程,再通过添加token的方式来主动施加同源限制,扩大程序的系统权限的同时,保证了程序的安全性。
附图说明
15.图1为本发明一实施例的移动跨平台的软件开发方法的流程示意图;图2为本发明一实施例的移动跨平台的软件开发装置的结构示意图;本发明为目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
实施方式
16.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.参考附图1,为本发明提出的移动跨平台的软件开发方法的流程示意图;本发明所提供的移动跨平台的软件开发方法,步骤包括:s1:连接目标平台,获取所述目标平台的系统类型、存储权限;s2:根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区;s3:创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问;s4:将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序;s5:将所述副本程序压缩后作为最终程序导出,清空所述缓存区。
19.在一个实施例中,开发一个新闻阅读软件,首先与目标平台相连接,访问目标系统的系统信息,根据目标平台的操作系统是:android、ios、harmonyos中的一个,来选取对应的浏览器内核,因为对于ios系统采用的是safari浏览器,内核是webkit,对于其他操作系统,都可以采用chrome浏览器内核chromium,向目标平台申请50m大小的内存空间作为程序文件的存储区,再向目标平台申请10m内存空间作为缓存区,将代码编辑器暴露给开发者进行新闻阅读软件的编写,开发者可以像常规开发web程序一样进行编写html文件、
javascript文件、css文件,或者应用流行的框架vue、agular、react等进行开发,在应用框架进行开发时,要先进行编译和打包成html文件、javascript文件、css文件再存入内存中,新闻阅读软件的代码部分和图片部分、字体部分等文件存放在50m大小的内存空间中,在保存完毕后,浏览器可以直接读取保存好的文件版本进行解析和执行,开发人员可以实时进行调试,在程序开发完成后,将编译后的版本和浏览器内核一起打包,到处作为一个完整的新闻阅读软件,安装在目标平台上,通过目标平台打开新闻阅读软件后,实际上是先打开了一个浏览器,然后浏览器直接从本地获取并执行程序文件,接着程序文件执行内部代码,向服务器获取并更新新闻页面数据。
20.在连接目标平台,获取所述目标平台的系统类型、存储权限的步骤中,包括:读取所述目标平台的系统信息得到目标平台的所述系统类型;所述系统类型包括android、ios、harmonyos;获取所述目标平台的存储权限,为开发程序动态分配内存。
21.具体实施时,访问目标平台的信息文件,从中查找操作系统字段,找到操作系统的类型;通知操作系统要安装程序,向目标平台的操作系统申请一个存放程序文件的内存空间。
22.在根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区的步骤中,包括:若所述目标平台的系统类型是android或harmonyos,则提示开发者选用浏览器内核:gecko或chromium,若系统类型是ios,则自动选用webkit;解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令,或在浏览器新打开一个页面时,创建新的独立进程;所述缓存区存储程序文件、所述源程序、所述汇编程序,所述程序文件是程序运行时存储在本地的文件。
23.具体实施时,浏览器的沙盒模式保证了浏览器中加载的东西不能够伤害到操作系统,但是同时也限制了浏览器的性能,将浏览器内核的沙盒模式关闭后,可以申请更大的内存空间,可以通过操作系统操作计算机硬件资源。
24.在解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令或在浏览器新打开一个页面时,创建新的独立进程的步骤中,包括:所述接触指令为:
‑‑
no
‑‑
sandbox;所述开辟所述新的独立进程的过程包括:向操作系统发出创建进程的申请,操作系统为新进程分配一个唯一的进程标识号,同时申请一个空白pcb;为进程分配资源,为新进程的程序和数据及用户栈分配必要的内存空间;若资源不足,则处于阻塞态,等待内存资源初始化pcb,若进程就绪队列能够接纳新进程,则将新进程插入就绪队列,等待被调度运行。
25.具体实施时,当与浏览器内核与程序文件作为一个完整的程序被打开时,目标平台的操作系统会为其创建一个独立的进程。
26.在创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问的步骤中,包括:所述代码编辑器供开发者编写源程序,所述源程序为web程序,包括javascript文
件、html文件、css文件、图片文件、配置文件、引用库文件;浏览器内核读取、编译并运行所述源程序,供开发者在编写的同时进行调试。
27.具体实施时,一个主页面的html文件,一个为页面添加监听函数的javascript的文件,一个为页面布局、添加样式的css文件,在开发时,按照组件的方式进行开发,在编译后,汇集在同一个文件。
28.在将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序的步骤中,包括:浏览器内核读取源程序文件;浏览器内核解析所述配置文件,并对源程序施加同源限制;加载所述引用库文件,解析所述html文件生成dom树,解析所述css文件对dom树进行渲染,在dom树生成完毕后,下载所述javascript文件并执行;动态加载所述图片文件;将源程序解析后得到的汇编程序与浏览器内核一起打包并复制。
29.在浏览器内核解析所述配置文件,并对源程序施加同源限制的步骤中,包括:编写函数自动生成第一token,所述第一token只能通过应用程序的服务端进行验证;所述服务端根据所述第一token生成第二token,所述第二token只能通过所述源程序进行验证。
30.具体实施时,通过引入jwt库生成token,来对应用程序和服务器进行通信验证。
31.参考附图2,为本发明提出的移动跨平台的软件开发装置的结构示意图;一种移动跨平台的软件开发装置,包括:数据通信模块:连接目标平台,读取所述目标平台的系统信息;调度模块:根据所述系统信息,选取适配的浏览器内核发送到所述目标平台上,向所述目标平台申请存储权限,并在程序开发完成后进行打包和压缩;存储模块:存储了多种不同的浏览器内核和代码编辑器。
32.在一个实施例中,通过usb数据线或插槽接入计算机,计算机再与移动终端相连接,在计算机中编写程序代码完成开发工作;在获取到移动终端的操作系统类型后,选取合适的浏览器内核为程序开发做准备,将代码编辑器暴露在桌面供开发者编写代码,本发明提出的装置中的调度模块会访问移动终端获取所述移动终端的系统信息,获取存储权限并为程序分配内存,在程序开发完成后对其进行打包并导出。
33.综上所述,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程。
34.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
35.以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关
的技术领域,均同理包括在本发明的专利保护范围内。
36.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:
1.一种移动跨平台的软件开发方法,其特征在于,包括:连接目标平台,获取所述目标平台的系统类型、存储权限;根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区;创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问;将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序;将所述副本程序压缩后作为最终程序导出,清空所述缓存区。2.根据权利要求1所述的移动跨平台的软件开发方法,其特征在于,在连接目标平台,获取所述目标平台的系统类型、存储权限的步骤中,包括:读取所述目标平台的系统信息得到目标平台的所述系统类型;所述系统类型包括android、ios、harmonyos;获取所述目标平台的存储权限,为开发程序动态分配内存。3.根据权利要求1所述的移动跨平台的软件开发方法,其特征在于,在根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区的步骤中,包括:若所述目标平台的系统类型是android或harmonyos,则提示开发者选用浏览器内核:gecko或chromium,若系统类型是ios,则自动选用webkit;解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令,或在浏览器新打开一个页面时,创建新的独立进程;所述缓存区存储程序文件、所述源程序、所述汇编程序,所述程序文件是程序运行时存储在本地的文件。4.根据权利要求3所述的移动跨平台的软件开发方法,其特征在于,在解除浏览器内核的沙盒模式的方式包括:通过控制台输入解除指令或在浏览器新打开一个页面时,创建新的独立进程的步骤中,包括:所述接触指令为:
‑‑
no
‑‑
sandbox;所述开辟所述新的独立进程的过程包括:向操作系统发出创建进程的申请,操作系统为新进程分配一个唯一的进程标识号,同时申请一个空白pcb;为进程分配资源,为新进程的程序和数据及用户栈分配必要的内存空间;若资源不足,则处于阻塞态,等待内存资源初始化pcb,若进程就绪队列能够接纳新进程,则将新进程插入就绪队列,等待被调度运行。5.根据权利要求1所述的移动跨平台的软件开发方法,其特征在于,在创建源程序存储区,所述源程序存储区连接代码编辑器和浏览器内核,存储开发者编写的源程序并供浏览器内核访问的步骤中,包括:所述代码编辑器供开发者编写源程序,所述源程序为web程序,包括javascript文件、html文件、css文件、图片文件、配置文件、引用库文件;浏览器内核读取、编译并运行所述源程序,供开发者在编写的同时进行调试。6.根据权利要求5所述的移动跨平台的软件开发方法,其特征在于,在将所述源程序读
取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序的步骤中,包括:浏览器内核读取源程序文件;浏览器内核解析所述配置文件,并对源程序施加同源限制;加载所述引用库文件,解析所述html文件生成dom树,解析所述css文件对dom树进行渲染,在dom树生成完毕后,下载所述javascript文件并执行;动态加载所述图片文件;将源程序解析后得到的汇编程序与浏览器内核一起打包并复制。7.根据权利要求1所述的移动跨平台的软件开发方法,其特征在于,在浏览器内核解析所述配置文件,并对源程序施加同源限制的步骤中,包括:编写函数自动生成第一token,所述第一token只能通过应用程序的服务端进行验证;所述服务端根据所述第一token生成第二token,所述第二token只能通过所述源程序进行验证。8.一钟移动跨平台的软件开发装置,其特征在于,应用于所述权利要求1-7的任意一项的移动跨平台的软件开发方法,包括:数据通信模块:连接目标平台,读取所述目标平台的系统信息;调度模块:根据所述系统信息,选取适配的浏览器内核发送到所述目标平台上,向所述目标平台申请存储权限,并在程序开发完成后进行打包和压缩;存储模块:存储了多种不同的浏览器内核和代码编辑器。

技术总结
本发明提供了一种移动跨平台的软件开发方法及装置,运用于软件开发技术领域,其方法包括:连接目标平台,获取所述目标平台的系统类型、存储权限;根据所述系统类型选用浏览器内核,解除浏览器内核的沙盒模式,为浏览器内核分配内存空间作为缓存区;创建源程序存储区,存储开发者编写的源程序并供浏览器内核访问;将所述源程序读取到所述缓存区中并施加同源限制,通过浏览器内核读取并编译得到汇编程序,将所述汇编程序和浏览器内核打包并复制得到副本程序;完成了一套技术、一套代码的跨平台运行;通过获取目标平台的存储权限,打破了浏览器内核的性能瓶颈;扩大程序的系统权限的同时,保证了程序的安全性。保证了程序的安全性。保证了程序的安全性。


技术研发人员:吴晓夏 王婷 付俊霄
受保护的技术使用者:西安瑞思达信息科技有限公司
技术研发日:2023.06.30
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐