WEEX框架(一)框架简介和快速上手体验

2023-10-29

框架简介

Weex,是能够完美兼顾性能与动态性,让移动开发者通过简捷的前端语法写出Native级别的性能体验的框架,并支持iOS、安卓、Web等多端部署,由阿里巴巴研发和维护。
对于移动开发者来说,Weex主要解决了频繁发版和多端研发两大痛点,同时解决了前端语言性能差和显示效果受限的问题。
开发者只需要在自己的APP中嵌入Weex的SDK,就可以通过撰写HTML/CSS/JavaScript来开发Native级别的Weex界面。Weex界面的生成码其实就是一段很小的JS,可以像发布网页一样轻松部署在服务端,然后在APP中请求执行。

优点

  1. 两端代码共用率极高(不考虑前端,只考虑iOS 安卓)
  2. 热更新
  3. 接近原生的体验,比webview性能好很多
  4. 较低的学习成本,目前 Weex 主要支持 Vue.js 和 Rax 作为其内置的前端框架

缺点

  1. 文档不详细,而且更新不及时,最新SDK是0.30.0了,但是文档还是0.28.0的
  2. 坑比较多
  3. 复杂的业务场景无法实现
  4. 社区不如ReactNative活跃

官网

https://github.com/alibaba/weex

快速体验

想初步了解 Weex 其实非常简单。

  1. 安装 Weex Playground App. 在 Playground App里,你可以打开各种示例。
  2. 访问 Online Editor 在线IDE. 在这个网站上,你可以浏览、修改、新建各种基于 Vue.js 的单页面例子,并用 WeexPlayground 应用扫码查看实时效果。

这里有一个使用 Weex 和 Vue.js 开发的最简单的例子。你可以大致了解 Weex 是如何工作的。
在这里插入图片描述

附录:

Apache Weex 已迁移至 alibaba/weex 维护

背景

Apache IPMC 2021/05/09 发起了 Weex 的退休投票。投票已经基本通过,近期 Apache Weex 项目将会转移到 Attic 中。
“退休”并不意味这废弃,Weex 将会在 alibaba/weex 继续维护。

简单时间线

[2016-06-30]: Weex 在 GitHub 的 alibaba/weex 仓库中开源。
[2016-12-15]: Weex 团队宣布将 Weex 捐献给 ASF(Apache 软件基金会)。
[2017 ~ 2020]: Weex 在 Apache 软件基金会中孵化(代码仓库: apache/incubator-weex),按照 the apache way 的方式运作社区、迭代功能。
[2021-05-09]: Apache IPMC 发起了 Weex 的退休投票。
[2021-05]: Weex 团队将代码仓库和工作流迁移回 alibaba/weex。

代码仓库迁移

在 github.com/apache 中与 Weex 相关的仓库都会标记为 archived,并迁移到其他地方。
apache/incubator-weex: Weex 代码主仓库,迁移到 alibaba/weex
apache/incubator-weex-site: Weex 官方网站,源码迁移到 weexteam/website
apache/incubator-weex-cli: Weex 前端工具集,迁移到 weexteam/weex-toolkit
apache/incubator-weex-loader: Weex 前端工程的 Webpack loader,迁移到 weexteam/weex-loader
apache/incubator-weex-ui: 基于 Weex 的 UI 组件库,迁移到 weexteam/weex-ui
apache/incubator-weex-playground: Weex 的 playground App,合并到 alibaba/weex仓库目录中。
apache/incubator-weex-android-compatible: 已废弃安卓辅助工具,已经标记为 archived.

其他事项

更新 apache/incubator-weex 仓库中的 README,然后标记为 archived。
在 weex.apache.org 网站上添加声明,并且将官网迁移回 weex.io。
清理仓库中过时的声明文件,在 alibaba/weex 仓库中重新配置 CI。
把工作流迁移到 GitHub,包括需求管理、报 Bug、提代码、自动化测试、迭代计划、版本更新记录等。
在工作流迁移完成后,发布一个新版本。

文档

