写点什么

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

评论

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

领福利 | 腾讯千帆HR数字化专场,教你数字时代的技术招聘秘笈

ShowMeBug

投稿有奖丨阿里云服务器AMD实例开发实践征文活动

阿里云弹性计算

AMD 征文活动 玩转ECS

怎么做需求管理,手把手教你做需求管理

阿里云云效

云计算 阿里云 项目管理 需求管理 研发敏捷

百度飞桨螺旋桨赋能生物医药,推动AI技术在药物研发领域的探索应用

百度大脑

任意只读文件漏洞分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

Linux之nc命令

入门小站

在线CSS压缩工具

入门小站

工具

华米科技 x StarRocks:让智能穿戴数据焕发新活力

StarRocks

数据库 数据分析 StarRocks

企业电子文档管理系统哪个好

小炮

文档 企业管理软件

SQLite简介

网易云信

sqlite

什么是敏感信息检测,敏感信息检测,安全视图 | 云效

阿里云云效

云计算 阿里云 云原生 敏感信息检测 代码检测

CODING 公开课火热报名中!

CODING DevOps

项目管理 公开课 瀑布模型

功能解读|快速上手 OceanBase 数据迁移服务

OceanBase 数据库

oceanbase OMS

在线JSON转PHP Array工具

入门小站

工具

浏览器辅助神器:油猴脚本使用教程

源字节1号

前端开发 后端开发 技术分享 网站开发

手把手教你怎么高效落地敏捷开发

阿里云云效

云计算 阿里云 云原生 敏捷开发 敏捷研发

业内高规格!数字峰会七大板块之一,行业盛会诚邀采购商莅临!

科技热闻

瞄准程序员招聘痛点,ShowMeBug让面试代码操作可“回放”

ShowMeBug

TensorLayer框架开源开发者董豪老师解密人工智能开发工具的过去与未来

OpenI启智社区

人工智能 开发工具 TensorLayer

运维自动化发展的4个阶段

穿过生命散发芬芳

3月月更

云原生时代的运维体系进化

阿里巴巴中间件

云计算 阿里云 云原生 中间件

不想业务被中断?快来解锁华为云RDS for MySQL新特性

华为云数据库小助手

GaussDB 华为云数据库 rds for mysql

Kafka Kraft核心实现

Clarke

Flutter 实现更有趣的页面滚动效果

岛上码农

flutter ios 跨平台 3月月更 安卓开发

网络安全kali之利用宏感染word文档获取shell

侠盗安全

网络安全 kali kali Linux

云效代码管理 Codeup 是什么?别说你还不知道

阿里云云效

阿里云 DevOps 云原生 云效 Codeup

求菩萨保佑?IT人员的系统稳定性公式

凌晞

架构 质量管理 技术管理

把效能带到游戏里!仙峰红海蜕变突破之路

阿里云云效

云计算 阿里云 云原生 敏捷开发 研发效能

SOTA效果+一键预测,PaddleNLP带你玩转11类NLP任务

百度大脑

2个未来技术概念:Web3.0 和元宇宙

devpoint

区块链 元宇宙 Web3.0 3月月更

专注云原生落地!星汉未来成为开源 GitOps 产业联盟会员

星汉未来

云原生 智能运维

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