Weex快速上手教程(Weex Tutorial)

简介:

我们将使用Weex编写一个简单的列表 , 类似的列表经常能在电商类移动应用中见到。


开始


我们先编写一个列表项。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


请创建一个名为 tech_list.we 的文件( .we 是Weex推荐的后缀名 ) ,请复制粘贴以上代码于其中。


因为Weex工具链使用Node.js构建,在进行后续步骤前,你需要先安装 Node.js(https://nodejs.org/en/download/stable/ ), 在Node.js安装成功后,你可以执行下面的命令来安装Weex命令行程序 Weex Toolkit (https://www.npmjs.com/package/weex-toolkit )。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


在安装结束后,你能通过在命令行窗口执行 weex 命令来检查工具是否安装正确. 仅仅输入weex并敲击回车后,你应该看到如下内容显示:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


如果一切正常, 请在命令行中切换工作目录到刚才存储 tech_list.we 所用目录并输入如下命令:


hWAAAAAElFTkSuQmCC


你系统默认浏览器的窗口将自动打开以显示如下内容:


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


语法概念


现在我们来了解下一些简单的语法概念。 如 tech_list.we所示, Weex代码由三部分构成: template (模板), style (样式)  和 script (脚本) 。这三个概念之于Weex就如 html,css,javascript 之于Web。


模板部分赋予Weex以骨架, 由标签以及标签包围的内容构成。Weex中的标签分为开放标签(eg: )和闭合标签(eg: )两种, 我们把每一对开放&闭合标签称为一组Weex标签. 标签中能添加 属性 ,不同的 属性 有不同的含义,例如 class属性让同样的样式可以作用于多组Weex标签, onclick 属性让标签能对用户点击事件作出回应。


样式部分描述Weex标签如何显示。和你一样,我们喜欢CSS, 所以Weex中的样式尽量和CSS标准一致。Weex支持很多CSS中的特性: margin, padding, fixed...... 更好的是,  flexbox布局模型在Weex中有着很好的支持。


脚本部分为Weex标签添加数据与逻辑 ,在这里你能方便的访问本地和远程的数据并更新标签。你还能定义方法并让这些方法响应不同的事件. Weex脚本的组织方式基本遵循于CommonJS module规范。


关于Weex语法的更多信息,你能在  Syntax chapter (http://alibaba.github.io/weex/doc/syntax/main.html )查看。


添加更多的列表项


单独一个列表项称不上”列表” , 所以让我们来添加更多的列表项. 打开刚才的tech_list.we文件,更新其中的内容如下:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


现在,让我们来尝试使用Weex Native渲染器来渲染这个文件。打开终端,切换到保存该文件的目录,执行


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


终端中将会出现一个二维码,类似如下这样:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


这个二维码需要配合 Weex Playground App(http://alibaba.github.io/weex/download.html )工作。下载安装后点击App中的扫码图标,然后用你的手机摄像头扫描终端中的二维码。一个漂亮的列表将出现在你的手机中。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

这里我需要强调,这个列表是完全由native view(不是Webkit)来进行渲染的,相比Webkit渲染的界面,你的App能获得更快的页面加载速度和更少的内存开销。


现在你能尝试变更一些 tech_list.we中的内容,在保存变更内容之后, Weex Playground 将会立即在界面上反映出这些变化, 这个特性常被称为 Hot-Reload,希望能帮助你更方便的进行Weex开发。


添加内置组件


除了自己动手从最基础的标签开始编写, Weex还提供很多内置组件。Slider(滑动器)在移动App和页面中很常见,所以我们提供了一个内置的Slider组件让你能在自己的界面里轻松的添加一个滑动器。打开 tech_list.we,把里面的内容变更如下:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


在终端中同一目录再次运行这个命令:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


一个漂亮的滑动器将会添加到我们之前编写列表的顶部。


0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

更多有关滑动器组件的信息请在 这里 (http://alibaba.github.io/weex/doc/components/slider.html )查看。


就像我们之前演示过的,这个界面也能用"Native View"的方式在 Weex Playground App中被渲染。如果你想让你自己的App也获得这样的能力,请访问这份文档(http://alibaba.github.io/weex/doc/advanced/integrate-to-android.html )学习如何把Weex集成进入你自己的App中。


目录
相关文章
|
4月前
|
Dart 前端开发 开发工具
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
【4月更文挑战第30天】本文介绍了Flutter SDK的安装和配置过程,以及如何创建并运行第一个Flutter应用。首先确保安装了Dart SDK和Flutter SDK,支持macOS、Linux和Windows。安装完成后,设置环境变量,然后通过`flutter doctor`验证安装。接着,使用`flutter create`命令创建新项目,进入项目目录并运行`flutter run`启动应用。在`main.dart`中修改代码以自定义应用。Flutter支持热重载和DevTools调试。本文为Flutter初学者提供了快速入门的指导。
70 0
【Flutter前端技术开发专栏】Flutter入门指南:搭建开发环境与第一个应用
|
Web App开发 移动开发 JavaScript
Weex调试神器——Weex Devtools使用手册
伴随着weex的正式开源,对一款针对weex框架的简单易用的调试工具的呼声也日趋强烈。weex devtools就是为weex前端和native开发工程师服务的一款调试工具,可同时检查weex里DOM属性和Javascript 代码断点调试,支持IOS和Android两个平台。
20382 0
|
4月前
|
传感器 前端开发 Android开发
【Flutter 前端技术开发专栏】Flutter 中的插件开发与集成
【4月更文挑战第30天】本文探讨了Flutter插件开发的关键技术和实践,包括插件作为连接Flutter与原生功能桥梁的角色,开发流程(定义接口、实现原生代码、打包发布),以及集成方法(添加依赖、初始化)。文中提到了多媒体、传感器和文件系统等常见插件类型,并以相机插件为例说明开发步骤。此外,还强调了版本兼容性、性能优化和错误处理的注意事项,推荐了开发工具和资源。随着Flutter的发展,插件开发将更加重要,未来有望形成更丰富的生态系统。
68 0
【Flutter 前端技术开发专栏】Flutter 中的插件开发与集成
|
4月前
|
前端开发 Android开发 开发者
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
【4月更文挑战第30天】本文探讨了使用Flutter开发混合应用的方法。混合应用结合Web技术和原生容器,提供快速开发和低成本维护。Flutter,一款现代前端框架,以其插件系统和高性能渲染引擎支持混合应用开发。通过创建Flutter项目、添加平台代码、使用WebView、处理平台间通信以及发布应用,开发者可构建跨平台混合应用。虽然混合应用有性能和用户体验的局限,但Flutter的跨平台兼容性和丰富的插件生态降低了开发成本。开发者应根据项目需求权衡选择。
111 0
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
|
4月前
|
Dart 前端开发 开发工具
【Flutter前端技术开发专栏】探索Flutter的世界
【4月更文挑战第30天】Flutter是谷歌的UI框架,用于构建高性能、跨平台的iOS和Android应用。它使用Dart语言,提供丰富的预置组件,支持热重载,确保跨平台一致性。Flutter的亮点包括高性能渲染、丰富的组件库、国际化的支持。开发者可通过安装SDK和IDE插件开始开发,熟悉Widget、StatefulWidget、StatelessWidget等核心概念。其潜力和前景在移动应用开发领域备受关注,丰富的生态系统包含第三方库和工具,如网络请求和状态管理。学习Flutter对前端开发者极具价值。
34 0
【Flutter前端技术开发专栏】探索Flutter的世界
|
10月前
|
开发框架 移动开发 小程序
快速上手小程序框架Taro,安装及使用教程(一)
快速上手小程序框架Taro,安装及使用教程(一)
126 0
|
10月前
|
开发框架 小程序 JavaScript
微信小程序wepy框架入门教程-搭建开发环境(一)
微信小程序wepy框架入门教程-搭建开发环境(一)
228 0
|
10月前
|
小程序
微信小程序wepy框架入门教程 - 安装less/sass(四)
微信小程序wepy框架入门教程 - 安装less/sass(四)
200 0
|
移动开发 小程序 前端开发
【前端】taro 跨端应用环境搭建
【前端】taro 跨端应用环境搭建
12050 1
|
JavaScript 前端开发
Dva 初体验
dva 首先是一个基于 redux 和 redux-saga 的数据流方案,然后为了简化开发体验,dva 还额外内置了 react-router 和 fetch,所以也可以理解为一个轻量级的应用框架。
314 0