从阿里 Weex 一窥移动技术发展之路

2024-03-14 17:18

本文主要是介绍从阿里 Weex 一窥移动技术发展之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为奋战在移动开发技术实践内容第一线的从业者以及开源推崇者,在过往四年多的时间里,笔者看到了以 iOS、Android 为主的技术演进,以及对于“一次编码,处处运行”的跨平台开发的不断探索,国内外无数开发者追求着低成本高效率的应用研发目标,并不断实践回馈至开源社区中。在这之中,由阿里巴巴开源的轻量级移动端跨平台动态性技术解决方案 Weex 即是很好的例子。几天前在杭州西溪天堂艺术中心,笔者应邀参加了 Weex Conf,从 Keynote 到两个技术论坛,见识了 Weex 从无到有的技术能力演进、最新进展以及以业务为驱动的实践经验分享,在这里摘取总结分享给大家。

Weex Conf 现场,由阿里高级前端开发专家赵锦江(勾股)主持,屏幕上显示的是 Weex team 成员

在上午的 Keynote,我们看到了 Weex 团队实现了 Weex 和 Vue 代码仓库打通的实现,基于 React 标准的 DSL 框架 Rax 的开源,以及用于聚合 Weex 的扩展功能和组件 Weex Market 的到来。同时,还有优美的新 Logo、新 Weex Project 主页。

其中,Weex 和 Vue 代码仓库打通,双向官方支持,基于 Weex 场景支持首屏流式渲染、表单双向绑定、多页面实例隔离、更好的 Web 版本、Native Transition 5大特色功能;Vue 核心工具和库全部完成对 Weex 的适配。

而通过 Rax,开发者不仅可以使用 Vue,还可以通过 React 写法构建一个 Weex 应用。Rax 非常轻量,体积只有8kb(gzip+ min),是 React 的1/4,非常适合移动端开发。

Weex Market 则可以有效地解决 Weex 使用中的需求多样性和丰富性问题,并且降低了开发者向 Weex 项目社区贡献成果的门槛,对 Weex 开发者生态的构建起到很好的促进作用。Weex 团队同时推出了与之对应的工具,帮助开发者快速引入、开发及发布插件。


除上述之外,我们更看到了 Weex 从0到1,自诞生到开源建设的发展脉络。阿里资深总监庄卓然(南天)在演讲中回顾了阿里巴巴的移动技术之路,从2014年的容器化框架 Atlas、2015年的网络接入服务 ACCS 到2016年的动态化方案 Weex,从中可窥整个移动开发环境的需求及技术方案演进。在过去一年里,从内测、开源到捐赠给 Apache 基金会开始孵化、GitHub star 过万,Weex 发生了极大的变化,而这与阿里巴巴整体的技术发展以及开源环境密不可分。

阿里资深总监庄卓然(南天)

南天的演讲提炼:

Weex 的过去:移动开发需求的演进

Weex 的成长历程与整个移动技术发展紧密相连,在过去几年里,移动技术发展有着明显的轨迹,自2013年阿里巴巴集团宣布我们进入移动无线战场开始,我们需要解决的第一个问题不是如何让编写代码更快、更好、更简单,而是如何让这么多人同时基于一个项目或 App 进行并行开发。所以在整个2014年,我们最重要的一件事就是 Atlas,在传统的客户端架构中间增加一个容器,用来隔离上层不同业务组件互相之间的依赖。2015年,在这个 4G 技术还没有大规模普及的时候,我们将重心更多地放到了网络上,对进行弱网络问题进行优化,即 ACCS,而这一年,也是 ACCS 第一次在双11会场中大规模地使用。到了2016年,当我们解决了在客户端的并行开发、用户体验,我们希望能够以更开放、更简单的方式,写一套代码能够同时运行在 iOS、Android、HTML5 三端,同时拥有非常好的性能,由此开始了 Weex 的尝试。并在一个相对复杂的环境中,来验证这样一个方案是否能够给予用户很好的体验,减少团队开发的工作量,所以说,Weex 的每一点成长都与技术、业务的发展阶段有着密切、不可分割的联系。

Weex 的未来:移动技术与智能交互的融合

今年在不同场合,很多人都在提一个关键词,就是移动互联网的发展进入了「拐点」,这意味着什么?就是依靠着用户大量地从 PC 往移动端迁移的粗放增长的红利模式已经基本走到了尽头,在未来的业务侧中,我们需要深耕老用户,而不是一味地追求扩大用户群体。在这样的时代背景下,我们所有的技术都是希望去改善这个世界、更好地服务于用户,那么,技术该往哪儿走?就是今年云栖大会上马老师提出新零售、新制造、新金融、新技术、新能源的“五新”,这里面的“新技术”代表着未来技术的三大走向。

  • 新交互:自文本、图片到视频,这里面延展的轨迹是一维、二维、三维,人机交互越来越类现实,未来我们会进入到 VR/AR 的方式,交互将更叫符合现实中的场景,同时不失效,我们将不断地面对如何生产更好的内容及更好的交互方式展现。
  • 新计算:这里的新计算方式更指云计算整体的去向,更好的存储、更好的带宽、更高性能的计算。当然,技术在这里并不是追求更高、更快、更强,而是说这样计算能力的背后,能够真正有机会将我们所处的世界数字化。
  • 新智能:今年以 Google AlphaGO 为代表的各种人工智能崛起,从科研进入了应用阶段,势必会对我们的业务、生活带来很多影响。而这样的影响正式因为我们能够有更庞大的数据去驱动智能的持续发展。

从2016年年初至今,VR/AR、直播、人工智能兴起,React Native、小程序带来的跨端流行,笔者一直很疑惑移动技术的发展究竟将何去何从,为此请教过很多专业人士。而从 Weex 框架的演进我们可以显然地窥见,智能技术为移动开发带来了更多的可能性。据 Weex 团队成员透露,手淘直播采用的正是 Weex 框架,而对于 VR/AR 业务支撑的实现正在研发中。


而在阿里资深无线技术专家吴志华(天施)的分享中,从最初的 Android、iOS 到 VR/AR 能力的具备,我们可以看到 Weex 整个技术体系基于阿里生态业务的构建,以及如何让业务开发获得最高效率及优秀的工程能力。

在2016年,Weex 主要做了这样四件事:

  1. 真正将 Web 工程体系与 Native 内部打通;
  2. 更多能力增强及扩展;
  3. 永不停歇地进行性能优化;
  4. 借助于大量业务、活动、双11节点,让整个 Weex 研发体系与支撑变得更加完善。

一直以来,性能都是横亘在我们面前的一大问题,Weex 已经能够做到 CPU 在闲时 0%,高峰 10%-30%,笔者此前曾拜读或观看过 Weex 团队在这方面的分享。在下午同时还有业务实践、技术实战两个分论坛,主要包含了 Weex 在双11大促中的实践及底层技术的探索,遗憾同时进行并没有尽听,不过现在官方视频已经放出,感兴趣的朋友可以点击链接观看(技术实战、业务实践)。

相关资源:

  1. 《Weex 在双11会场的大规模应用》,作者:徐凯(鬼道) 阿里高级前端开发专家
  2. 《Weex 移动端动态技术探索和实践》,讲师:杨胜涛 阿里巴巴 Weex 团队 iOS 工程师

了解最新移动开发、VR/AR 干货技术分享,请关注 mobilehub 微信公众号(ID: mobilehub)。

mobilehub

这篇关于从阿里 Weex 一窥移动技术发展之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/809130

相关文章

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技