2020年APP功能分类及打包与发布探究


tte.png

1.按APP的打包与发布方式来分类,APP分为三类:

需要安装的APP,Native App、Hybird App、React App都属于这一类,发布时需要将App打包成可执行程序,然后挂到市场或者网站上,让用户下载安装后才能运行,其功能受限于平台API与权限,但也可以通过一些技巧越过平台API与权限限制,比如Hook技术。

不需要安装的APP,Web App,其实本质上就是个网站,只是做成了和手机APP相仿的样子,发布方式与网站发布相同,用户可以通过浏览器或者微信之类的工具去加载这个网站,其功能相对于手机,受限于浏览器引擎提供对手机本地服务(文件、相机等等)访问的JS接口,通常功能非常少,所以限制较大。

需要用户已经安装某个第三方APP,然后跑在第三方APP上的APP,这类技术安卓上较多(典型的Python程序可以跑在PythonOnAndroid APP上,或者Ruby解释器可以跑Ruby程序),而iOS由于有对这类行为做出过明确限制,上架审核规则里有明确指出,不准APP可以下载源代码从而扩展功能,所以iOS上过去并不存在这样的APP。


把各种类型的网站打包成你想要的APP

APP一共分为两种系统版本、Android 、IOS

第一种版本是安卓APP

第二种系统是苹果APP

在这两种系统中有分别分别有3种类型的打包方式

安卓只有一种打包方式

苹果一个是原生APP打包,一个是描述文件免签打包

原生APP打包封装的APP需要,苹果APP签名,或者是上架应用商店

苹果描述文件免签,就是不需要苹果APP签名就可以安装

但是这种免签描述文件,兼容性不太好

(原生APP总结,原生苹果APP需要签名,才可以使用,兼容性很好)

(描述免签文件总结,描述免签文件不需要签名,但是兼容性不太好)

(安卓原生APP总结,安卓的打包封装就可以直接使用,不需要签名)

打包封装APP操作流程

2.针对需要安装的APP,APP开发技术有如下分类

基于官方推荐与支持的语言与框架开发的App,安卓目前官方推荐的是Java、Kotlin与C/C++进行开发,iOS目前官方推荐的是Objective-C、Swift与C/C++

基于一些第三方支持的语言和框架开发的App,这类大多是由一些互联网巨头与开源组织维护的,典型的技术有:

Qt(知名的跨平台GUI框架,基于C++,现在随诺基亚倒台被Digia收购与商业化),可以用来开发安卓和iOS,但问题是我有了Java和OC,为啥还要去用Qt C++,是因为太闲或者觉得BUG不够多吗。。。


0.177754s