揭秘 Hummer:Tenon 是什么?
桔妹导读:Hummer 是一套高性能高可用超轻量的跨端开发框架,一套代码可以同时开发 Android 和 iOS 应用。而 Tenon 是基于 Hummer 的一套面向前端的 MVVM 增强框架,目前已支持 Vue 和 React 两个前端框架。本文将为大家详细介绍下 Tenon 整个框架的设计思路和它独有的技术优势。
Hummer 是滴滴城运服泛前端团队打造的一款超轻量级动态化跨端开发框架。其最初只支持 JavaScript/TypeScript 的写法,整体 API 设计更偏向传统的 Native 编程方式,开发人员可以通过 JavaScript/TypeScript 快速开发出跨终端页面。但是随着“泛前端”思想的普及,越来越多的前端同学开始拥抱 Hummer,此时,把前端大生态接入到 Hummer 生态中,就变得尤为重要,使 Hummer 拥有前端 MVVM 框架的能力,从而显著提升 Hummer 整体的研发效率。
于是 Tenon 出现了,Tenon 通过定制 Vue3.0 的 Render 层,进行 Web 生态的桥接,在语法设计上更加接近前端同学的常规写法,同时通过参考现有优秀框架的设计思想,实现了一套更加符合前端同学开发习惯的 API,能够有效地整合团队内部前端和终端的整体开发资源,真正提升整个泛前端团队的研发效率。
1.
简介
整体优势如下:
多框架:同时支持 Vue3.0 框架和 React 框架,后续还会支持其他框架;
易上手:整体 API 设计,更贴近前端同学的开发习惯,更注重前端的开发体验,降低前端同学的上手门槛;
易拓展:强大的插件拓展机制,可以快速对接 Native 组件,给予 Web 生态更多的可能性;
高可用:已在滴滴内部多个业务中得到线上验证,整体线上 Crash 率低于 0.01%;
多页面数据管理,实现跨容器状态管理;
强大的打包机制,支持文件条件编译和区块条件编译,满足你的定制化开发需求;
优秀的性能表现,和全面的样式支持,具体数据可以参考《揭秘 Hummer —— 为何选择 Hummer ?》;
Tenon Vue 通过定制 Vue3.0 的语法,实现了 Vue 3.0 For Hummer 的 Render 层,整体的 API 设计,会更符合 Vue 技术栈同学的开发习惯。
Tenon React 通过对接 React Reconciler,实现了 React For Hummer,整体的 API 设计,会更符合 React 技术栈同学的开发习惯。
下面我们通过一个 Hello Tenon 的示例,来看看 Tenon Vue 与 Vue、Tenon React 与 React 之间的相似程度,和一些细微差别。
关于 Tenon 的内置组件,我们选用了一套基于 H5 子集的标签,例如<view> 、<text> 、<image>等,目的是为了兼容 Native 的差异化,具体可以参考:Tenon 文档 - 组件篇(https://hummer.didi.cn/doc-tenon#/zh-CN/component_view)。
关于如何把现有 Web 项目快速迁移改造成 Tenon 项目,我们相关的工具体系正在建设中,未来会提供一整套迁移方案。
4.
其中 Tenon React 我们目前还在持续建设中,已经完成了一期版本并开放给了社区,欢迎大家多试用,多提 issue 和 PR,一起来共建。
5.
6.
常见问题
Q1: Tenon 与 Hummer 的区别是什么?Tenon 和 Hummer 的应用场景分别是什么?
Q2: Tenon 与 Chameleon 等跨平台方案的区别是什么?
7.
8.
Hummer 官网:https://hummer.didi.cn
GitHub:https://github.com/didi/Hummer
OrangeLab 邮箱:[email protected]
▍延伸阅读
《揭秘 Hummer —— Hummer LOGO 设计的光与影》
主要负责 Tenon 框架的整体设计和研发工作,对 MVVM 架构和工程化有着非常深入的理解。主要负责 Tenon 框架的整体设计和研发工作,对 MVVM 架构和工程化有着非常深入的理解。