50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

评论

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

如何评估一个软件的项目费用?

石云升

项目管理 管理 引航计划 内容合集 10月月更

手把手带你做好团队管理|引航计划|管理

石云升

团队管理 管理 引航计划 技术专题合集

电商秒杀系统

feitian

浅谈人工智能的历史

Nydia

数据库:B/B+树

正向成长

B+树 B树

决策树——从原理走向实战

cv君

AI 引航计划

安全逆向分析实战

网络安全学海

Linux 网络安全 信息安全 WEB安全 漏洞分析

uni-app 在mac电脑连接安卓手机进行真机调试

达摩

uni-app app调试

模块九作业

VE

架构实战营

手把手带你做好项目管理|引航计划|管理

石云升

项目管理 管理 引航计划 技术专题合集

中国法定数字货币(DCEP)全面启航!全国普及势在必行

CECBC

AI驱动!7款开发者必备生产力工具

Jackpop

如虎添翼!6款备受欢迎的Edge浏览器插件

Jackpop

引航计划|AI|优质合集手把手带你玩转AI

Nydia

AI 引航计划

后端的另一种打开方式-路由还能这么玩~

Bob

微服务 后端 网络 服务 引航计划

在线HTTP请求/响应头转JSON工具

入门小站

工具

自我提升:高效能人士的7个习惯学习笔记

程序员架构进阶

自我管理 自我提升 10月月更

原创万字总结人工智能技术栈与学习路线 下集 进阶篇

cv君

AI 引航计划

推荐2个网站,牛x就完事了!

Jackpop

7. 简单生成器函数,Pool 实现多进程程序,异常管理,浏览器版本帮助手册

梦想橡皮擦

10月月更

从头开始(概率)学HMM:精讲第一课-隐马尔可夫模型定义

herosunly

AI 引航计划 内容合集

原创万字总结人工智能技术栈与学习路线 上集 基础篇

cv君

AI 引航计划

从头开始(概率)学HMM:精讲第二课-学习问题(BW算法)

herosunly

AI 引航计划 内容合集

(mode4)千万级学生管理系统考试试卷存储方案

消失的子弹

架构 云原生

JavaScript 脚本优化的 10 个技巧

devpoint

JavaScript 性能优化 10月月更

架构实战营 模块九 作业

脉醉

架构实战营

linux之history使用技巧

入门小站

Linux

为什么赛博朋克里总少不了日本元素?

脑极体

Vue3 + TypeScript 开发实践总结

程序员海军

大前端 Vue3 引航计划

设计电商秒杀系统

gawaine

架构训练营

924清退在即,你的币转入数字货币钱包了吗?

CECBC

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