这个文档还是旧的Apache Weex v0.28.0,有点坑
http://doc.weex.io/zh/docs/api/weex-variable.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WEEX框架(一)框架简介和快速上手体验 的相关文章

  • 解析 Immutable.js 中的嵌套记录

    假设我使用 Immutable js 定义了以下记录 var Address Immutable Record street city zip var User Immutable Record name address new Addre
  • 如何使用PNGJS库从rgb矩阵创建png?

    我无法从此处的文档创建 PNG 文件 编码 https github com niegowski node pngjs https github com niegowski node pngjs 该文档提供了有关操作现有 PNG 的示例 为
  • 在 jsconfig.json 中找不到“import-resolver-typescript/lib”错误

    Problem Error File Users nish7 Documents Code WebDev HOS frontend node modules eslint import resolver typescript lib not
  • 未捕获(承诺中)DOMException:注册失败 - 清单为空或丢失

    我正在尝试使用 Polymer 实现推送通知 我跟着这个链接 https developers google com web fundamentals getting started push notifications 并能够让服务人员注
  • 在 JavaScript 中按名字(按字母顺序)对数组进行排序[重复]

    这个问题在这里已经有答案了 我有一个数组 请参阅下面的数组中的一个对象 我需要使用 JavaScript 按名字排序 我该怎么做 var user bio null email email protected cdn cgi l email
  • 通过span标签动态包装js字符串,这可能会在React中危险地渲染

    我有一个字符串 我想使用 aria label 标签将 span 标签单独添加到字母表中 最终结果将在 React 中危险地呈现 请指教 这就是我所拥有的 const str D C B B const addAriaLabels str
  • JavaScript 设置滚动高度

    在 JavaScript 中 将一个元素的滚动高度设置为另一个元素的滚动高度的正确方法是什么 直接赋值没有效果 谢谢 格雷格 直接是不可能的 scrollHeight 是一个只读属性 包含元素内容的总高度 以像素为单位 如果有元素 A 并且
  • Vuex 2.0 调度与提交

    有人可以解释一下什么时候使用调度和提交吗 我理解提交会触发突变 调度会触发操作 然而 派遣不也是一种行动吗 正如你所说 dispatch触发一个动作 并且commit触发突变 以下是如何使用这些概念 你总是用 dispatch来自路线 组件
  • 谷歌地图 - 缩放时保持居中

    在 Google 地图中 我希望在放大或缩小时能够将地图中心保持在我所在位置的标记上 这是 Ingress 所做的事情 无论您在何处双击 或双击 或在何处捏合 地图都会保持以标记为中心 所以有可能 我现在想到的最好的是 google map
  • JavaScript 在对象中创建数组并将数据推送到数组

    我是编程新手 我正在尝试 React 并具有函数 addComment 当用户向新闻添加评论时执行该函数 此时我需要创建一个属性comments 数组 并分配或推送到该数组输入评论值价值 但现在我只重写了数组的 0 个元素 无法添加新元素
  • Angularjs 中的动态表单名称属性

    当动态创建 inputName 时 人们将如何使用 formName inputName valid
  • 从 jsonp fetch Promise 获取 json

    我刚刚开始使用react native 并且我正在以文档中的经典示例作为基础 fetch https facebook github io react native movies json then response gt response
  • 通过 Scriptaculous 拖放防止 JavaScript 点击事件

    我的页面上有一些可拖动的元素 这些相同的元素有一个导航到另一个页面的点击事件 我试图确定在用户拖动时防止触发单击事件的最佳方法 但如果不拖动则仍然允许单击事件 有人对实现这一目标的最佳方法有任何想法吗 我通过使用类似以下内容解决了这个问题
  • Javascript 选择器中的实时收集和非实时收集有什么区别?

    我怎么知道现场采集和非现场采集有什么区别 根据我的研究 A liveis 当 DOM 中的更改反映在集合中时 当节点修改时 内容也会发生变化 A Not Liveis 当 DOM 中的任何更改都不会影响集合的内容时 document get
  • Google+ 风格的平铺照片库

    有没有人见过一个 javascript 库 它会生成一个照片库 类似于 Google 和现在的 Facebook 组织照片的方式 其中一些照片被裁剪 但所有照片都无缝地填充了一个空间 像这样的东西 我正在四处挖掘并发现了这个 虽然有点不同
  • 恢复console.log()

    由于某种原因 附带的原型框架 或其他 JavaScript 代码 Magento http en wikipedia org wiki Magento正在替换标准控制台功能 所以我无法调试任何内容 在 JavaScript 控制台中写下co
  • 在添加 ApiController 属性之前,ASP.NET Core 3.1 无法处理 Axios 请求

    我有以下问题 每当我向 Api 端点发送内容时 ASP NET Core 3 1 就无法处理该请求 但是 当我添加ApiController属性它工作得很好 我的代码是正确的 但只有当我添加此属性时才有效 怎么会这样呢 作为参考 这是我的代
  • NESTJS AWS Lambda 和 Sequelize 连接池

    由于我已经给出了下面代码片段中提到的池参数 因此是否有必要在每次 lambda 调用后关闭连接 这个 aws lambda 函数应该每分钟触发一次 池参数仅足以关闭连接吗 export const databaseProviders pro
  • 通过 XMLHttpRequest 将数据从 JavaScript 发送到 PHP

    再会 我正在尝试将一段简单的数据从一个 php 文件 manage php 发送到另一个 view php 我无法通过表单发送数据 我想通过 JS 脚本发送数据 这是我的尝试 var read function id xmlhttp new
  • 如何将包含所有嵌套数据的Firebase文档移动到其他集合?

    我想将特定文档及其所有嵌套集合从一个集合移动到另一个集合 是否可以 db collection codes doc specificDoc setLocation db collection archive 或者类似的东西 Firestor

