写点什么

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:002715

评论

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

LeetCode题解:9. 回文数,翻转一半数字,JavaScript,详细注释

Lee Chen

SDK实战指南:从配置到管理,一步步创建阿里云ECS实例

极客天地

上海站丨飞天技术沙龙 Serverless + AI 专场开启报名!

阿里巴巴云原生

阿里云 Serverless 云原生

探索Solana链上DApp开发:高性能区块链生态的新机遇

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发

为你的程序精选的7个最佳天气API

幂简集成

API 天气api

自动生成流程图的软件!这3款值得推荐!

彭宏豪95

人工智能 流程图 在线白板 AIGC 效率软件

荒野之境:XMAGE的抵达与眺望

脑极体

影像

8家券商综合评级上升,4月券商App终端业务体验评测报告发布

博睿数据

面了一个程序员,因为6休1拒绝了我

伤感汤姆布利柏

基于 Prometheus 的超算弹性计算场景下主机监控最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

数据互通新纪元,企业如何实现系统无缝对接?

聚道云软件连接器

案例分享

邀您参会丨飞天技术沙龙 AI 原生应用架构专场·北京站

阿里巴巴云原生

阿里云 AI 云原生

高效简单办赛的秘诀:自定义判题器

云计算 华为云 大赛 赛事

微服务下认证授权框架的探讨

不在线第一只蜗牛

架构 微服务 框架

卓越开发管理之道

凌晞

团队管理 项目管理 技术管理 开发管理

预约直播丨ETLCloud训练营:ETL中多流数据合并与运算专题

RestCloud

直播 ETL

LeetCode题解:112. 路径总和,BFS,JavaScript,详细注释

Lee Chen

开源无代码 / 低代码平台 NocoBase 1.0.0-alpha.15: 新增插件、改进「配置操作」交互

NocoBase

GitHub 开源 低代码 无代码开发 开源开发工具

加速短剧出海,阿里云视频云获优秀出海产品技术服务金帆奖

阿里云CloudImagine

云计算 视频云 出海 微短剧 短剧

高效查询秘诀,解码YashanDB优化器分组查询优化手段

YashanDB

数据库 优化器 分组查询 yashandb 崖山数据库

常态化运营,让数据安全工作落地生根!

极盾科技

数据安全

客户案例|博睿数据助力中泰证券App用户体验全面升级

博睿数据

哈银消费金融七载风雨兼程,创新引领稳健前行

极客天地

LeetCode题解:112. 路径总和,递归,JavaScript,详细注释

Lee Chen

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