深入Weex系列(十一)用Weex构建一个完整App的思考

1、前言

经过前面十篇文章,我们学习了Weex的使用、源码及架构分析,对Weex的优缺点和核心能力也有了认识。

为了将大前端进行彻底,我们来思考一个问题: 如何使用Weex构建一个完整的App? 也就是说App是个壳子,骨架则是Weex。

2、优势

我们先来想下一个完整Weex构建的App有哪些好处,当然在一定程度上可以换句话说是平时Native开发的缺点:

  • 动态更新的能力,模块修改或者热修复;
  • 更简单的支持A/BTest;
  • Apk包小,业务模块可按需下载;
  • 降低崩溃率;

试想,平时我们是不是在Native开发中会花费大力气在热修复、A/BTest以及Dex较多时的拆包方案上,同时在发布市场的时候需要等待审核及用户升级率不高的长时间焦灼。

3、实践

一般对于比较难或者大的问题我们会首先进行任务拆解,拆解成若干小问题逐个突破。

我们看下拆解之后的各种小问题:

  • 项目链路;
  • 协作方式;
  • 其它优化;

3.1 项目链路

项目链路就是整个项目开发、测试、打包、灰度、发布等的流程,和传统的Native开发区别并不是很大,有一些需要注意的点。

对开发的版本控制仓库我们需要两个,一个是Android的代码仓库,另一个是Weex的开发仓库;

  • Android代码仓库用来做Native组件提供、Weex模块的代码内置及壳App的打包;
  • Weex代码仓库就是Vue代码的版本控制;

备注:

  • Weex使用Vue代码需要经过编译,最好做一个脚本工具简化步骤;
  • 对灰度来说,依赖于发布平台,最好能有一个可视化的操作界面;

3.2 协作方式

协作方式就是一个完整的Weex App需要哪些人,如何分工能使人效最大化?

首先对于简单的Weex使用,Native RD可以自己上手写Weex代码。但是整个App都是Weex构建为了更好的工程化,那么最好分工明确:

  • Native同学只负责基础架构,提供各种组件供前端同学来调用;
  • 业务部分由前端同学来做;

这种分工的好处是Native和前端同学各自负责自己擅长的工作内容,有利于业务的快速开展。

3.3 其它优化

对于一个完整的Weex App,这块必不可少。毕竟对于纯粹的原生开发,大量开发人员经验丰富,解Bug、调优的套路都有明确的路子。但是一旦完全采用了Weex技术栈,单纯的使用Weex就不够了,需要对Weex的源码非常熟悉,必要的时候加以修改(这点我觉得免不了)。以下列出几点:

  • 基础能力需要自己做;
  • 测试环节的加强,稳定性、性能的保障;
  • 界面显示速度的优化;

务必注意:吃透源码,不满足的时候才能尽情修改。

4、总结

本文总结Weex开发的链路,关于Weex的使用、源码分析、架构设计、优劣等可以参考之前的系列文章。

原文发布于微信公众号 - 双十二技术哥(gh_b0e7544783e2)

原文发表时间:2018-01-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沙尘暴的专栏

养车记账本小程序开发实例

本实例所用资源为腾讯云购买的微信小程序解决方案,选的其中的PHP环境。

1.1K9
来自专栏Java编程技术

阿里之路(二)

从今年7月到现在转眼间转岗到淘宝部门已经有小半年了,最近刚刚经历人生中第一次双11实战,体验了一把系统经受高并发高流量的冲击的感觉,一个字爽,作为小白,在这小半...

982
来自专栏ThoughtWorks

解读GraphQL|洞见

今天我们解读一下2016年11月期技术雷达中的GraphQL,它位于语言象限,处于评估阶段,编号整100,非常方便查找……这项技术比较有意思。对我来说,技术雷达...

3537
来自专栏腾讯Bugly的专栏

三步走起 提升 iOS 审核通过率 上篇

image.png 2016年的第一天,各位小伙伴儿们,新年快乐~~~在过去一年里,负责 iOS 应用开发的同学们,想必已被 APP Store 的审核机制折磨...

4559
来自专栏生信技能树

生信技巧第5课-生信人必须安装的软件

不知不觉就第5讲了,本次视频没有干货,只是为了保证入门系列视频的完整性而录制的,没啥事就不用看了,反正你需要安装一些软件就可以了。

1883
来自专栏程序员宝库

GraphQL 在微服务架构中的实践

在过去的将近半年的时间里,作者一直在使用 GraphQL 这门相对新兴的技术开发 Web 服务,与更早出现的 SOAP 和 REST 相比,GraphQL 其实...

2432
来自专栏杨建荣的学习笔记

明天,实现几个还不错的功能点

明天,计划实现几个还不错的功能,算是个自己这段时间的运维里程碑划上一个句号。里程碑是自己制定的,目的是督促自己做事情有一个预期目标,在糟糕的实现中不断迭...

1132
来自专栏信安之路

如何攻击 LTE 4G 网络

我们在数据链路层(也就是网络协议的第二层)上对移动通信标准 LTE(Long-Term Evolution 也就是我们常说的 4G)的安全分析发现额三种新型攻击...

1430
来自专栏云上大文件传输

【AWS系列】镭速RaySync VS FTP (4)- AWS爱尔兰到腾讯云广州

Windows Server: https://www.raysync.cn/support_for_windows.html

53317
来自专栏美团技术团队

美团点评数据库高可用架构的演进与设想

本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新。同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进...

40515

扫码关注云+社区

领取腾讯云代金券