写点什么

Dart 2 为移动开发做出改进

  • 2018-03-06
  • 本文字数:1043 字

    阅读完需:约 3 分钟

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

最新版本的Google Dart 编程语言支持更强大的类型系统、更简明的语法,还提供了一个改进版的工具链,它被Google 宣传为最佳的移动端应用程序和Web 应用程序的开发方式,Google 宣称Dart 能够提高2-3 倍的生产力。

Dart 强制使用强类型模式,这能确保在开发过程的早期就能捕获错误。但是,仍然可以选用类型注释,其类型在未声明时就会被推断出来。你可以通过启用 Dart 1.x 版本代码的强模式(strong mode)来预览 Dart 1.x 代码在 Dart 2 中的可用情况。

Dart 2 语言还有一个相对比较小的改动,但是这个改动对 Dart 语法的可读性产生了巨大影响,在调用构造函数时可以省略 new 和 const 关键字。这就使得使用更加具有声明性的语法成为可能。比如,你现在可以这样写:

复制代码
Widget build(BuildContext context) =>
Container(
height: 56.0,
padding: EdgeInsets.symmetric(horizontal: 8.0),
decoration: BoxDecoration(color: Colors.blue[500]),
child: Row(
...
),
);

而不用像 Dart 1.x 所兼容的代码那样:

复制代码
Widget build(BuildContext context) {
return new Container(
height: 56.0,
padding: const EdgeInsets.symmetric(horizontal: 8.0),
decoration: new BoxDecoration(color: Colors.blue[500]),
child: new Row(
...
),
);
}

Dart 通过 Google 的 Flutter 框架来支持移动应用程序开发,该框架旨在为 Android 和 iOS 创建原生 UI。Flutter 能够原生编译至 ARM 和 x86 处理器平台。当与 Flutter 引擎相结合之后,Fultter 能够提供一个高效的垃圾收集器,这就使得创建能够运行的原生移动端应用程序成为可能。

Dart 的定位转换至面向客户端开发这一说法,经过了 Google 的 Dart 产品经理 Anders Thorhauge Sandholm 的确认:

我们在开发 Dart 语言和相关类库时,所关注的重点是最大化客户端开发的价值和实用性。

但是这并不意味着,Dart 抛弃了命令行的使用和针对服务器端的代码。Dart 对客户端开发的关注可以被视为 Google 试图在Google 产品以外的行业增加对Dart 使用的新尝试,Google 目前还是Dart 的最大使用者。据Sandholm 所说,Dart 的性能和可预测性,以及其良好的系统,使得Google AdWords 工程师们的效率比以前提升了2-3 倍。此外,Sandholm 说,Google 团队在移动端和Web 端的AdWords Express 和AppTree 上使用的Dart 代码已经占到了50%-70%。

查看英文原文: Dart 2 Revamped for Mobile Development

2018-03-06 18:002537

评论

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

尝鲜Windows 11一个月,被这3项巨变圈粉了....

Jackpop

财经大课:运用现代经济学分析中国经济的关键常识

石云升

学习笔记 财经思维 11月日更

数字化转型浪潮滚滚 区块链造就可信“数字经济底座”

CECBC

算法的本质是什么?程序员如何学好算法?

Sakura

Java 架构 面试 算法

《重学Java高并发》手写生产者消费者模型

中间件兴趣圈

高并发 java; 11月日更

软件工程师的专业素养解读

卢卡多多

11月日更

linux之我常用的20条命令(之二)

入门小站

Linux

架构实战营 - 模块七作业

en

#架构实战营

在线文本纵向排版工具

入门小站

工具

架构训练营毕业总结

老实人Honey

2021全屋智能为何依然进展缓慢?

脑极体

重新认识 nginx 反向代理

liuzhen007

11月日更

让华为举步维艰,Android曾距离成为国产系统仅一步之遥!

Jackpop

架构实战营毕业总结

xyu

架构实战营

用得上的 JavaScript 代码片段和技巧

devpoint

JavaScript LocalStorage reduce 11月日更

Android端信号处理总结

轻口味

android 音视频 11月日更

如何免费下载学术文献?

Jackpop

架构实战训练营 - 毕业结语

NewBranSTONE

「架构实战营」

第三期3天AI进阶实战营-Day1任务卡

IT蜗壳-Tango

11月日更

【设计模式】第九篇 - 适配器模式 - 你多大鞋,我多大脚

Brave

设计模式 适配器模式 11月日更

制度密码经济学:了解区块链的经济影响

CECBC

双十一来袭,阿里技术官终于把高并发系统设计整理成册了(全彩版开源)

Sakura

Java 架构 面试 后端 高并发

防抖&节流

达摩

js 防抖 节流

毕业总结

Geek_ywh40v

MatrixDB 4.3 发布:持续聚集等6大特性解读!

YMatrix 超融合数据库

数据库 时序数据库 分布式时序数据库

算法入门-插入排序

ES_her0

11月日更

老板再也不用担心我不会K8s了,哪里不会点哪里,15个开放学习K8s的网址

奔着腾讯去

运维 云原生 Docker Desktop k8s资源 Go 语言

10种黑客类型,你知道几种?

喀拉峻

黑客思维 黑客 网络安全 信息安全

架构实战营毕业总结

宁静志远

[ 工程师书单推荐] - 年轻人,你渴望力量吗?

baiyutang

11月日更

系统架构面临的三大挑战,看 Kubernetes 监控如何解决?

阿里巴巴云原生

阿里云 Kubernetes 云原生 系统架构

Dart 2为移动开发做出改进_开源_Sergio De Simone_InfoQ精选文章