写点什么

Dart 1.8:采访 Google 工程师 Seth Ladd

  • 2014-12-26
  • 本文字数:1364 字

    阅读完需:约 4 分钟

Google 近期发布了其开源Web 编程语言 Dart 的 1.8 版本。该版本带来了对枚举的实验性支持,Google 的 Dart 开发倡导者 Seth Ladd 介绍说,枚举是请求最多的特性之一。为了解该特性相关的更多信息,以及 Dart 项目的最新信息,InfoQ 采访了 Ladd。

InfoQ: Seth,你提到枚举是 Dart 中请求最多的特性之一,为什么说枚举这么好呢,缺乏枚举会有什么不便吗?为什么有人这么关心这个特性?

Ladd:枚举可以帮助开发者用最少的代码清晰地表达其意图,还可以帮助工具捕获潜在的 bug。开发者可以方便地使用枚举来命名一组相关的术语或值。

对于喜欢看代码的开发者,我们先看一个例子。在引入枚举之前,开发者必须像下面这样指定来自业务中的状态(OPEN、INPROGRESS 和 CLOSED):

复制代码
// 在引入枚举之前
class FormState {
static const FormState OPEN = const FormState._(0);
static const FormState INPROGRESS = const FormState._(1);
static const FormState CLOSED = const FormState._(2);
final int value;
const FormState._(this.value);
static const List<formstate> values = const [OPEN, INPROGRESS, CLOSED];
}</formstate>

而有了枚举的适当支持,代码简洁了很多:

复制代码
enum FormState { OPEN, INPROGRESS, CLOSED }

新的语法可以帮助开发者识别潜在的 bug。枚举经常用在 switch 语句中。为确保开发者处理了枚举中所有可能的状态,Dart 工具可以在缺失显式的 case 语句时给出警告。

InfoQ:枚举支持目前的描述还是“实验性特性”。那如何确定实验是否取得成功呢?

Ladd:之所以将枚举标记位“实验性特性”,这是因为,一方面语言规范已经完成,还在等待 ECMA TC52 的批准;另一方面,我们还希望我们所有的工具都能正确处理枚举。我们希望开发者现在就开始使用枚举,并报告发现的实现中存在的问题。我们期待尽快去掉“实验性”的标签。

InfoQ:在你看来,社区对枚举的实验性支持反应如何?

Ladd:Dart 1.8 还非常新,反馈还在收集。然而,枚举是社区要求最多的特性之一,所以我们非常激动地想看到开发者使用它。有些开发者还要求支持将整数值赋给枚举值,未来的 ECMA TC52 会议会讨论这个特性请求。

InfoQ:除了枚举,Dart 1.8 还有其他一些变化。你可以给读者详细介绍下吗?

Ladd:在 Dart 1.8 中,添加了新的 JsonUtf8Encoder,以帮助开发者编写性能更好的服务器。我们注意到,将 JSON 解码为 UTF8 这种操作很常见,所以我们希望提供一个优化的解决方案。

API 也有一些小变化,主要是为提高开发效率。

InfoQ:InfoQ 的读者对 Dart 1.9 可以有哪些期待呢?对于 2.0 版本,有哪些特性我们可以先睹为快吗?

Ladd:我们正在努力实现 async / await,这个特性可以帮助开发者编写异步代码,而且是看上去更像同步代码的异步代码。这意味着减小了进入“回掉黑洞”的机会。

关于 Dart 2.0,目前还没有什么可以分享的。按照我们的期望,1.9 版本之后会是 Dart 1.10。

InfoQ:你还有什么想要跟大家分享的吗?

Ladd:希望开发者参加我们的第一届 Dart Summit ,将于 2015 年 4 月在旧金山举行。大会是学习 Dart 方方面面知识的好机会,可以直接跟我们的工程师和 Dart 社区交流。大会现在也在开放征集演讲提议

Dart 团队也欢迎大家向该项目做出贡献。InfoQ 的读者可以通过报告 bug、回答 StackOverflow 上的问题以及提交代码来做贡献。更多信息,可以参见该页面

2014-12-26 04:251974
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 146.6 次阅读, 收获喜欢 35 次。

关注

评论

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

解析金仓数据透明加密性能损耗

金仓技术

KingbaseES 金仓数据库

手把手教你安装部署金仓数据库 KingbaseES

金仓技术

数据库· KingbaseES 金仓数据库

使用Chat2DB连接金仓数据库KingbaseES

金仓技术

KingbaseES 金仓数据库

ESXi 8.0U3e 重大更新发布,修复 150 多个已知问题

sysin

esxi

一图看懂金仓快速开发与运维平台KES Plus

金仓技术

KingbaseES 金仓数据库

KingbaseES+SqlSugar为医疗用户排忧解难

金仓技术

KingbaseES 金仓数据库

使用Nagios监控金仓数据库KingbaseES

金仓技术

KingbaseES 金仓数据库

一张图读懂金仓数据库KFS

金仓技术

KingbaseES 金仓数据库

MCP 正当时:FunctionAI MCP 开发平台来了!

阿里巴巴云原生

阿里云 云原生 MCP

Zookeeper 可观测性最佳实践

观测云

VMware vCenter Server 8.0U3e 新增功能简介

sysin

vcenter

iVX:引领图形化编程与 AI 融合的开发革命

代码制造者

无代码开发

如何通过KStudio连接金仓数据库KingbaseES

金仓技术

KingbaseES 金仓数据库

【工业数据技术研讨会】4.26 广州 | 国产开源数据库技术交流,错过再等一年!

Apache IoTDB

有没有适合企业用的局域网即时通讯聊天工具?

BeeWorks

聊聊软件生命周期中的度量指标(附《软件研发效能度量规范》下载)

思码逸研发效能

研发管理 研发效能 效能管理 思码逸 研发指标

备份空间不够用?金仓数据库破局!

金仓技术

KingbaseES 金仓数据库

问界M8正式发布:车载小艺一路聊,随时随地问问小艺

新消费日报

一图读懂金仓集中运维管控一体化平台KOPS

金仓技术

KingbaseES 金仓数据库

金仓数据库KingbaseES在线打补丁,运维更轻松

金仓技术

KingbaseES 金仓数据库

数据库膨胀?性能下降?别怕,金仓数据库KES魔法咒语来拯救!

金仓技术

KingbaseES 金仓数据库

BeeWorks Meet:私有化部署的视频会议利器,安全高效助力企业协作

BeeWorks

金仓数据库KingbaseES安装指南(Linux环境)

金仓技术

数据库· KingbaseES 金仓数据库

一图读懂金仓企业级分布式数据库KES Sharding

金仓技术

KingbaseES 金仓数据库

使用PawSQL连接金仓数据库

金仓技术

KingbaseES 金仓数据库

WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑

sysin

WPS Office

金仓数据库KingbaseES集群部署从未如此轻松!

金仓技术

KingbaseES 金仓数据库

重生之我在金仓开发数据库:KES性能飞跃的秘密

金仓技术

KingbaseES 金仓数据库

为什么企业要用私有化部署的Im即时通讯软件?

BeeWorks

内网局域网部署的聊天软件BeeWorks优势分析

BeeWorks

如何使用Ksql 连接金仓数据库KingbaseES

金仓技术

KingbaseES 金仓数据库

Dart 1.8:采访Google工程师Seth Ladd_JavaScript_James Chesters_InfoQ精选文章