CN111949251A - 一种跨平台实现软件开发与运行的方法 - Google Patents
一种跨平台实现软件开发与运行的方法 Download PDFInfo
- Publication number
- CN111949251A CN111949251A CN202010705798.5A CN202010705798A CN111949251A CN 111949251 A CN111949251 A CN 111949251A CN 202010705798 A CN202010705798 A CN 202010705798A CN 111949251 A CN111949251 A CN 111949251A
- Authority
- CN
- China
- Prior art keywords
- software
- codes
- platforms
- development
- platform
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000011161 development Methods 0.000 claims abstract description 60
- 238000005516 engineering process Methods 0.000 claims abstract description 18
- 230000003044 adaptive effect Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 15
- 238000009434 installation Methods 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 8
- 230000006978 adaptation Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000001525 retina Anatomy 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种跨平台实现软件开发与运行的方法,根据制定的跨平台的统一开发标准,使用标准开发语言编写通用软件代码,不同的平台获取打包好的所述软件代码,采用平台环境适用的开发框架技术将所述软件代码转码为与平台相适应的代码,完成软件的安装或更新,并在平台运行。通过该方法,只需要编写一次代码,即可覆盖不同平台的差异,大大提高开发效率、节约开发成本、缩短开发时间。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种跨平台实现软件开发与运行的方法。
背景技术
随着软件产品面向的终端增多(如桌面电脑、手机、平板、网页、小程序、PWA),操作系统不同(Windows、Linux、macOS、Android、iOS、iPadOS、TVOS等),CPU架构不同(intel架构、ARM架构),屏幕尺寸不同(小屏幕、中屏幕、大屏幕),屏幕分辨率也不同(普通分辨率、视网膜屏、4K屏幕),等等差异。为了让软件能在不同的平台运行,开发者往往需要艰难地适配以上的各种差异,导致开发难度增大,工期拉长。现有的跨平台开发方案中,跨移动端app开发有用到ReactNative或Cordova框架来实现,跨桌面端软件开发有用到Electron的方案,但不同的开发框架有各自专属的开发规则与限制,各自的开发框架只适合上述不同平台差异的部分,不能完全覆盖,而且业务代码非完全加密,容易泄露软件的业务逻辑。本发明的方法旨在通过只编写一次代码,即可完成面向以上差异的适配,大大提高开发效率、节约开发成本、缩短开发时间。
发明内容
为此,本发明实施例提供一种跨平台实现软件开发与运行的方法,以解决现有的软件由于需要适配不同平台的差异,开发难度大、开发效率低、开发工期长的问题。
为了实现上述目的,本发明实施例提供如下技术方案:一种跨平台实现软件开发与运行的方法,所述方法包括:
根据制定的跨平台的统一开发标准,使用标准开发语言编写通用软件代码;
不同的平台获取打包好的所述软件代码,采用平台环境适用的开发框架技术将所述软件代码转码为与平台相适应的代码,完成软件的安装或更新,并在平台运行。
进一步地,使用标准开发语言编写通用软件代码,具体包括:
javascript语言用于代码的逻辑运行,xml语言用于描述UI的结构,css语言用于UI的呈现,包括大小、字体颜色等的可视化设置。
进一步地,根据制定的跨平台的统一开发标准,具体包括:
对软件在不同平台上的运行逻辑进行归纳统一,使用App()函数构建软件的运行生命周期,包括软件的启动、隐藏和关闭;
对软件页面或窗口在不同平台上的运行逻辑进行归纳统一,使用Page()函数构建软件页面或窗口的运行生命周期,包括页面或窗口的打开、关闭、页面或窗口的大小调整;
API的统一;
不同的组件在不同平台上的映射关系的统一。
进一步地,根据制定的跨平台的统一开发标准,具体还包括:
描述控件大小的尺寸均取屏幕的逻辑尺寸,而不依赖于屏幕的物理尺寸,实现软件跨屏幕分辨率的适配。
进一步地,根据制定的跨平台的统一开发标准,具体还包括:
各个平台的运行框架启动时,为逻辑代码注入平台特有的特征代码,以在逻辑代码上处理不同的平台的差异。
进一步地,根据制定的跨平台的统一开发标准,具体还包括:
针对为不同的平台开发不一样的可视代码,通过在标准css属性名称基础上加上适当的前缀来进行区分。
进一步地,根据制定的跨平台的统一开发标准,具体还包括:
基于Vscode开发工具集成开发IDE插件,实现代码编写、代码调试、代码分发、分发帐号信息的集中管理。
进一步地,所述方法还包括:
不同的平台获取打包好的经过加密的所述软件代码,并使用本地基础软件包内置的解密密钥对代码进行解密安装。
进一步地,软件的安装或更新,具体包括:
完整安装:在不同的平台上将软件进行完整安装,所编写的通用软件代码内置了软件基础版本在新安装的软件上,完成一次软件升级;
全量更新:所编写的通用软件代码在服务器端进行打包,平台从服务器端在线获取全部最新代码并覆盖已安装的基础版本代码,完成一次软件更新;
按需更新:所编写的通用软件代码在服务器端进行打包,平台以页面为单位从服务器端在线获取需要更新的页面的部分代码,完成页面的代码更新。
进一步地,所述方法还包括:
为平台操作系统预安装独立的运行框架,使得软件包可独立于运行框架进行分发和在线更新。
本发明实施例具有如下优点:
本发明实施例提出的一种跨平台实现软件开发与运行的方法,根据制定的跨平台的统一开发标准,使用标准开发语言编写通用软件代码,不同的平台获取打包好的所述软件代码,采用平台环境适用的开发框架技术将所述软件代码转码为与平台相适应的代码,完成软件的安装或更新,并在平台运行。通过该方法,只需要编写一次代码,即可覆盖不同平台的差异,将会大大缩短企业的用工成本和降低研发成本,提高开发效率、节约开发成本、缩短开发时间。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明实施例1提供的一种跨平台实现软件开发与运行的方法的流程示意图;
图2为宽为100px逻辑像素的屏幕示意图;
图3为宽为150px逻辑像素的屏幕示意图;
图4为本发明实施例1提供的一种跨平台实现软件开发与运行的方法中软件代码分发流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提出了一种跨平台实现软件开发与运行的方法,如图1所示,该方法包括:
S100、根据制定的跨平台的统一开发标准,使用标准开发语言编写通用软件代码。
具体的,本方法以javascript、xml、css国际标准技术,通过制定跨平台的统一开发标准,实现只需要编写一次代码,即可覆盖不同平台的差异。其中,javascript语言用于代码的逻辑运行,xml语言用于描述UI的结构,css语言用于UI的呈现,包括大小、字体颜色等的可视化设置。本实施例以javascript、xml、css开发语言为主,但以其他不同的开发语言,采用一样的方法来实现,依然属于本发明的保护范围。或者还可以直接把javascript、xml、css代码编译成机器码,提高反编译难度,增加安全性,同时也能进一步提高代码的运行效率。
S200、不同的平台获取打包好的软件代码,采用平台环境适用的开发框架技术将软件代码转码为与平台相适应的代码,完成软件的安装或更新,并在平台运行。
对于不同的底层技术,适合不同的环境:
1、通过react.js技术,实现兼容浏览器应用、PWA;
2、通过react-native技术,实现兼容iOS、Android操作系统的原生app;
3、通过cordova技术,实现兼容iOS、Android操作系统的非原生app;
4、通过electron技术,实现兼容windows、linux、macOS操作系统的非原生桌面软件;
5、通过react-native-windows技术,实现兼容Windows(只有Windows10)、macOS操作系统的原生桌面软件;
6、通过sciter技术,实现兼容windows(Windows xp或以上)、Linux操作系统的原生桌面软件;
7、通过组件与架构映射技术,实现兼容不同的小程序。
其中,react.js为facebook公司开发的开源js框架,以数据驱动实现用户界面的更新与用户互动;ReactNative为facebook公司开发的开源app开发框架;PWA:全称Progressive WebApp,即渐进式WEB应用;Electron:以web技术与node.js相结合的桌面程序开源开发框架;Sciter:一个桌面程序开发框架;React-native-windows:微软公司开源的桌面程序开发框架;小程序:指在app内集成的第三方轻型程序,主要以web技术来开发。
注:上述“原生”与“非原生”的主要区别是:非原生,最终是以浏览器为用户呈现UI;而“原生”是以系统原生UI为用户呈现UI。
本实施例通过制定统一的开发标准,然后通过上述不同技术的转码,最终达到可运行的目的。当然,如果是采用其他不同的技术基础,但一样的思路来实现,依然属于本发明的保护范围。
进一步地,根据制定的跨平台的统一开发标准,示例性的,具体包括:
1、对软件在不同平台上的运行逻辑进行归纳统一,使用App()函数构建软件的运行生命周期,包括软件的启动、隐藏和关闭等。
App({//App方法是构建一个软件的实例
onLaunch:function(){},//当软件启动时执行的代码,那么上述不同的技术分别实现不同平台的启动代码,然后该启动代码调用此onLaunch的代码,对于使用本发明的开发者来说,只需要写一次启动的事件代码即可,不需要再关心不同的平台的启动代码如何实现
onHide:function(),//当软件隐藏时执行的代码,如软件最小化到任务栏、或在手机平板上的表现是当app切换到后台的时候,本发明的优势也在于,归纳了不同平台的运行逻辑,让开发者专注于业务逻辑,而不需要关心平台的行为逻辑,大大降低学习成本
onClose:function(),//当软件关闭时执行的代码,跟上面类似
})
2、对软件页面或窗口在不同平台上的运行逻辑进行归纳统一,使用Page()函数构建软件页面或窗口的运行生命周期,包括页面或窗口的打开、关闭、页面或窗口的大小调整等。
在app上或网页上,往往页面不止一个,而是多个,对于桌面程序也一样,往往一个软件窗口也是有多个,本发明对与不同平台上的页面和窗口行为逻辑也作了归纳,使得开发者同样不需要关系不同平台的页面或窗口差异,举例:
Page({//Page方法是构建一个软件的页面或窗口实例
onLoad:function(){},//当软件打开一个新页面、或网页打开一个新页面、或桌面软件打开一个新窗口时,执行的事件,这里同样抹平了平台的差异,降低开发者的开发量
onHide:function(),//当页面或窗口关闭时执行的事件
onResize:function(),//当窗口或网页的大小调整时,由于不同的平台有一些特有的差异行为,所以本框架对这些行为会分别实现,如resize事件,一般地,只有桌面程序或桌面上浏览器的网页才有窗口大小调整的概念,因此也对不同平台的特有行为分别实现
})
3、API的统一。
以通过本软件打开一个新页面/窗口为例,统一的实现标准都是:
NB.navigateTo({url:’pages/me/index’})//在app上,这个方法就是以新页面的方式,打开pages/me/index这个页面,在桌面程序上就是以新窗口的方式,打开pages/me/index这个窗口,这样对开发者来说也是非常友好,也不再需要关心不同平台的行为差异。
4、不同的组件在不同平台上的映射关系的统一。
示例性的:
5、描述控件大小的尺寸均取屏幕的逻辑尺寸,而不依赖于屏幕的物理尺寸,实现软件跨屏幕分辨率的适配。
示例性的,假如72dpi的屏幕,屏幕的尺寸是100px,那么逻辑尺寸也是100px;如果屏幕是视网膜屏幕,即像素密度变为4倍(用4个物理像素表示1个逻辑像素),那么逻辑尺寸是100px,那么物理尺寸就是200px。
更进一步地,以屏幕的短边为基准,把短边切割成750份,每一等分为1个虚拟尺寸,以100px的逻辑像素为例,那么就以100/750为尺寸基础,当屏幕为200px的逻辑像素时,本发明自动渲染为2倍的大小。图2为宽为100px逻辑像素的屏幕,虚拟尺寸基本大小为:750/100个逻辑像素,假设图2中“abc”文本需要200个虚拟尺寸大小,则实际显示逻辑像素为:200*100/750=26.67px,图3为宽为150px逻辑像素的屏幕,虚拟尺寸基本大小为:750/150个逻辑像素,假设图3中“abc”文本需要200个虚拟尺寸大小,则实际显示逻辑像素为:200*150/750=40px。通过此方法,能让界面上的元素在不同的屏幕尺寸上实现等比例缩放,因此此方法也不会因为分辨率的不同,而破坏页面的结构。通过自适应的方法,降低软件产品UI设计的工作量,不再需要为不同的屏幕尺寸设计不同的视觉图,开发者也不需要编写额外的视效代码。
6、各个平台的运行框架启动时,为逻辑代码注入平台特有的特征代码,以在逻辑代码上处理不同的平台的差异。
举例:
NB.isApple | 为true代表软件在apple的设备上运行 |
NB.isPhone | 为true代表软件在手机上运行 |
NB.isAndroid | 为true代表软件在android的设备上运行 |
NB.isPad | 为true代表软件在平板上运行 |
NB.isDesktop | 为true代表软件在桌面环境上运行 |
NB.isIOS | 为true代表软件在iOS系统的设备上运行 |
NB.isChrome | 为true代表软件在chrome浏览器上运行 |
NB.isWindows | 为true代表软件在Windows操作系统上运行 |
7、针对为不同的平台开发不一样的可视代码,通过在标准css属性名称基础上加上适当的前缀来进行区分。
CSS外观描述的平台差异处理,如果开发者需要为不同的平台开发不一样的可视代码,如在ios上文字是红色,在Android上文字是黄色,那么可以在标准css属性名称基础上加上适当的前缀来区分:
8、基于Vscode开发工具集成开发IDE插件,实现代码编写、代码调试、代码分发、分发帐号信息的集中管理,结构示例如下:
myProject//项目名称
--account!!!//保存相关的开发者帐号信息,如apple的appStore证书、Android的keyStore、Android不同平台的分发帐号、ssl证书等
--debug//debug模式下针对不同的平台代码
----platform
------miniProgram
--------WeChat//debug模式下微信小程序的代码
--------Baidu//debug模式下百度小程序的代码
--------Alibaba//debug模式下淘宝小程序的代码
--------QQ//debug模式下qq小程序的代码
------mobile
--------ReactNative//debug模式下reactNative的代码
--------Cordova//debug模式下Cordova的代码
------desktop
--------Electron//debug模式下electron的代码
--------ReactNativeWindows//debug模式下reactNativeWindows的代码
--------Sciter//debug模式下sciter的代码
--localhost//本地服务器,帮助开发者快速进行项目开发
--release//待发布的软件包
----platform
------miniProgram
--------WeChat//待发布的微信小程序软件包
--------Baidu//待发布的百度小程序软件包
--------Alibaba//待发布的淘宝小程序软件包
--------QQ//待发布的qq小程序软件包
------mobile
--------iOS//待发布的ios软件包
--------Android//待发布的Android软件包
------desktop
--------Windows//待发布的windows软件包
--------Linux//待发布的linux软件包
--------Mac//待发布的mac软件包
------web
--------PWA//待发布的PWA软件包
--------Browser//待发布的浏览器网页软件包
----source//源代码
Vscode为微软公司开源的代码编辑与运行IDE工具以上,以Vscode为基础,集成开发环境,开发者不需要使用各种专属的开发工具、使用一套开发环境即可覆盖日常大部分的需要。
进一步地,软件的安装或更新,如图4所示,具体包括以下方式:
完整安装:在不同的平台上将软件进行完整安装(浏览器除外),所编写的通用软件代码内置了软件基础版本在新安装的软件上,完成一次软件升级;
全量更新:所编写的通用软件代码在服务器端进行打包,平台从服务器端在线获取全部最新代码并覆盖已安装的基础版本代码,完成一次软件更新;
按需更新:所编写的通用软件代码在服务器端进行打包,平台以页面为单位从服务器端在线获取需要更新的页面的部分代码,完成页面的代码更新。
代码包可在线(全部/部分)更新,可便于业务代码随时更新,不需要重新下载或安装整改软件。
代码打包时,打包独立平台的代码包,假如打包通用的代码包名字为release.js,那么针对平板,自动生成针对平板的代码包release.pad.js,针对手机自动生成release.phone.js。
进一步地,该方法还包括:为平台操作系统预安装独立的运行框架,使得软件包可独立于运行框架进行分发和在线更新。本方法通过预装在操作系统的独立的运行框架,通过上述的代码包在线更新功能,可在降低用户下载成本的情况下,加速软件与用户的触达。这条特别适用于,在国产操作系统软件少的请下,特别适合。
进一步地,该方法还包括:不同的平台获取打包好的经过加密的软件代码,并使用本地基础软件包内置的解密密钥对代码进行解密安装。
由于javascript、xml、css代码容易逆向反编译的原因,为了保障用户与软件厂商的利益,本发明可采用端到端的加密(浏览器除外)。先在服务器端完成对代码包的加密,对于已经在平台上完整安装的基础版本软件运行后,软件初始化运行环境,会根据需要检查是否更新,若需要,则从服务器端获取加密的最新的代码包,对于预安装在操作系统的运行框架启动后,如果本地没有软件包,或软件包需要更新,则从服务器端下载最新的加密软件包,否则直接运行本地缓存的版本。下载最新加密软件包后,使用本地的基础版本软件内置的解密密钥,完成最新代码包的自动解密安装。通过代码包的安全加密,从根本上加强了防破解的措施。
本发明的方法以javascript、xml、css国际标准技术,通过制定跨平台的统一开发标准,实现只需要编写一次代码,即可覆盖上述不同平台的差异。特别对于兼容web浏览器端,对软件商品供应商来说,只需要在原有的网站上上传针对web浏览器的代码,即可让用户通过浏览器就能体验到部分的产品功能,而不需要重新编码;反过来对用户一样有好处,就是不需要下载完整的一个软件,通过web浏览器就能体验软件的部分功能,如果用户感兴趣,可以进一步下载完全的软件来体验。特别地对于国产操作系统,在软件生态弱的情况下,通过在系统层面上继承本发明的运行框架,即可随时接入更多软件开发者,本来已经就为手机、windows、Mac系统就已经开发好的软件,能帮助系统和开发者更好地建立软件生态。
通过本发明的方法,只需要编写一次代码,适配软件产品面向的不同终端(如桌面电脑、手机、平板、网页、小程序、PWA)、不同操作系统(Windows、Linux、macOS、Android、iOS、iPadOS、TVOS等)、不同cpu架构(intel架构、ARM架构)、不同屏幕尺寸(小屏幕、中屏幕、大屏幕)、不同屏幕分辨率(普通分辨率、视网膜屏、4K屏幕)。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种跨平台实现软件开发与运行的方法,其特征在于,所述方法包括:
根据制定的跨平台的统一开发标准,使用标准开发语言编写通用软件代码;
不同的平台获取打包好的所述软件代码,采用平台环境适用的开发框架技术将所述软件代码转码为与平台相适应的代码,完成软件的安装或更新,并在平台运行。
2.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,使用标准开发语言编写通用软件代码,具体包括:
javascript语言用于代码的逻辑运行,xml语言用于描述UI的结构,css语言用于UI的呈现,包括大小、字体颜色等的可视化设置。
3.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,根据制定的跨平台的统一开发标准,具体包括:
对软件在不同平台上的运行逻辑进行归纳统一,使用App()函数构建软件的运行生命周期,包括软件的启动、隐藏和关闭;
对软件页面或窗口在不同平台上的运行逻辑进行归纳统一,使用Page()函数构建软件页面或窗口的运行生命周期,包括页面或窗口的打开、关闭、页面或窗口的大小调整;
API的统一;
不同的组件在不同平台上的映射关系的统一。
4.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,根据制定的跨平台的统一开发标准,具体还包括:
描述控件大小的尺寸均取屏幕的逻辑尺寸,而不依赖于屏幕的物理尺寸,实现软件跨屏幕分辨率的适配。
5.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,根据制定的跨平台的统一开发标准,具体还包括:
各个平台的运行框架启动时,为逻辑代码注入平台特有的特征代码,以在逻辑代码上处理不同的平台的差异。
6.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,根据制定的跨平台的统一开发标准,具体还包括:
针对为不同的平台开发不一样的可视代码,通过在标准css属性名称基础上加上适当的前缀来进行区分。
7.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,根据制定的跨平台的统一开发标准,具体还包括:
基于Vscode开发工具集成开发IDE插件,实现代码编写、代码调试、代码分发、分发帐号信息的集中管理。
8.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,所述方法还包括:
不同的平台获取打包好的经过加密的所述软件代码,并使用本地基础软件包内置的解密密钥对代码进行解密安装。
9.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,软件的安装或更新,具体包括:
完整安装:在不同的平台上将软件进行完整安装,所编写的通用软件代码内置了软件基础版本在新安装的软件上,完成一次软件升级;
全量更新:所编写的通用软件代码在服务器端进行打包,平台从服务器端在线获取全部最新代码并覆盖已安装的基础版本代码,完成一次软件更新;
按需更新:所编写的通用软件代码在服务器端进行打包,平台以页面为单位从服务器端在线获取需要更新的页面的部分代码,完成页面的代码更新。
10.根据权利要求1所述的一种跨平台实现软件开发与运行的方法,其特征在于,所述方法还包括:
为平台操作系统预安装独立的运行框架,使得软件包可独立于运行框架进行分发和在线更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705798.5A CN111949251A (zh) | 2020-07-21 | 2020-07-21 | 一种跨平台实现软件开发与运行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705798.5A CN111949251A (zh) | 2020-07-21 | 2020-07-21 | 一种跨平台实现软件开发与运行的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949251A true CN111949251A (zh) | 2020-11-17 |
Family
ID=73340743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705798.5A Pending CN111949251A (zh) | 2020-07-21 | 2020-07-21 | 一种跨平台实现软件开发与运行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949251A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721975A (zh) * | 2021-08-31 | 2021-11-30 | 北京懿医云科技有限公司 | 文件构建方法及系统、装置、电子设备和存储介质 |
CN114168121A (zh) * | 2021-12-07 | 2022-03-11 | 济南红旗信息科技有限公司 | 一种基于代码工厂模式开发软件系统、终端和存储介质 |
CN116561472A (zh) * | 2023-04-14 | 2023-08-08 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138399A (zh) * | 2015-10-20 | 2015-12-09 | 深圳天源迪科信息技术股份有限公司 | 跨平台移动Web应用运行引擎 |
CN106990966A (zh) * | 2017-03-31 | 2017-07-28 | 中国科学技术大学苏州研究院 | 基于前端框架的移动端跨平台应用开发框架及开发方法 |
CN107613363A (zh) * | 2017-10-26 | 2018-01-19 | 四川长虹电器股份有限公司 | 一种基于互联网对酒店电视推送广告的系统及方法 |
CN110457066A (zh) * | 2019-07-27 | 2019-11-15 | 湖南豪威电子信息技术服务有限公司 | 使国产操作系统兼容Windows系统应用软件的架构 |
CN110647320A (zh) * | 2019-08-14 | 2020-01-03 | 平安普惠企业管理有限公司 | 项目框架的构建方法、装置、计算机设备和存储介质 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN111190672A (zh) * | 2019-12-20 | 2020-05-22 | 深圳市优必选科技股份有限公司 | 电子设备的ui界面适配方法、电子设备和存储介质 |
CN111240730A (zh) * | 2020-02-29 | 2020-06-05 | 中国平安人寿保险股份有限公司 | 一种应用程序更新方法及装置 |
-
2020
- 2020-07-21 CN CN202010705798.5A patent/CN111949251A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138399A (zh) * | 2015-10-20 | 2015-12-09 | 深圳天源迪科信息技术股份有限公司 | 跨平台移动Web应用运行引擎 |
CN106990966A (zh) * | 2017-03-31 | 2017-07-28 | 中国科学技术大学苏州研究院 | 基于前端框架的移动端跨平台应用开发框架及开发方法 |
CN107613363A (zh) * | 2017-10-26 | 2018-01-19 | 四川长虹电器股份有限公司 | 一种基于互联网对酒店电视推送广告的系统及方法 |
CN110457066A (zh) * | 2019-07-27 | 2019-11-15 | 湖南豪威电子信息技术服务有限公司 | 使国产操作系统兼容Windows系统应用软件的架构 |
CN110647320A (zh) * | 2019-08-14 | 2020-01-03 | 平安普惠企业管理有限公司 | 项目框架的构建方法、装置、计算机设备和存储介质 |
CN111190672A (zh) * | 2019-12-20 | 2020-05-22 | 深圳市优必选科技股份有限公司 | 电子设备的ui界面适配方法、电子设备和存储介质 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN111240730A (zh) * | 2020-02-29 | 2020-06-05 | 中国平安人寿保险股份有限公司 | 一种应用程序更新方法及装置 |
Non-Patent Citations (5)
Title |
---|
呱呱•.•: "uni-app入门", 《HTTPS://BLOG.CSDN.NET/ALISA_LISA/ARTICLE/DETAILS/93599437》 * |
呱呱•.•: "uni-app入门", 《HTTPS://BLOG.CSDN.NET/ALISA_LISA/ARTICLE/DETAILS/93599437》, 26 June 2019 (2019-06-26), pages 5 - 6 * |
张洋: "面向中小型企业的VoIP通信系统研究与实现", 《中国优秀硕士学位论文全文数据库》, no. 2016, pages 7 * |
搬砖猴哥: "快速上手uni-app,基础知识,基本有用", 《HTTPS://BLOG.CSDN.NET/WEIXIN_41819098/ARTICLE/DETAILS/103716552》 * |
搬砖猴哥: "快速上手uni-app,基础知识,基本有用", 《HTTPS://BLOG.CSDN.NET/WEIXIN_41819098/ARTICLE/DETAILS/103716552》, 26 December 2019 (2019-12-26), pages 1 - 23 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721975A (zh) * | 2021-08-31 | 2021-11-30 | 北京懿医云科技有限公司 | 文件构建方法及系统、装置、电子设备和存储介质 |
CN114168121A (zh) * | 2021-12-07 | 2022-03-11 | 济南红旗信息科技有限公司 | 一种基于代码工厂模式开发软件系统、终端和存储介质 |
CN114168121B (zh) * | 2021-12-07 | 2022-08-16 | 济南红旗信息科技有限公司 | 一种基于代码工厂模式开发软件系统、终端和存储介质 |
CN116561472A (zh) * | 2023-04-14 | 2023-08-08 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
CN116561472B (zh) * | 2023-04-14 | 2023-12-26 | 广州力麒智能科技有限公司 | 基于Electron跨平台技术的政务浏览器系统架构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949251A (zh) | 一种跨平台实现软件开发与运行的方法 | |
JP6490598B2 (ja) | コンパイラベースの難読化 | |
CN104573416B (zh) | 一种生成应用安装包、执行应用的方法及装置 | |
CN108984174B (zh) | 跨平台的应用创建方法、装置、服务器和存储介质 | |
US20090138863A1 (en) | Method And Apparatus For Protecting .NET Programs | |
US8863113B1 (en) | Method and system for unattended installation of guest operating system | |
US9038185B2 (en) | Execution of multiple execution paths | |
CN103179166A (zh) | 在客户端中提供服务的方法和客户端 | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和系统 | |
US20220365773A1 (en) | Run-Time Application Modification | |
US20210271456A1 (en) | Child application development method and apparatus, computer device, and storage medium | |
KR20110014146A (ko) | 동적인 선언형 애플리케이션 설명 | |
Mickens et al. | Atlantis: robust, extensible execution environments for web applications | |
KR102052776B1 (ko) | 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷 | |
US9372675B1 (en) | Unified declarative model for user interfaces | |
KR20130017337A (ko) | 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. | |
US20110271248A1 (en) | Converting controls into source code | |
CN109388435A (zh) | 实现app同时多次开启操作的方法和装置 | |
CN114461223A (zh) | 一种代码生成方法、装置及终端设备 | |
CN101149700B (zh) | 通过配置文件实现命令显示的方法 | |
WO2021056823A1 (zh) | 系统调用方法、装置和电子设备 | |
WO2022120640A1 (zh) | 基于electron的更新方法及系统 | |
CN114115959A (zh) | App热修复方法及其装置、可读存储介质和计算机设备 | |
CN106371895A (zh) | 一种升级kvm虚拟机去虚拟化的方法 | |
KR20180053872A (ko) | 애플리케이션 변환 장치 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201117 |
|
RJ01 | Rejection of invention patent application after publication |