1

我开始学习飞镖。它似乎是一门不错的语言,在某些方面比 JavaScript 有了真正的改进。但是,由于它声称带有“包含电池”并且适用于“结构化网络应用程序”,因此我无法理解如何使用它实际构建网络应用程序。几乎所有的教程都集中在语言特性上,但是 Dart 非常简单并且有很多熟悉的部分,所以这是最容易的部分。最近我爱上了 AngularJs。现在路由,双向绑定,嵌套范围,关注点的干净分离......这对我来说实际上意味着“结构化”。但我发现的所有 Dart 示例都是关于选择 HTML 元素并将侦听器附加到它们的。这是老式的类似 jQuery 的 Web 编程,坦率地说,与我阅读“结构化”时的想法相反。我不

当然,它具有可选的静态类型,这可能很棒,但这更多地取决于偏好。我是一名全职 Python 和 Ruby 开发人员,我对动态语言非常熟悉。这就是他们所说的“结构化”吗?

感谢您最终会做出的任何澄清。

4

2 回答 2

7

我在 AngularDart 工作,并且有一些构建 Web 应用程序的经验。

在 Dart 中构建 Web 应用程序时,您会选择一个 Web 应用程序框架,例如 AngularDart 或 polymer.dart。Web 应用程序框架有很多意见,这些意见不适合核心库。在这方面,“香草飞镖”相当香草。

由于我最熟悉 Angular,我将讨论 Angular + Dart 的组合。然而,这篇文章的其余部分也适用于 polymer.dart。

Angular 为您的应用程序提供了很多结构。我们已经能够为 Dart 和 Javascript 提供类似的结构。指令、数据绑定和依赖注入的概念都存在于两者中。

Dart 提供了更多的结构,我们已经能够在构建 AngularDart 时使用该结构。例如,指令 API 是根据注释定义的,这意味着 IDE 可以理解它们并可以帮助您编写代码。

Dart 中有许多“结构”功能。我最喜欢的工具之一是工具。类型和注释带来了更好的工具支持。

Dart 中的类型在与工具结合使用时最有用。自动完成很棒,但对于大型 Web 项目,静态分析甚至更好。例如,在 AngularDart 中,由于指令是带注释的类,我们可以断言注释是正确的。更有趣的是构建工具的潜力。在 AngularDart 中,我们有一个工具可以提取和分析所有指令。这种类型的工具在 Javascript 中是可能的,但在 Dart 语言中很容易并且支持。

于 2013-12-18T01:35:22.270 回答
1
  • 库、包
  • 与 pub 包管理器集成依赖管理
  • 基于类而不是基于原型
  • 变量的范围,正如人们在现代语言中所期望的那样
  • 静态语法检查
  • 更好的工具支持,如代码完成
于 2013-12-17T08:01:16.383 回答