Skip to content

React-native 专栏

1、什么是混合App开发

text
混合App开发就是将Native和H5技术结合的一种开发模式。通俗的理解,就是把web网站的技术(HTML + CSS + JS),通过某种方式,移植到移动端APP
开发上进行使用,这种利用web开发技术进行移动端开发体验的方式,叫做混合移动APP开发。

2、关于移动APP开发的几个概念

1、概念

text
原生开发:它的英文单词(NativeApp) 指的就是使用IOS、Android官方提供的工具、开发平台、配套语言进行手机App开发的方式。

混合开发:它的英文单词(HybridApp) 就是使用前端已有的技术(HTML+CSS+JS),然后搭配一些相关的打包编译技术,
        就能开发出一个手机APP,安装到手机上使用。
        
什么是APP : APP是(Application)的缩写,意思是安装的应用程序。

2、App的分类

text
1.按照平台来划分:
    pc端: 运行在浏览器上,
    
    移动端: 运行在手机系统上,
    
    电视端: 运行在电视系统上,
    
2.按住功能划分:
    游戏
    
    应用

3、APP和web的区别:

text
APP概念: App是(Application)的缩写,意思是安装的应用程序。

优点:流畅、稳定、基本上一些App都可以脱网运行,用户体验好。

缺点:不能跨平台

Web概念:特指那些基于浏览器的web网站(本质就是网页)

优点:可以跨平台(浏览器天生就是跨平台的)

缺点:没有App流畅、不稳定,受限于网速和网络

4、市面常用的APP开发模式:

text
1.webapp:基于浏览器实现的,有特定功能的网站,称作webapp
-   优点:跨平台,开发成本低,开发周期短
-   缺点:依赖网络,有白屏效果,用户体验差,不能调用硬件底层的设备,例如摄像头

2.nativeApp:用android 和 Object-C 语言开发的应用程序,运行在Android和IOS系统上,
-   优点:性能好,用户体验好,非常适合做游戏【高性能】,可以调用硬件底层设备的API,例如摄像头
-   缺点:开发成本高,开发周期长,不能跨平台

3.hybridApp:利用前端所学的知识去开发移动端App,兼具2者的优势,
-   优点:能够跨平台,性能相对较好,用户体验好,可以调用硬件底层设备的API,例如摄像头
-   缺点:相对原生体验稍微若一点,不适合做游戏,适合做非游戏类的App;

5、应用场景

text
注意: 使用Java 或者 IOS 写出来的代码和程序,在最终运行的时候,普通文本代码,都会被编译为原生的机器码去执行,
      并不像JS 代码那样,解析执行,Java代码是编译执行。

6、技术选型

text
1.如果企业曾经使用原生开发过APP,那么在技术选型的时候,优先选择原生技术开发,
2.如果企业产品为游戏类的,那么优先选择原生技术开发,
3.如果企业产品为非游戏类的,那么优先选择Hybrid技术开发例如:淘宝,京东,美团等,
4.如果项目需要敏捷开发选择Hybrid技术开发,能快速上线抢占市场,例如:携程,滴滴,饿了么等,

7、开发流程

text
1.需求调研: 
-   产品定位、受众群体、市场需求、开发价值;【产出物:需求文档】
2.产品设计:
-   功能模块、流程逻辑;【产出物:设计文档,交互稿(产品原型)】,确定项目的基本功能
3.项目开发:
-   项目架构、美工、前端、后台、测试【产品的把控】 -- 要理解前后端分离的概念--
4.运营维护:
-   上线试运行、调bug、微调功能模块、产品迭代

8、混合App技术配搭

  • 1.Angular.js基础语法 + Ionic(提供了对应的命令行工具 + UI组件)(Google)

  • 2.vue.js基础语法 + Weex (提供了对应的命令行工具 + UI组件)(Alibaba)

  • 3.React.js基础语法 + React Native (提供了对应的命令行工具 + UI组件)(Facebook)

  • 运行对应的命令行指令打包成可以安装的手机端程序安装包

  • 4.html5+ 中国产业联盟,是工信部下属单位,是为了更好的推进HTML5的商用、更好的为HTML5开发者服务而由产业链厂商共同组成的一个联盟(DCloud) ( HBuilder )

  • 5.Dart + Flutter (提供了对应的命令行工具 + UI组件) (Google)