【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

与 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:00966
用户头像

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

关注

评论

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

和鲸携手上海交大医学院张维拓老师,混合式教学聚焦R语言医学数据分析,从图表开始复现顶刊论文

ModelWhale

人工智能 数据分析 R语言 代码复现 医学

构建企业级AI中台,实现业务场景价值闭环

ModelWhale

AI 数字化转型 中台架构 AI中台

大数据开发与低代码:加速数据处理与解决方案开发

EquatorCoco

数据库 低代码 大数据开发

2024 AIGC 应用层十大趋势;iPhone 遭史上最复杂攻击!丨 RTE 开发者日报 Vol.119

声网

全新升级!腾讯云大数据ES Serverless服务开启日志分析新体验

腾讯云大数据

ES

云桌面有什么技术特点?应用场景是什么?

青椒云云电脑

桌面云 云桌面 云桌面解决方案

图形工作站有必要么?图形工作站电脑特点

青椒云云电脑

图形工作站 移动图形工作站

自动化接口测试工具 AREX 0.6.2 版本发布

AREX 中文社区

开源 自动化测试 接口测试

DAPP代币燃烧质押项目系统开发丨详情开发

l8l259l3365

移动图形工作站分类、结构和功能

青椒云云电脑

图形工作站

低代码:实现数据可视化的强大助手

不在线第一只蜗牛

数据库 低代码 数据可视化

优化独立站网页布局,提升30%用户留存

九凌网络

Vue3构建的低代码可视化平台

高端章鱼哥

Vue 低代码 前端框架 JNPF

和鲸解放军总医院连续生理数据分析引擎入选爱分析数据智能最佳实践案例

ModelWhale

人工智能 大数据 数字化转型 企业管理 数智化

软件测试开发/全日制丨自动化测试定位策略 学习笔记

测试人

软件测试 测试开发

数云引领,神州数码荣获CSA2023安全创新奖

科技热闻

玩转低代码可视化平台,软件开发如此简单!

互联网工科生

软件开发 低代码 可视化开发 JNPF

喜讯丨上海和今信息科技有限公司入选2023年上海市专精特新中小企业名单

ModelWhale

人工智能 科技 专精特新企业

SEO内容页面性能优化全攻略

九凌网络

普及旗舰音质,一加 Buds 3正式发布 售价499元

编程猫

低代码平台受到欢迎的原因有哪些?

这我可不懂

低代码 数字化 应用程序 JNPF

一文解释Linux的内存分页管理

伤感汤姆布利柏

爬虫工具(tkinter+scrapy+pyinstaller)

快乐非自愿限量之名

工具 爬虫 爬虫工具

OmniPlan Pro 4 for Mac(项目流程管理工具) v4.6完美激活版

mac

项目管理软件 苹果mac Windows软件 OmniPlan Pro

软件开发隐藏报价和虚假信息,合约如何来提高安全性

软件开发-梦幻运营部

lazada商品列表数据接口(lazada.item_search)丨lazada API接口

tbapi

lazada商品详情数据接口 lazada商品数据接口 lazada API接口 lazada商品列表数据接口

Databend 的算力可扩展性

Databend

lazada商品详情数据接口(lazada.item_get)丨lazada API接口

tbapi

lazada商品详情数据接口 lazada商品数据接口 lazada商品API接口 lazada API接口

官宣|硬核阵容曝光!PolarDB开发者大会全议程公布

阿里云瑶池数据库

数据库 阿里云 云原生 开发者大会

Lazada商品详情API(lazada.item_get)获取商品的评论和评分信息

技术冰糖葫芦

API

2023 年最先进认证方式上线,Authing 推出 Passkey 无密码认证

Authing

身份认证 Authing 无密码认证 Passkey

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