写点什么

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

评论

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

2024年互联网大厂最新版Java面试题及答案整理(持续更新)

架构师之道

java面试

鸿蒙 next 实现应用内字体大小切换

flfljh

鸿蒙Next元素定位

flfljh

淘宝/天猫商品详情API返回值全面解析

代码忍者

API 接口 pinduoduo API

ohos开发flutter_module

flfljh

互联网大厂 1000 多道 Java 面试题及答案整理 (牛客网2024 最新版)

采菊东篱下

java面试

Python爬虫神器requests库的使用

左诗右码

Ubuntu 22报错:PAM unable to dlopen(pam_tally2.so)

百度搜索:蓝易云

如何安装 OpenHarmony ohpm 包

flfljh

鸿蒙开发案例:七巧板

zhongcx

MySQL修改时间添加时间自动更新

百度搜索:蓝易云

提升软件项目效率的资源分配方法

爱吃小舅的鱼

程序员‘ 软件项目 软件项目管理

Kubernetes Device Plugin开发简介

王玉川

云原生 k8s Device Plugin

如何写http mjpeg server

百度搜索:蓝易云

Java常用类之JDK8之前的日期时间API和8中新日期时间API

百度搜索:蓝易云

Linux或者Docker容器通过date设置系统时间

百度搜索:蓝易云

鸿蒙next页面滚动与回到顶部设置

flfljh

Flutter OHOS外接纹理适配简介-视频播放

flfljh

宝尊将于2024年11月21日发布2024年三季度未经审计财务业绩

财见

UIAbility组件生命周期

龙儿筝

评论系统设计思路

江南一点雨

harmony_flutter_amp 导入高德地图

flfljh

Flutter OHOS外接纹理适配简介-图片显示

flfljh

鸿蒙开发案例:水平仪

zhongcx

微软的新模拟器将为 Windows on Arm 带来更多游戏

吴脑的键客

windows

无惧任天堂的法律威胁:Switch模拟器Ryujinx v1.2.72版发布

吴脑的键客

游戏 模拟器

深入了解项目范围管理:防止软件项目失控

爱吃小舅的鱼

项目范围管理

如何确保软件项目的高质量交付

爱吃小舅的鱼

软件项目质量

寻找私有部署的项目管理工具?9款推荐

爱吃小舅的鱼

项目管理工具

FreeBSD将操作系统支持时间从5年缩短为4年 继续与AMD合作

吴脑的键客

Linux unix freebsd

企业文档管理方案:5款工具助力提升效率

爱吃小舅的鱼

程序员、 文档管理 文档管理软件

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