前言
在学习weex之前,先要了解,weex推出的背景。当前移动开发可以分为三种:Native App, Web App, Hybrid App.
- Native App特点:
- 性能好
- 完美的用户体验
- 开发成本高,
- 无法跨平台
- 升级困难(审核),
- 维护成本高
Web App特点:
- 开发成本低,更新快,版本升级容易,自动升级
- 跨平台,Write Once , Run Anywhere
- 无法调用系统级的API
- 临时入口,用户留存度低
- 性能差,体验差,设计受限制
- 相比Native App,Web App体验中受限于以上5个因素:网络环境,渲染性能,平台特性,受限于浏览器,系统限制。
Web App特点:
- Native App 和 Web App 折中的方案,保留了 Native App 和 Web App 的优点。
- 但是还是性能差。页面渲染效率低,在Webview中绘制界面,实现动画,资源消耗都比较大,受限于技术,网速等因素
为了解决移动开发的难题,所以由facebook推出了ReactNative和阿里巴巴推出了weex,但是这篇博客主要讨论weex。
1.Weex须知
相对来说,weex比ReactNative更简单,关于两者之间的比较:阿里云:weex vs react-native, 知乎:weex vs react-native。
weex在github上的开源项目相对来ReactNative少很多,而且在社区方面,也不如ReactNative活跃。
我之所以选择先学习weex,就是因为它相对来说更简单,而且weex提供了一些控件的封装,比如list, tabbar,
2.准备环境
怎么安装weex的环境,可以看下weex guide,如果有碰到问题,也可以在这里发表评论。
开发Weex需要同时兼顾服务端(就是weex的html+js部分)和app端,对于移动开发者来说,开发app端相对来说比较简单,只是我们需要注意在写扩展的时候要花费一些精力。所以这里我更加关心html+js部分的开发工作,Webstorm是个不错的选择,因为Webstorm不支持可视化拖拽html控件开发,所以必须的时候也可以安装一个dreamweaver.
3.需要掌握的知识点
App端,这里就不介绍了,对于移动开发者,这是基础,这里主要介绍html+js的部分。
- vue, weex目前支持支持vue2.x,所以你也可以直接使用vue开发weex
- html+js这是基础
- weex reference,这里有Weex的特性和组件的介绍。
- node也要了解,因为我们需要使用到一些node的命令。
4.社区和资料
4.1 社区
4.2 资料
5.我的代码
我目前还处于看代码阶段,对于我来说,看js代码难度不是很大,主要是熟悉各种各样的js框架,所以虽然看了介绍说weex学习难度低,但是相对我这种纯native移动开发者来说,还是有点吃力了。
myweex是我的weex代码托管地址,目前没有我写的weex项目,里面是我收集的一些weex项目,对于weexOne项目,我添加了很多注释。