随机推荐

  • opencv+mfc搭建框架

    环境 vs2012 opencv2 49 功能 加载图片 保存 二值化 放大 缩小 旋转 实现方法 用opencv来实现相应的图像处理功能 用mfc的对话框来搭建框架 难点 在Mfc框架下显示图片 解决办法 根据父窗口与子窗口的关系 将op
  • VuforiaAR扫描3d物体

    Unity版本为2020 3 20 Vuforia版本为9 6 3 有偿demo 链接 https pan baidu com s 1YlmKeMWvMFRYPhieP3OrqQ 3D物体数据扫描 安卓机扫描3D物体的Scanner工具包下
  • C#的线性规划代码

    using System using System Collections Generic using System Linq using System Text using System Threading Tasks namespace
  • C语言实现RAND函数的方法

    C语言使用rand 一个值就可以实现生成一个伪随机数供我们使用 那么rand函数是如何实现的呢 我们自己可不可以编辑出来 其实是可以的 rand作为伪随机数发生器产生的是一个伪随机数 一般的用途能够满足 要想实现这个函数 需要用一个公式 x
  • Springboot使用Thymeleaf模板引擎无法加载css样式等静态资源

    我的项目文件目录如下 在使用thymeleaf模板引擎时访问不到css样式文件如下 其原因是Thymeleaf模板引擎引用文件需要按照规定的写法 如下 需使用th href属性 路径需使用 文件路径 包裹 加上后就可以看见样式了
  • 报表的发布

    各种不同的报表工具 其发布方式是不一样的 现在说说一些报表工具的发布方式 笔者对报表了解不多 可能有些认识上的错误 望大家指明 DevExpress公司出品的报表工具 XtraReport 它的报表设计器就是集成在VS NET集成开发环境中
  • 简单了解JVM 组成以及各部分

    简单介绍JVM各组成部分 图1 JVM组成部分 JVM包含两个子系统和两个组件 两个子系统 类加载子系统 Class loader 和执行引擎 Execution engine 两个组件 运行时数据区 Runtime data area 本
  • leetcode 1233. 删除子文件夹

    1233 删除子文件夹 难度中等142 你是一位系统管理员 手里有一份文件夹列表 folder 你的任务是要删除该列表中的所有 子文件夹 并以 任意顺序 返回剩下的文件夹 如果文件夹 folder i 位于另一个文件夹 folder j 下
  • Java集合框架

    文章目录 一 简介 1 集合框架介绍 2 相关容器介绍 2 1 Set相关 2 2 List相关 2 3 Queue相关 2 4 Map相关 3 集合重点 二 ArrayList分析 1 ArrayList使用 2 ArrayList介绍
  • MMCV/MMDet/MMDet3D 的版本对应

    MMDetection3D version MMDetection version MMSegmentation version MMCV version master mmdet gt 2 24 0 lt 3 0 0 mmseg gt 0
  • [Pytorch系列-65]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 无监督图像生成CycleGan的基本原理

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121962962 目录 第1章 什么是
  • 图片像素点统计

    最近这几天闲来无事 想起来18年12月末帮别人做了一个编程题 题目就是如何统计一张图片中的气泡数目 以及每个气泡的面积 上面这张图就是案例 里面白色的都是不规则形态的气泡 当拿到这个题目时看一眼就大致有些思路 因为怎么说也是学了数据结构的人
  • PHp 密码验证

    MD5加密 string md5 string str bool raw output false 参数 str 原始字符串 raw output 如果可选的 raw output 被设置为 TRUE 那么 MD5 报文摘要将以16字节长度
  • 纯前端实现地址分词,模糊匹配

    关于地址分词的一点思路 一些主要代码的简要说明 本人的思路是 解析的结果存储在一个类似树状的结构中 就和DOM节点类似 用parent字段指向父级 用children字段指向子级 准备工作 CityModel 类 先构建出一个 CityMo
  • QT程序发布方法

    方法一 首先打开想要发布的程序所在的项目 然后将右下角的Debug换成Release Debug版本的程序非常大 因为有很多调试的信息 接着 按Ctrl R运行一遍 确保自己的程序没有问题 然后到程序的输出文件夹中 一般在项目目录的上一层目
  • 二分法查找之应用

    待定 1 二分法查找的前提 有序 1 二分法查找元素 例题1 287 寻找重复数 给定一个包含 n 1 个整数的数组 nums 其数字都在 1 到 n 之间 包括 1 和 n 可知至少存在一个重复的整数 假设只有一个重复的整数 找出这个重复
  • python opencv去图片水印

    背景 最近有一个需要为图片去水印的需求 于是各种折腾开始 背景了解图片标准 图片使用RGB编码 RGB色彩模式是工业界的一种颜色标准 是通过对红 R 绿 G 蓝 B 三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色 RGB即是代
  • java sort方法详解

    JAVA ARRAYS SORT 方法 static void sort ElementType a 默认为升序排序 static void sort ElementType a int FromIndex int ToIndex 在指定范
  • bash shell 计时运行耗时

    starttime date Y m d H M S ls usr lib endtime date Y m d H M S start seconds date date starttime s end seconds date date
  • WEEX框架(一)框架简介和快速上手体验

    框架简介 Weex 是能够完美兼顾性能与动态性 让移动开发者通过简捷的前端语法写出Native级别的性能体验的框架 并支持iOS 安卓 Web等多端部署 由阿里巴巴研发和维护 对于移动开发者来说 Weex主要解决了频繁发版和多端研发两大痛点