之前两个月的项目,算是把 Weex 完整的体验了一遍。涉及到的功能及技术、更多的是坑
- 调用原生功能:拍照、蓝牙设备、扫描二维码、聊天、消息推送等
- Android 页面间切换卡顿
- 对于 Gif 动画的支持
- base64 图片的支持。参考 weex android 支持 base64
- iOS 下键盘影响布局的 bug
- Android 切换页面时出现选择框的 bug。参考 Weex Android 避免切换页面时弹出应用选择框
- weex android iOS 加载本地图片
- Weex 的三端合一纯属扯淡。因为 H5 端用这个写太弱了,而且费时费力
- weex picker 在 android 上崩溃或者无响应的问题
- Weex toolkit 代码及 SDK 代码质量堪忧,诸多低级错误,对阿里的前端技术能力表示怀疑。对比微信小程序的技术实现,Weex 就像是幼儿园的产品
这段时间,有个新项目优先要用 Android 实现 (手持设备,智米 v1),由于有了之前的 weex 经验,团队惯性地使用了 Weex 继续开发。(我们基本把能踩的坑都踩了,甚至可以自豪地说,国内没有几个团队能比我们踩的坑更多)
但是,当我看到团队在没有专门前端写出来的界面时,我犹豫了。由于缺乏 UI 组件库的支持,没有前端经验的同事写出来的界面惨不忍睹,所以,我临时喊停了。想等我把 weui 的界面库封装一下,再继续写界面。
干这事的过程中,我不断在想
- 这他妈应该是我干的事情么?Weex 为何没有像微信小程序一样提供基础的组件呢?因为阿里只开源了 SDK,组件部分他们私藏了。更新 17-10-10,阿里开源了 weex-ui https://github.com/alibaba/weex-ui
- 用 Android 原生组件写起来理论上比用 Weex 写快多了吧
Weex 应该更适合做这样的功能页面
- 交互不多,展示需求占多数的情况。例如,报表页、商品列表页。信息录入页面,最好用原生组件去写。例如,iOS 的原生组件已经非常好用。
- 界面布局设计与原生组件差异较大,用原生写起来非常耗时,但是感觉这种情况 webview 也可以啊。。。
结论
APP 开发,应该首先用原生代码来搭建架子,当出现用原生写起来非常费力的情况时,再考虑使用 Weex 等技术。一定不要上来就搞 Weex。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式