Weex之微体验

前言

之前的几个月里,已经狠狠地体验了一把React-Native,享受着React-Native带来的快捷,也承受着踩坑的痛苦。改用一句非常流行话“从入门到直接放弃”。而随着Weex的开源,仿佛又看到了一丝希望的曙光,于是闲暇之余先尝试一番,应大领导要求做些技能储备,以便将来不时之需……

闲话不多说,下面开始体验之旅

准备工作——Weex环境搭建

1. 首先安装Node.js

$ brew install node

2. 安装Weex的集成环境

$ sudo npm install -g weex-toolkit

3. 验证是否安装成功

$ weex

4. 开发工具选择

我使用的是Sublime Text,期间也使用过WebStorm,但总是莫名的卡顿所以最终放弃了。

Sublime Text高亮状态设置:View -> Syntax -> Vue Component

Weex项目——“Hello Weex!”

1. 新建一个文件 WeexDemo,在 WeexDemo 目录下用终端执行:weex init,接着按照提示输入项目名称 XXX。运行后,相应的文件便会被创建。

$ weex init

2. 在被创建的文件中,对于熟悉前端或是React-Native的同学而言,你会看到一个尤为亲切的文件名——package.json。就是它告诉我们,我们还需要安装一些局部依赖库,所以老老实实地在终端接着运行npm install。(做个说明,新版的Node.js中已经集成了npm,所以我们在安装过新版的Node.js后就无需再安装npm了。当然你也可以运行npm -v来查看电脑中是否安装)。

$ npm install

3. 执行后,WeexDemo文件中的目录如图所示

· index.html——浏览器启动页面

· src——用来存放.we文件

· webpack.config.js——webpack的配置文件

4. 一切就绪后,我们可以查看一下这个项目最终的运行结果是什么。终端运行npm run serve

浏览器访问:http://localhost:8080/,这样你就会看到一个“HelloWeex!” 的页面。(如果打开的页面没显示,可以先执行npm run dev 后再执行 npm run serve )

$ npm run serve

当然也可以更快捷一点,weex-bootstrap.we为src中的文件,我们通过运行weex src/weex-bootstrap.we直接在浏览器中查看weex-bootstrap.we的运行结果。

$ weex src/weex-bootstrap.we

5. 运行结果如图所示

如何集成Weex到iOS工程中

作为iOS开发,当然还需要把Weex集成到iOS工程中好好体验一把。说干就干,并且有图有真相。

1. 项目初始化

2. 在根目录下执行touch Podfile,然后编辑Podfile文件,代码如图所示

3.下载最新的WeexSDK,地址为:https://github.com/alibaba/weex,将sdk文件夹拷贝到新建的iOS项目中,和Podfile里配置的路径保持一致

4.在当前目录,终端执行pod install

5.当前目录下创建一个新文件夹weex(可命令行mkdir weex),终端cd到weex目录下,执行weex init

6.安装局部依赖库,在当前目录下(weex目录下)执行:npm install

7.创建一个文件夹js,存放后面weex src -o js生成的js文件。为什么要生成js文件,建议去查看Weex的工作原理

8.将创建的js文件夹导入到Xcode工程的文件列表,注意箭头所指

9.Xcode打开workspace项目文件,在AppDelegate.m文件中导入头文件#import 。初始化代码

10.运行结果如图所示

在模拟器中,没有显示网络图片是因为需要在iOS代码中自定义图片加载类,该类需要遵守WXImgLoaderProtocol协议,并实现协议方法。图片加载类写好后,还需在入口函数中注册。这里不做过多叙述,可以参考官方Demo。在iOS中,一个Weex页面对应一个视图控制器,在这里用的是官方封装好的WXBaseViewController,你也可以选择继承它写一个视图控制器,或是自己写一个视图控制器配合WXSDKInstance来实现Weex页面渲染。

Weex-Demo演示

1. Gif动态图展示


2. Weex-Demo下载地址:https://github.com/yanshiyu/Weex-Demo.git 里面的实现功能在这里不做叙述,有兴趣的同学可以下载Demo到本地阅读。有问题的也可以在github上留言提问。

总结

1. 因为之前入手过React-Native,所以转战Weex还是很比较轻松,但是开发之前还是需要好好研究文档,遇到复杂点功能则需要仔细研读阿里的官方Demo。

2. 目前Weex的文档还不够详细,遭到很多开发人员的吐槽,阿里内部人员回复称,他们正在“憋大招”,所以还是很期待😆。

3. Weex自身还不能加载本地图片。不过集成到iOS工程中后,可以通过自定义图片加载类同时实现网络图片和本地图片的加载。

4. 不得不说,Weex中的ListView是一个很大亮点,不仅实现了cell复用,而且数据处理方面也很简单。

5. 说实话,Weex初体验感觉还是很好的,只是Weex现在还很“年轻”,使用的用户还不是很多,以至于社区不是很活跃,相关技术博客也不是很多。希望随着Weex各方面的完善,越来越多的人可以投身到Weex开发中来,真正的做到”Write once, run everywhere”。


==================

此文之前于2016-11-29发布于微信公众号insightLabs上,今日特重新发布于简书!

==================

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • 2016年4月21日,阿里巴巴在Qcon大会上宣布开源跨平台移动开发工具Weex,Weex能够完美兼顾性能与动态性...
    晴天咚咚阅读 2,882评论 1 15
  • 什么是 weex weex 是阿里开源的一套三端通用方案,只要编写一次代码就能运行在 iOS、Android 和 ...
    Tatinic阅读 1,245评论 0 9
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,140评论 25 707
  • 读书时期,女孩们总会有几个要好的朋友,陪你哭,陪你笑,见过你出糗的样子,一起八卦暗恋的男生,她们是知道你最多秘密的...
    Twyla阅读 569评论 1 3
  • 小敏的课外书 文\杨聪(本号真名) 小敏跟随打工的父母四处漂泊。这学期,她成了苍南县灵海镇水景小学六年(5)班的插...
    温州好老师阅读 776评论 6 3