【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

评论

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

关于 ASP.NET Core 中的选项模式

雄鹿 @

ASP.NET Core

提升JavaScript代码质量的最佳实践

南城FE

JavaScript 前端 代码质量

喜讯!云起无垠入围2023年度中国高科技高成长企业系列榜单

云起无垠

青否数字人已经实现直播17小时不封号!

青否数字人

数字人

业内首个!央广网APP率先完成鸿蒙原生应用全量版本开发,领跑鸿蒙化进程

最新动态

Jetson Xavier nx 全盘加密

一五

AI 边缘计算 jetson 全盘加密 jetson xavier nx

华为云GeminiDB发布新版本,全面支持Redis 6.2

平平无奇爱好科技

究竟什么样的数据库,才能承接RTA广告这个技术活!

平平无奇爱好科技

足球场上的黑科技:图神经网络优化角球

算AI

#人工智能

Python雪花代码

百度搜索:蓝易云

Python 云计算 Linux 运维 云服务器

vivo 消息中间件测试环境项目多版本实践

vivo互联网技术

RocketMQ 消息中间件 多版本环境隔离

展示大屏-24小时天气预报

叫练

Partisia Blockchain:如何做到兼顾隐私、高性能和可拓展?

石头财经

【干货分享】华为云多模数据库GeminiDB架构与应用实践直播问答实录

平平无奇爱好科技

Linux系统中“sid”是什么意思?

百度搜索:蓝易云

云计算 Linux 运维 云服务器 sid

GIT日常命令收集

百度搜索:蓝易云

git 云计算 Linux 运维 云服务器

Redis不再 “开源”

派大星

redis 开源协议

华为云原生多模数据库GeminiDB架构与应用实践

平平无奇爱好科技

jsp和servlet有什么区别?

百度搜索:蓝易云

Java Linux 运维 Web 云服务器

避免封禁困扰:数字人直播防封策略大揭秘!

青否数字人

数字人

GeminiDB新特性:让Redis广告频控爱不释手的exHASH

平平无奇爱好科技

浅析KV存储之长尾时延问题,探寻行业更优解决方案!

平平无奇爱好科技

Java:commons-codec实现byte数组和16进制字符串转换

百度搜索:蓝易云

Java Apache 云计算 Linux 运维

关于 ASP.NET Core 中的配置系统

雄鹿 @

ASP.NET Core

保护主机安全,我来buff加成

华为云开发者联盟

安全 开发 华为云 华为云开发者联盟 华为云云图说

GPT账号被封,如何申诉找回

蓉蓉

ChatGPT GPT-4

探索华为云CCE敏捷版金融级高可用方案实践案例

华为云开发者联盟

开发 华为云 容器集群 华为云开发者联盟 华为云CCE

新版Redis不再“开源”,对使用者都有哪些影响?

平平无奇爱好科技

大模型的 Token 使用详解:限制与注意事项

木南曌

大模型

一文读懂兼顾隐私、高性能和可拓展的公链Partisia Blockchain

BlockChain先知

云计算与 AI 融合:Amazon Connect 开创客户服务智能时代

亚马逊云科技 (Amazon Web Services)

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