写点什么

与 Ember 共同创作者 Tom Dale 聊 Ember 3.0 及其他

  • 2018-04-07
  • 本文字数:1882 字

    阅读完需:约 6 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Ember 的共同创作者兼 LinkedIn 高级软件工程师 Tom Dale 最近与 InfoQ 谈论了最新发布的 Ember 3.0 版本、Ember 项目的方向、它与现代 Web 标准的一致性以及 Ember 在 Rust 和 Web Assembly 方面进行的最初实验。

Ember 3.0 版本本身没有增加新的功能,而是取消了一些过时的功能。 Tom Dale 说:

我们在 Ember 2.x 中实现了很多很棒的东西。 与许多其他项目相比,我们希望将好的东西带入 2.x 系列,而不是强迫用户升级来获得新的东西。

对于能够在没有重大变更的情况下实现大规模改进,Ember 团队感到非常自豪。 例如, Glimmer 渲染引擎成功地在 Ember 2.10 中实施,而没有破坏 Ember 现有的构建组件的方法。

当被问及即将发布的 3.x 版本将会有什么重大变化时, Dale 说:

Ember 整体上不需要进行重大的根本性改变。 我们有清晰的愿景,Ember、Ember Data 和 Ember CLI 之间必须要有很好的分离。 对于 Ember 3.x,我们将专注于简化,使 Ember 更清晰,并与 JavaScript 社区的最佳实践保持一致。

对于 Ember 用户来说,Glimmer 堪称是视图层方法的重大变革,它与 React 普及的单向数据绑定方法在许多方面类似。 Dale 解释了 Glimmer 的不同之处:

最新的单向数据流方法是“数据向下、动作向上”(简称 DDAU)。我相信您在 Ember 社区中已经听过无数次“DDAU”这个规则了,因为它可以帮助你避免陷入双向绑定,而 Glimmer 组件则将该模式直接应用在 API 中。

多年来,人们对于 Ember 的印象一直是所有功能必须一起使用,但实际上 Glimmer 可以单独使用。 Ember 项目的目的是希望为 Glimmer 提供一个让用户选择或退出其他 Ember 功能的途径。 Dale 解释了导致这种转变的原因:

前端工程已经成为高度状态化的分布式客户端,并且在高复杂度的情况下,一切都会崩溃。 许多新开发人员很热情,但需要帮助才能实现他们的目标。 对于这点,一个很好的比喻是你打保龄球时的球道护栏。 Glimmer 也是一样,它能防止用户在与 DOM 交互时发生错误。

Ember 的元件库将继续扩大。 尽管 Dale 提醒说,Glimmer 组件可以作为 Web 组件导入应用程序中,

但 Web 组件并不能替代 Ember、React 和其他框架的组件系统。 Web 组件主要用于叶子组件,但它们多少有点像黑盒子。跨组件共享资源并不容易,所以这限制了 Web 组件的高效渲染。

Ember 支持使用 Ember 组件作为 Web 组件,这是 Ember 在符合现有标准上的一项更大的尝试。 Ember 团队还参与了 TC39,一项推动 JavaScript 语言发展方向的过程。 譬如,Dale 说

ES6 类和装饰器非常重要,它们永远拥有类似于 Ember 的东西,但是现在它们可以使用约定俗成的东西,所以与标准语言功能相比,人们可以使用该框架,而无需学习框架中的所有内容。

Ember 对待标准的方法类似于其他框架(如 Angular 2+、Dojo 2+、React 和 Vue),目的是尽可能与语言功能保持一致。

除了这些标准之外,Ember 团队也是 TypeScript 的粉丝,因为 TypeScript 给其团队带来了极高的生产力。并非所有人都是 TypeScript 的粉丝,Ember 团队对此表示尊重并且一直致力于确保该项目的 API 对于 JavaScript 工程师来说是合理的。

该团队开发了框架的一部分,包括支持 TypeScript 的 Glimmer,并且最近开始在 Ember Core 中使用。 Dale 解释了他如何克服他最初对 TypeScript 的怀疑:

我们有一个在任何地方都需要的数据结构,我们对它做了很小的改动。 我已做好了准备,预计变更需要两周时间。 然而,使用 TypeScript 及其重构工具,我只是通过跟踪 TS 错误,便让测试套件在两天而不是两周后通过测试!

Ember 还为 TypeScript 用户提供服务,因为在 TypeScript 中发布的 npm 软件包会自动提供 TS 定义,以支持喜欢使用 TypeScript 开发应用程序的 Ember 用户。

