【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Dart 重启!Dart 2 正式发布,目标成为移动与 Web 开发主流语言

  • 2018-08-08
  • 本文字数:3695 字

    阅读完需:约 12 分钟

今天,Google Dart 产品经理宣布 Dart 2 正式发布,这标志着 Dart 语言的重启,它的目标是成为主流的移动和 Web 开发语言。同时,Google 还宣布重构 Dart Web 平台,对开发者来说,这是一个高效率、高性能和可扩展的组合。

由于 Flutter 已经与 Dart 2 SDK 绑定了几个月了,相信许多 Flutter 的开发者已经享受了 Dart 2 的许多优势,由于框架和语言之间具有耦合的紧密关系,因此 Dart 2 正式发布对 Flutter 正式版来说,是一个重要的里程碑。

Dart 在飞速发展

Dart2 的发布意味着 Dart 语言的重启:一个目标成为主流的移动和 Web 开发语言。它专注于为移动和 Web 应用程序提供快速开发和出色的用户体验。Google 希望开发者能构建出高效的客户端应用程序,并能将编程语言、框架、组件三者有效结合,减少样板代码,专注于业务逻辑,同时谷歌也会提供一些识别早期错误的、实现强大调试功能和运行小而快的运行时(runtime )代码的工具。

在过去一年中,Dart 获得了巨大的增长,谷歌官方的数据显示,用户量在过去一年内增长了 10 倍,在上个季度中,Dart 也是 GitHub 发展最快的语言之一。

在 Google 内部,Dart 也是 Google 用于开发 Web 应用程序的为数不多的几种语言之一,它拥有来自十个不同项目的数百万行代码,其中包括 Google Ads、Google Shopping 和来自 Google 内部的基础架构团队的项目。

事实上,你可能已经在开始使用 Dart 了,只是你没有发现而已:Dart 已经用于 Sass 样式表预处理器中,以使其运行速度更快、更易于编写。Sass 在 Homebrew 和 Chocolatey 上以独立可执行文件的形式进行分发,并在 npm 上编译为纯 JavaScript。

Dart 还可以在没有外部依赖的情况下在任何地方轻松地安装应用程序,引入开发者的工作流。

Google 称,Dart 2 的目的有三个:优化语言开发,增强 Google 对 Web 和移动框架的支持能力,将 Google 内部的一些支持 Dart 的工具和组件带给外部的开发者。

Dart 2:优化客户端

正如 Google 在今年年初宣称的那样,Dart 拥有一个健全、完整的生态系统,这意味着在你运行你的应用程序之前,在编译期间就能发现大量的问题。Google 说,当他们将 Dart 应用到 Google 中的超大型应用程序中时,他们在开发早期就能发现很多的错误,为他们后期避免了很多麻烦,也保证了代码的质量。

有了 Dart 2,表达式的值与表达式静态类型不匹配的情况将不会再发生了,这意味着你可以将代码扩展到数百万行,处理大型的重构项目,高效地部署你的代码。

复制代码
final _field = [3.14, 6.28];
void main() {
// No type parameter is provided, but <int> is inferred
print([1, 2, 3].runtimeType); // List<int>
// If types are unmatched, their common base type is used
// int (1) and double (3.14) are both `num`
print([1, 3.14].runtimeType); // List<num>
// Inference goes beyond variables.
// You can omit types on fields, too.
print(_field.runtimeType); // List<double>
}

Dart on the Web:丰富、强大的框架

Web 应用程序从一开始就是 Dart 使命的核心,实际上,Google 大多数 Dart 开发都是针对 Web 应用程序的。其中,最重要的一个是 Google Ads,它推动了数十亿美元的 Web 经济的发展。Google 在将代码迁移到 Dart 的过程中,UI 代码量减少了 40%,同时还提高了开发人员的工作效率和应用程序的质量。

Dart SDK 不仅提供了很多访问现代浏览器 API 的库,而且还支持 Angular 框架以构建复杂的 Web 应用程序。

AngularDart 5 作为 Dart 2 的一部分,它充分利用 Dart 的类型系统和新的构建系统(见下文)在开发过程中提供快速的增量构建,并在部署过程中提供 JavaScript 的编译功能。

Google 表示,目前他们在框架上的投资已经扩展到核心组件上了,你现在可以通过这个链接访问这些组件: https://dart-lang.github.io/angular_components_example/

Dart 2 具有灵活的开发工具

Dart 2 让 Dart 成为编译 JavaScript 的编程语言,它具有 Web 开发人员所期待的开发周期,以及出色的运行时(runtime)性能。同时它还具有大多数 JS 目标语言匹及的优点:丰富的类型系统和对原生移动应用程序的强大支持。

使用 Dart 2 进行开发,Web 工具采用纯 JavaScript 开发模型和两个互补的 JavaScript 编译器。开发编译器 dartdevc 提供快速的增量编译,同时生成易于阅读和调试的 JavaScript。这使得生成编译器 dart2js 能够专注于为桌面的移动应用程序的 PWA 生成高度优化的 JavaScript。

Dart 的 Web 工具基于新的构建系统,旨在实现快速,可调试和可扩展的目标。现在,将 Sass 编译为 CSS 或将 Dart 编译为 JavaScript 等任务发生在一个工具链中,该工具链在你更改应用程序的各个部分时,支持快速地增量更新。构建系统还旨在支持 Web 之外的应用。例如:Flutter 开发人员使用它来生成 JSON 序列化代码。

