Weex之微体验

作者: Daniel_颜世玉 | 来源:发表于2017-03-05 16:22 被阅读474次

前言

之前的几个月里,已经狠狠地体验了一把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上,今日特重新发布于简书!

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

相关文章

  • Weex之微体验

    前言 之前的几个月里,已经狠狠地体验了一把React-Native,享受着React-Native带来的快捷,也承...

  • Weex框架浅析

    1,Weex 是什么? Weex 是使用流行的 Web 开发体验来开发高性能原生应用的框架 ,Weex 致力于使开...

  • weex常见问题解析

    什么是 Weex? Weex 是使用流行的 Web 开发体验来开发高性能原生应用的框架。 Weex 致力于使开发者...

  • weex入门-Write Once, Run Everywher

    什么是 Weex ? Weex 是一个使用 Web 开发体验来开发高性能原生应用的框架。 Weex 致力于使开发者...

  • vue-weex 仿穷游APP

    代码 GITHUB 目的 体验weex开发效果,与RN,Flutter 做纵向对比。 目前weex已经由阿里捐赠给...

  • weex 初体验

    参考http://www.jianshu.com/p/03b005462e6d

  • Weex 初步体验

    阿里推出的类似React Native和Native Script的从前端都mobile的解决方案,主要研究如何将...

  • Weex初体验

    1、编译vue生成bundlejs   通过上述命令即可在dist目录下生成名字相同的js文件。 2、在服务器中运...

  • weex初体验

    一、什么是 weex Weex 是阿里巴巴开源的一套构建高性能、可扩展的原生应用跨平台开发方案。首先总结一下 we...

  • Weex 一样可以解锁前端开发原生游戏的技能

    前言(废话) 自上一篇 Weex 体验文章《网易严选 App 感受 Weex 开发》发布以来,朋友们的反馈还是不错...

网友评论

  • 大象飞:您好 请教一下 :kissing_closed_eyes: :kissing_closed_eyes:

    weex debug src -e src/index.vue
    我运行这个命令 出来两个二维码 , 第一个是 调试使用的,第二个index.vue 应该要显示的内容。 可是用浏览器打开后提示 Not Found , 用Play ground 扫第二个二维码也没反应。

    但是我使用 weex debug index.vue 这个命令 index.vue 就能显示出来。
    Daniel_颜世玉:@大象飞 不客气,也很抱歉没能帮到你。:pensive:
    大象飞:是一个网段,我重新init了一个项目 还是这样。 我再鼓捣鼓捣 ,谢谢你呐!:smiley:
    Daniel_颜世玉:看看是否在同一个局域网
  • 32e290433319:好棒,文笔不错嘛:kissing_heart:

本文标题:Weex之微体验

本文链接:https://www.haomeiwen.com/subject/dimnjttx.html