采访以 WebAssembly 作为结束。 目前一项有关 Glimmer 虚拟机的工作正在紧锣密鼓地进行之中,该虚拟机是使用 Rust 开发的,并在浏览器中使用了 WebAssembly。 Dale 指出:

Rust 团队在推出 WebAssembly 方面已经付出了很大的努力。 但 WebAssembly 功能仍然相当有限,但 Ember 团队希望确保他们已经为 WebAssembly 做好了准备,或许它将是 Ember 部分框架的未来。

感谢 Tom Dale 花时间与 InfoQ 谈论了关于 Ember 的最新进展。 要了解有关 Ember 的更多信息,请访问 Ember 网站

查看英文原文 Ember 3.0 and Beyond with Co-creator Tom Dale


感谢无明对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-04-07 19:001061
用户头像

发布了 34 篇内容, 共 19.1 次阅读, 收获喜欢 47 次。

关注

评论

发布
暂无评论
发现更多内容

【面试-薪资查询】查薪资大揭秘,一般人不告诉他

测试猿温大大

黑科技 互联网行业薪资

Linux运维技术之Linux云计算架构

学神来啦

Linux 架构 运维 linux云计算

网易数帆Curve加入PolarDB开源数据库社区

阿里云数据库开源

数据库 阿里云 开源数据库 polarDB

JVM自定义类加载器在代码扩展性的实践

Java工程师

JVM 代码 类加载器 实践 #java

重新刷新你对Redis集群的理解

Java工程师

数据库 复制 数据共享 集群 redis'

10年后,掌握 Rust 语言,是不是入行汽车软件的必要条件呢?

非凸科技

被动防御→积极防御,系统稳定性保障思路启发

TakinTalks稳定性社区

Rust的迭代器

Shine

rust 迭代器

2022最新IntellJ IDEA的mall开发部署文档

北极的大企鹅

开源 部署与维护 开发者, MAll

第三空间娱乐体验重构:AITO 问界 M5雕刻的七宝楼台

脑极体

毕业总结

Geek_93ffb0

「架构实战营」

【面试-项目篇】外包点工跳到甲方,薪资涨了30%

测试猿温大大

面试 涨薪 测试工程师 项目经验

2022年中国可穿戴医疗设备发展洞察

易观分析

可穿戴医疗设备

Apache DolphinScheduler&ShenYu(Incubating)联合 Meetup,暖春 3 月与你相约!

大数据 开源 工作流调度 Apache DolphinScheduler

Docker 配置国内加速镜像

信号量

Docker Linxu

Hoo虎符研究院 ∣ 投资前沿——STARKNET 生态一览 (2022.3.18)

区块链前沿News

虎符研究院

北京大学董豪老师解密人工智能开发工具的过去与未来

OpenI启智社区

人工智能 开发工具 启智社区 北京大学

【面试-如何谈薪资】万字总结 HR高频55问,让你涨薪30%

测试猿温大大

面试 薪资 HR

低版本skywalking与LinkAgent不兼容怎么办?记一次详细的解决过程

TakinTalks稳定性社区

国际自主智能机器人大赛强势来袭,NAACL同声传译任务等你来战

百度大脑

Flash退出历史舞台后,Web端3D会迎来怎样的发展?

Orillusion

WebGL 3D渲染 3D模型 Flash webgpu

程序员的工作就只有写代码么?

程序员鱼皮

经验

SpringBoot接入轻量级分布式日志框架(GrayLog)

Java工程师

程序员 分布式 Web spring-boot

微博评论高性能高可用计算架构设计

Geek_36cc7c

Redis Pipeline原来是这么用的

Java工程师

数据库 程序员 代码 pipeline redis'

网易会议开源之桌面端篇

网易云信

开源

达观数据CTO 纪达麒:基于阿里云计算底座,打造智能办公机器人

阿里云弹性计算

机器人 神龙架构 智能办公

如何用建木CI实现前端代码自动格式化

Jianmu

前端 代码管理 格式化 prettier 建木CI

好评不断的文化纪录片《中国》,背后的“剪刀手”竟是它?

百度大脑

Apache DolphinScheduler&ShenYu(Incubating)联合 Meetup,暖春 3 月与你相约!

Apache DolphinScheduler

大数据 开源 工作流调度 Apache DolphinScheduler

失败案例之安全抓包测试

网络安全学海

网络安全 信息安全 渗透测试 安全漏洞 网络抓包

与Ember共同创作者Tom Dale聊Ember 3.0及其他_JavaScript_Dylan Schiemann_InfoQ精选文章