Dart 2 还有一组扩展的开发工具。除了支持 Android Studio 和 JetBrains 套件工具(包括 IntelliJ IDEA 和 WebStorm)之外,还支持带有 Dart Code 扩展的 Visual Studio 代码。

最后,Dart SDK 附带了其他有用的工具:一个与包站点并用的包管理器,一个静态分析器,一个作为包使用的 linter,以及用于编辑符合 Dart 样式指南的 Web 文档和代码格式的工具。

最后,Google 表示,Dart 更新的消息会更新在 Dart Announcements 中,欢迎关注。开发者在使用 Dart 2 的过程中,有任何问题,可在 Gitter 社区与他们沟通。

相关链接

Gitter: https://gitter.im/dart-lang/home

Dart Announcements: https://groups.google.com/a/dartlang.org/forum/#!forum/announce

Dart style guide: https://www.dartlang.org/guides/language/effective-dart/style

Dart 新的构建系统: https://github.com/dart-lang/build

包站点: https://pub.dartlang.org/

静态分析器: xda-developers.com

dart2js: https://webdev.dartlang.org/tools/dart2js

dartdevc: https://webdev.dartlang.org/tools/dartdevc

查看英文原文: https://medium.com/dartlang/dart-2-stable-and-the-dart-web-platform-3775d5f8eac7

2018-08-08 19:004802
用户头像

发布了 83 篇内容, 共 46.7 次阅读, 收获喜欢 187 次。

关注

评论 1 条评论

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

数据库顶会 VLDB 2023 论文解读 - Krypton: 字节跳动实时服务分析 SQL 引擎设计

字节跳动云原生计算

sql 大数据 云原生

引领智能对话革命的创新网络工程技术

百度开发者中心

智能对话 #人工智能 ChatGPT

英特尔首席执行官帕特·基辛格会前畅谈2023年on技术创新大会

E科讯

火山引擎A/B测试在消费行业的案例实践

字节跳动数据平台

数据库 ab测试 对比实验 数字化增长 企业号9月PK榜

单元测试的重要性:编写更安全、更可靠的代码

高端章鱼哥

测试 单元测试

DHorse v1.4.0 发布,基于 k8s 的发布平台

tiandizhiguai

DevOps k8s kubernetes 运维

智能客服的新方向

百度开发者中心

智能客服 #人工智能 千帆大模型平台

大模型时代,如何快速开发AI应用

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

Live Home 3D Pro for mac(3D家居设计软件) 4.8中文激活版

mac

windows 3D家居设计软件 苹果mac Live Home 3D Pro

不可不知的七个Docker优秀实践

树上有只程序猿

Docker 容器 镜像

美国站群服务器和香港站群服务器,哪一个更适合你的在线业务?

一只扑棱蛾子

站群服务器

好物周刊#1:提示工程师养成指南

村雨遥

软件 网站 项目 插件 资料

支持国密浏览器的堡垒机叫什么?联系电话多少?

行云管家

网络安全 堡垒机 国密 国密浏览器 国密算法

灵魂三问之稳定性摸排

阿里技术

方法论 稳定性 底盘

22H2 中国边缘公有云服务市场 Top2,百度智能云构建让智算无处不在的分布式云

Baidu AICLOUD

边缘计算 分布式云 大模型

利用Linux虚拟化技术实现资源隔离和管理

这我可不懂

Linux 计算资源

数据探索神器:火山引擎DataLeap Notebook 揭秘

字节跳动数据平台

数据库 数据中台 数据治理 数据安全 企业号9月PK榜

简单好用的防火墙 Radio Silence for mac激活最新

胖墩儿不胖y

Mac 软件 防火墙软件 阻止网络连接软件

AI 编码助手 Codewhisperer 安装步骤和使用初体验

亚马逊云科技 (Amazon Web Services)

Java Python 人工智能 机器学习

ARBT阿尔比特代币合约质押挖矿系统开发

l8l259l3365

保持预测一致性,推动企业实现未来价值

智达方通

数据孤岛 全面预算管理系统 预测分析

不断进化的e签宝,电子签普惠的新答案

ToB行业头条

行云管家云管平台四大价值看这里!

行云管家

企业上云 云管平台 云资源 云管理

中文3D摄影棚布光软件 Set A Light 3D Studio 最新激活

mac大玩家j

Mac软件 灯光模拟软件

利用ChatGPT实现快速网站模板构建

百度开发者中心

#人工智能 ChatGPT 千帆大模型平台

即时通讯技术文集(第21期):后端架构设计基础入门系列 [共15篇]

JackJiang

网络编程 即时通讯 即时通讯IM

实时数仓混沌演练实践

得物技术

实时数仓 混沌演练 业务混沌 数仓稳定性

CodeArts Check代码检查服务用户声音反馈集锦(4)

华为云PaaS服务小智

云计算 华为云 代码检查

CodeArts Check代码检查服务用户声音反馈集锦(5)

华为云PaaS服务小智

云计算 软件开发 华为云 代码检查

Dart重启!Dart 2正式发布,目标成为移动与Web开发主流语言_语言 & 开发_Kevin Moore_InfoQ精选文章