深刻Weex系列(八)之Weex SDK架构分析

一、前言

通过前面几篇Weex源码分析系列文章,相信你们对Weex是什么、Weex能带来什么、Weex是如何工做的等几个问题已经有了本身的答案。git

备注:github

  • 本文会很是简洁,由于是站在前面几篇源码分析文章的肩膀之上进行归纳总结。若是还有疑惑的话强烈建议你们回过头再去看看以前的文章;
  • 基于Weex0.16.0版本;

二、Weex的核心能力

诚然,Weex为了方便开发者提供了各类方便的组件便于傻瓜式开发,但随着咱们对Weex剥丝抽茧,咱们更能学习到Weex的精髓:如何以新思路解决老难题?微信

Weex动态化、跨平台、结合Native的设计不只解决了须要频繁发版的问题,同时在必定程度上能够节省人力成本。在技术选型上RN与Weex的思路都没有问题,也都坚信这条道路均可以走得通。对于两者最核心的能力就是JS引擎与Native的交互能力,别的类如Js框架、组件支持、工具链、扩展、生态等实际上都是附属,都是一项技术的附带产物,为了赢得开发者的支持而作的。框架

对于Weex而言其实只要保留下Js与Native的交互能力,别的各类产物咱们均可以本身实现一份,思路不会有大的差异。工具

因此你们更应该由一项新技术的学习逐渐过渡到真正理解技术背后的本质,若是是咱们本身实现咱们的思路是什么样的,新技术有哪些咱们能够借鉴的地方!源码分析

三、Weex框架分析

你们回忆下关于各个组件源码分析的文章中:学习

  • 首先离不开的就是JSBridge,这是JS与Native交互的桥梁;对应于通讯层;
  • JS发回来的每个指令都会先通过各类Manager的处理,而后封装成相应的Action;对应框架层;
  • 注意不少操做都是在特定的线程好比WeeXDomThread,与之相对应的有线程的切换;对应于线程通信层;
  • 最后每个JS指令执行的时候都会对应于一个组件:Module、Component、Adapter等;对应于组件层;

四、Weex框架图

Weex框架图

咱们再对着框架图分析一遍:WXBridge负责JS引擎与Native的交互、框架层负责将JS指令进行处理、通信层进行各个线程的切换、每个JS指令都对应了组件层的执行。线程

五、总结

本文是对前面几篇源码分析文章的一个归纳总结,只是尝试去理解Weex SDK的框架设计及核心原理毕竟对于Weex整个的生态而言SDK只占了其中的一部分,还有不少类如开发流程、工具链、扩展等不少的面等待咱们继续探索。设计

欢迎持续关注Weex源码分析项目:Weex-Analysis-Project3d

欢迎关注微信公众号:按期分享Java、Android干货!

欢迎关注
相关文章
相关标签/搜索