写点什么

姗姗来迟的 Ember.js 1.6 版本

  • 2014-07-24
  • 本文字数:1282 字

    阅读完需:约 4 分钟

Ember.js 团队于近日发布了其 JavaScript 框架的 1.6 版本,由于增加了 AMD 加载器而导致了此次的发布延误。

官方声明中,Ember 核心团队成员Robert Jackson 描述了Ember.js 1.6 版本以后的构建如何通过 es6-module-transpiler 转换为 AMD 模块。据 Jackson 说,增加了小型 AMD 加载器来加载转换后的模块,影响了原来移动客户端的启动速度。他说:

在 1.6.0 将要发布时(5 月底)该影响引起了我们的注意,我们决定推迟发布,一直到我们修复该问题。

现在回想起来这个决定非常不明智。此修复花费了比预想更长的时间,同时人们也只能继续使用 1.5.1 版本。我们很多用户,要么没有受到影响,要么并不在意此问题,但他们为了获得本该包括在 1.6 版本中的其他修复,被迫使用 beta/canary(金丝雀)通道上的版本。

用户 Xtian 在评论声明时说:“我不大明白声明的开始几段:启动性能问题已经解决了呢?还是依然存在?”

Jackson回复内容为“还没有修复,但我们会尽快修复,并把它反向移植到1.7 beta 分支中”。

又一Ember.js 团队核心成员Stefan Penner详细描述了该问题

该修复会成为 Brian Donovan 所主导项目 square/es6-module-transpiler 下的新 bundle 格式。该修复删除了整个 AMD 加载器,同时产生更小的整体构建。这样该 bug 中的阻塞问题也会得到改善,并且删除了 ember-core 中的不当循环。

此外,启动问题貌似不会影响桌面浏览器,但是在 Android 浏览器中会消耗大量时间。

虽然此次发布有所延迟,但是 Ember 社区并没有在意,因为 1.6 版本带来的新功能以及 1.7 版本承诺的功能着实令人振奋。

在最新发布的功能中,最显著的变化有更新了 Ember.computed.empty,改善了缓存查找吞吐量,对测试友好的承诺,以及大量的 bug 修复。Jackson 特别指出,更新后的 Ember.computed.empty 会自动识别数组,不需要用户显式指定 array.[] 作为依赖键。

为了描述 Ember 的对测试友好的承诺特性,Jackson 说道:

使用 1.5.1 版本,测试时你必须在 Ember.run 循环中封装任何承诺解析,和 / 或拒绝调用,但是正常操作时相同的代码却不需要封装在循环中。在 1.6 中,在做承诺测试时,你再不需要将承诺封装在循环中。

在 1.6 版本的发布声明中,还包含了 1.7 版本的 beta 版本,该版本包含了对查询参数的支持,并且在 1.7 中默认开启。社区用户非常欢迎此功能,NetNames 的软件工程师 Adrian Meredith评论说

我将应用更新并使用了最新的查询参数,能够正常运行!(需要进行必要的更新)。看起来比我使用一个月前的 canary 通道上的版本要好得多。好样的!

Ember 1.7 的其他改进包括:

  • ember-routing-consistent-resources 功能。
  • uuid 可以跨项目使用。
  • Ember.uuid 作为内部函数使用,代替以前作为 Ember 的属性的做法。

Ember.js 基于 MIT 协议发布。InfoQ 读者可以通过 GitHub 项目向 Ember.js 贡献自己的力量。1.7 版本有望如期发布。

查看英文原文: Delayed Ember.js 1.6 released


感谢曹知渊对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-24 21:542742
用户头像

发布了 28 篇内容, 共 12.3 次阅读, 收获喜欢 0 次。

关注

评论

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

小场景解决大问题|明道云在京东方的落地实践

明道云

WorkPlus移动办公平台,助力企业随时随地“指尖办公”

BeeWorks

一次偶然机会发现的MySQL“负优化”

骑牛上青山

MySQL 数据库 索引

CuPL 利用大规模的语言模型,更高效地生成提示

Zilliz

OpenHarmony如何切换横竖屏?

OpenHarmony开发者

OpenHarmony

特定领域知识图谱(DKG)融合方案:技术知识前置【一】-文本匹配算法、知识融合学术界方案、知识融合业界落地方案、算法测评KG生产质量保障

汀丶人工智能

自然语言处理 知识图谱 实体对齐

如何利用极狐GitLab 轻松管理NPM依赖发布与更新?

极狐GitLab

node.js DevOps npm 依赖 极狐GitLab

致 Tapdata 开源贡献者:聊聊 2022 年的进展和新一年的共建计划

tapdata

Databend v0.9.0 版本发布

Databend

适配 Laravel 多版本的开源项目版本号规划

ModStart

企业内部沟通,即时通讯软件要怎么选?

BeeWorks

北邮一号卫星搭载 IoTDB 成功发射!高效轻量数据管理,助力航天观测分析

Apache IoTDB

数据库 时序数据库 国产数据库

IoTDB 可实现的基本操作 : 数据导入、基本查询、聚合查询 | 小白教程文档(三)

Apache IoTDB

国产时序数据库

服务网格领域的百花齐放,是否存在一个更优解?

API7.ai 技术团队

Service Mesh 服务网格 APISIX

一个 go-sql-driver 的离奇 bug

SOFAStack

【提升团队运营效率】交易履约之订单中心实践

京东科技开发者

平台搭建 平台赋能 数智创新 效能提升 企业号 1 月 PK 榜

Cloud Kernel SIG月度动态:建立社区第三方驱动研发流程、发布ANCK 4.19-027版本 | 龙蜥 SIG

OpenAnolis小助手

内核 龙蜥社区 sig 版本发布 anck

玖章算术CEO叶正盛:程序员必须掌握的数据库原理

NineData

数据库 程序员 开发 dba 数据库技术

安卓影像飞升时刻:vivo X90 Pro+打通HDR任督二脉

脑极体

Vivo 蔡司影像

Kyligence 成功签约阿斯利康,助力提升商业洞察质量和决策效率

Kyligence

数据分析 指标中台

IoTDB 可实现的基本操作 —— 数据写入、删除、导出、元数据管理、时区设置 | 小白教程文档(四)

Apache IoTDB

时序数据库 国产数据库

TDengine 时序数据特色查询语法详解,助力时序场景下的应用开发

TDengine

数据库 tdengine 时序数据库

阿里云云边一体容器架构创新论文被云计算顶会 ACM SoCC 录用

阿里巴巴云原生

阿里云 容器 云原生

maven pom 中有用的两个配置

JefferLiu

MySQL性能优化浅析及线上案例

京东科技开发者

MySQL 性能优化 索引性能 数据库· 企业号 1 月 PK 榜

技术型创业公司如何把握发展与管理的节奏感?

石云升

极客时间 1月月更 技术领导力实战笔记

理想问鼎销冠,数据库能帮助新能源车企赢得下半场么?

YMatrix 超融合数据库

案例分享 新能源汽车 造车新势力 超融合数据库 YMatrix

Sealer 0.9 :帮助集群和分布式应用实现 Build、 Share、Run

阿里巴巴云原生

阿里云 开源 云原生 sealer

被面试官问住了,MySQL两阶段提交是什么鬼?

程序员拾山

MySQL 面试

利用 IoTDB 替换 Druid.io 服务太极股份电厂、军工制造类项目,采集精度达纳秒级

Apache IoTDB

时序数据库 国产数据库

姗姗来迟的Ember.js 1.6版本_JavaScript_James Chesters_InfoQ精选文章