阿里的weex框架到底是什么
title: 阿里的weex框架到底是什么
date: 2016-09-27 10:22:34
tags: vue, weex
category: 技术总结
---
weex 工作原理
首先看下官方的说法:transformer 会把 template, style, script 都转换成一段段 json 或者 js,这样客户端只接收并运行js,不必同时解析html/css这些语法,并且这些js还会继续进行数据监听和绑定,然后生成最终的virtual dom 再发送给 native端进行渲染。

weex 主要就是做了三件事
- 在服务端用 Transformer 工具把 Vue 代码转换成 Js Bundle。
- 在客户端运行Js Framework 的 JavaScript 引擎,解释执行Js Bundle生成Virtual DOM。
- 在客户端设计一套 JS Bridge,能使IOS端(或者Android端)的Object-C语言(或Java语言)与Javascript语言相互调用,把Virtual Dom转换为DOM,渲染到页面。H5端直接和Js Framework 通讯,不需要Js Bridge。
如下为Virtual DOM 渲染为Dom的过程:

相关概念:
- ECMAScript:定义了JavaScript语言的标准
- JavaScriptCore:应用在在wekit内核内的js引擎,浏览器有Safari。
- V8: 应用在chromium内的js引擎,浏览器有Chrome。
- JS引擎的作用都是解释和执行JavaScript代码。
- 有关JavaScript引擎解析的内容请查看 JavaScriptCore解析
- 有关JavaScriptCore和V8的内容请查看:JavaScript引擎
怎么开始搭建个weex项目
相对比较简单看官方吧。
weex相关工具
- node.js
- weex-toolkit
- Weex Playground App
相关论坛
阿里的weex框架到底是什么的更多相关文章
- Weex框架源码分析(Android)(一)
一.weexSDK初始化流程 WXSDKEngine.initialize(Application application,InitConfig config); //WXSDKEngine的init ...
- 跨平台开发之阿里Weex框架环境搭建(一)
转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...
- 跨平台开发之阿里Weex框架环境搭建(二)
爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/5995195.html 上篇文章(http://www.cnblogs.com/foz ...
- 2020 年了,Java 日志框架到底哪个性能好?——技术选型篇
大家好,之前写(shui)了两篇其他类型的文章,感觉大家反响不是很好,于是我乖乖的回来更新硬核技术文了. 经过本系列前两篇文章我们了解到日志框架大战随着 SLF4j 的一统天下而落下帷幕,但 SLF4 ...
- [转载]javaEE规范和SSH三大框架到底有什么关系
转载自: http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...
- javaEE规范和SSH三大框架到底有什么关系
转自博客:http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...
- 将百度的ECharts整合到阿里的Weex中。
由于公司的业务,之前PC版产品中,大量的使用了百度的ECharts库.所以现在要做移动端,在大概熟悉了Weex基本语法和搭建环境后,就着手研究如何将这两个好东西糅合起来. 首先,按照Weex官方教程, ...
- 阿里分布式服务框架Dubbo的架构总结
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- 大家所说的full-stack框架到底是指什么?
轻量级框架: 整合层 guice ORM层 nutz, guzz 表示层 -- None -- JSF Spring MVC ...
随机推荐
- PHP搭建大文件切割分块上传功能
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...
- 【开源】分享2011-2015年全国城市历史天气数据库【Sqlite+C#访问程序】
由于个人研究需要,需要采集天气历史数据,前一篇文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子),介绍了基本的采集思路和核心代码,经过1个星期的采集,历史数据库 ...
- C#中如何给Excel添加水印
我们知道Microsoft Excel并没有内置的功能直接给Excel表添加水印,但是其实我们可以用其他变通的方式来解决此问题,如通过添加页眉图片或艺术字的方法来模仿水印的外观.所以在这篇文章中,我将 ...
- 重新认识了下Entity Framework
什么是Entity Framework Entity Framework是一个对象关系映射O/RM框架. Entity Framework让开发者可以像操作领域对象(domain-specific o ...
- 代码的坏味道(22)——不完美的库类(Incomplete Library Class)
坏味道--不完美的库类(Incomplete Library Class) 特征 当一个类库已经不能满足实际需要时,你就不得不改变这个库(如果这个库是只读的,那就没辙了). 问题原因 许多编程技术都建 ...
- UVa 122 Trees on the level
题目的意思: 输入很多个节点,包括路径和数值,但是不一定这些全部可以构成一棵树,问题就是判断所给的能否构成一棵树,且没有多余. 网上其他大神已经给出了题目意思:比如我一直很喜欢的小白菜又菜的博客 说一 ...
- Android的Kotlin秘方(II):RecyclerView 和 DiffUtil
作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...
- GitHub管理代码-随笔
公司一直用的SVN进行项目管理,平时便自己折腾了下Git,这里做下GitHub的最简单的记录... 在git上创建仓库等就免谈了,网上也有好多教程,直接从创建之后记录: 在github的readme文 ...
- Oracle创建表空间
1.创建表空间 导出Oracle数据的指令:/orcl file=C:\jds.dmp owner=jds 导入Oracle数据的指令:imp zcl:/orcl file=C:\jds.dmp fu ...
- keepalive的不足,如何处理
MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求:我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepa ...