app
是应用 (application
) 的缩写,通常咱们指的是,移动 app 开发,移动指的是移动设备平台,如手机、iPad等; 移动 App
就是移动设备上运行的应用程序,例如咱们手机上的微信、支付宝等应用。vue
浏览器
环境中,无需
安装便可使用web
技术开发实现浏览器
负责UI界面的渲染
设备
上, 须要安装
后使用原生语言
开发实现,能够调用设备的底层硬件设备
负责UI界面的渲染
移动设备
上, 须要安装
后使用原生语言
开发, 部分采用web
技术开发原生
语言编写的功能由移动设置
渲染, web
语言编写的功能运行在App内嵌的web容器
中,就是一个内嵌的浏览器
对比/分类 | Web App | Native App | Hybrid App |
---|---|---|---|
市场承认度 | 不认 | 承认 | 承认 |
是否要安装 | 否 | 是 | 是 |
开发成本 | 低 | 高 | 中 |
维护更新 | 低 | 高 | 中 |
跨平台 | 低 | 高 | 中 |
体验 | 差 | 高 | 中 |
经过上面的对比发现,Native App 性能体验好,Hybrid App 开发维护成本低。若是有一种技术可以同时拥有二者的优势就行了,facebook 公司的 ReactNative 所以而生,它使用js和React编写UI逻辑,而后生成原生控件进行渲染绘制,既拥有媲美原生应用的性能体验,又拥有混合应用跨平台、开发快等优势。react
固然这也不是绝对的,在特殊需求下,仍是会有不足。首先框架自己须要处理大量平台相关的逻辑,随着系统与API的升级变化,开发者有可能也须要处理平台之间的差别,甚至有些特性只能在部分平台上实现,从而下降跨平台性。固然,这些问题也会随着 ReactNative 的版本迭代逐渐改善。git