1. 跨端框架介绍
跨端框架 | 基本信息 | 说明 |
移动端 1. 性能:uniapp < ReactNative < Flutter 2. Web跨端技术方案:uniapp、taro、Codova、Electron(浏览器内核渲染) 3. 原生跨端技术方案:weex、ReactNative(Andriod/iOS原生渲染) 4. Flutter独立搞一套(Flutter engine渲染) | ||
uniapp 注:weex已经嵌入uniapp | 产地:国产 所属公司:Dcloud 适用范围:Andriod、iOS、H5、国产小程序、快应用 编辑器:HBuilder 技术偏向:Vue 渲染方式:浏览器内核渲染(离线HTML方案,支持使用weex实现页面原生渲染) | 简介:uniapp是一个使用Vue开发所有前端应用的框架,开发者编写一套代码,选择相应目标进行编译,编译后分别部署到网站、APP、小程序多个平台 开发成本:开发一次,生成Andriod、iOS、小程序等多端的界面 学习成本:Vue(HTML+CSS+JavaScript),熟悉小程序开发 缺点:不是太接近原生,也没有很快 笔者:学会Vue和uniapp,覆盖了Andriod、iOS、H5、小程序、快应用,卷不卷。。。 |
Taro | 产地:国产 所属公司:京东 适用范围:Andriod、iOS(通过ReactNative实现)、H5、国产小程序 技术偏向:Taro3同时支持Vue和React 渲染方式:浏览器内核渲染(离线HTML方案) | 学习成本:Vue或React(HTML+CSS+JavaScript) |
weex | 产地:国产 所属公司:阿里巴巴Alibaba 适用范围:Andriod、iOS、云OS、Web 引擎:V8 技术偏向:Vue 渲染方式:页面原生渲染(通过JavaScript做为连接原生的桥梁) | 简介:weex是一个使用Vue开发Andriod、iOS、云OS、Web多端的框架 学习成本:Vue(HTML+CSS+JavaScript),还要懂iOS和Andriod原生开发知识 缺点:稍微比uniapp快 |
ReactNative | 产地:国外 所属公司:Facebook 适用范围:Andriod、iOS、H5 引擎:JSCore 技术偏向:React 渲染方式:页面原生渲染(通过JavaScript做为连接原生的桥梁) | 简介:React Native是一个使用React开发移动APP的框架,使用Andriod和iOS本地组件作为构建块,而不是html/dom(即与ReactDOM不同,本处使用ReactNative作为渲染器)。 不需要学习Java或Objective C,只需要引用它提供的基础构建元素,如Button、Switch、ScrollView、View,它在运行时会使用平台本地组件。它可以将react native的View转换成andriod的View和Web的div,一个应用的价格可以获得三个运用。 开发体验好:用统一的代码规范开发移动端程序,不用关注移动端的差异 开发成本低:1. 开发一次,生成Andriod、iOS两个系统的APP;2. 学习一次,随处编写 学习成本:React(HTML + CSS + JavaScript),要求精通Flex布局,还要懂iOS和Andriod原生开发知识 笔者独白:学会ReactNative,覆盖了Andriod、iOS、H5,唯一遗憾是不支持编译成小程序,也是很牛逼的框架。。。 |
Flutter | 产地:国外 所属公司:Google 适用范围:Andriod、iOS、Web、Fuchsia、桌面应用、嵌入式平台 引擎:Flutter engine 技术偏向:dart语言 | 简介:Flutter是一个构建Andriod、iOS、网页的界面框架,是高性能C++和dart语言的结合,使用dart语言进行开发。 学习成本:Dart语言,了解Dart和Flutter的API、要求精通Flex布局,要求原生开发协作 笔者独白:和HTML/CSS/JavaScript没关系了,重新学一门dart语言 |
Codova | 产地:国外 渲染方式:浏览器内核渲染(离线HTML方案) | 学习成本:(HTML+CSS+JavaScript) |
Ionic | 技术偏向:Angular | 。。。。。。 |
WebView | 适用范围:Andriod、iOS、H5 渲染方式:浏览器内核渲染(在线HTML方案) | 简介:WebView是一种浏览器(支持Andriod、iOS),作为沙盒,运行移动端Web应用,但是没有原生APP流畅 哲学:编写一次,随处运行。 笔者独白:实现方式太旧了,没有原生APP流畅,已丢进垃圾桶 |
其它 | Hippy(腾讯)、Chameleon(滴滴)、Kbone(微信)、Xamaric | 。。。。。。 |
PC端 | ||
Electron | 适用范围:Window、MacOS、Linux 所属公司: 技术偏向:HTML、CSS、JavaScript | Electron是使用HTML+CSS+JavaScript构建跨平台(Windows、MacOs、Linux)的桌面应用 笔者独白:握草,PC端的活也被Web开发抢了 |
2. 选型总结
- 学Vue+uniapp、Electron,就覆盖了 Windows/MacOS/Linux/Andriod/iOS/Web/H5/小程序
- 学Vue+weex、Electron,。。。
- 学React+ReactNative+Electron,就覆盖了Windows/MacOS/Linux/Andriod/iOS/Web/H5(不支持小程序)
- 学Flutter,就覆盖了Windows/MacOS/Linux/Andriod/iOS/Web/H5(不支持小程序)