在本文中,我们将比较 Dart 与 JavaScript,这两种在跨平台移动应用程序开发中相互竞争的编程语言。JavaScript 在进入跨平台移动应用程序开发和服务器端开发领域时,达到了它的流行高度。由于 Node.js 框架可用于前端和后端开发,因此 JavaScript 在 Web 开发人员中非常流行。随着 Facebook 的 React Native 的兴起,移动应用程序开发人员也开始转向 JavaScript。因此,JavaScript 至今仍是最流行的编程语言。

作为 JavaScript 或 React Native 的替代方案,Google 创建了用于跨平台移动应用程序开发的框架。Flutter 使用了许多开发人员不知道的 Dart 编程语言。然而,相比之下,对于 React Native 应用程序,使用 Flutter 构建的应用程序看起来很流畅,而且更加原生。

那么问题来了,为什么 Google 选择 Dart 而不是 JavaScript 或其他编程语言作为其移动 SDK?让我们根据不同的标准或比较点比较两种语言:

1. 易用性
JavaScript 在业界存在的时间更长,是一种成熟稳定的语言。JavaScript 非常易于使用。它有许多在线可用的框架和库,因此开发人员可以使用现有代码更快地开发应用程序。但是,要学习 JavaScript 语法,我们通常需要具备基本的编程技术知识。

对于 Google 以外的大多数开发人员来说,Dart 是一种相当新的语言。尽管谷歌在记录 Dart 编程语言方面付出了很多努力,但开发人员仍然很难找到针对特定问题的解决方案。在编码风格和语法方面,它具有类似 Java 的语法,因此具有 OOPS 背景的开发人员只要掌握了基础知识,就可以轻松掌握和使用 Dart。

2. 人气
JavaScript 无处不在。几乎没有不运行 JavaScript 的设备。目前,Javascript 被用于编写 Web、移动和服务器端代码。JavaScript 在 StackOverflow 上标记了近 2.5+ 百万个问题。由于其受欢迎程度,JS 生态系统非常庞大,现在,随着云组件中心的出现,它甚至主导了可重用组件“市场”。前端开发人员将希望看到替代方案。

另一方面,Dart 正在变得流行,但它与 JavaScript 相去甚远。在谷歌宣布 Flutter 之前,Dart 是无处可寻的。Dart 吸引了不支持 JavaScript 的开发人员。目前,Dart 在 StackOverflow 上标记了几乎 45K+ 的问题。

3.速度
JavaScript 是一种解释型语言,因此它可能会感觉更轻、更快。它比 Java 等其他编译语言更快。然而,当以 JavaScript 为基准时,Dart 被证明要快得多。
Dart 可以同时编译 AOT 和 JIT,这有助于以多种方式构建应用程序,因为使用 JIT 编译可以加快开发速度,并且可以在发布过程中使用 AOT 编译以进行更好的优化。该技术已用于 Flutter 应用程序开发

4. 网络与移动
JavaScript 已经主导了具有不同框架的移动和 Web 应用程序开发。在某一时刻,随着 Facebook 发布 React 和 React Native,JavaScript 成为为初创企业和小型企业开发 Web 和移动应用程序的明智之举。市场上仍有大量 JavaScript 框架可用于开发 Web 应用程序、渐进式 Web 应用程序和混合移动应用程序,例如 Angular、Vue.js 等。

与 JavaScript 类似,Dart 可用于移动和 Web 开发。Dart 与用于开发跨平台移动应用程序的 Flutter 框架一起流行起来。Dart 也可以用于开发。尽管如此,随着 Flutter 的流行度快速增长,开发人员开始关注 Dart。最后,Dart 的未来取决于 Flutter 的成功。

5.企业使用
JavaScript 用于商业用途,即使在大型项目中也是如此。它用于构建 Web 和跨平台应用程序。Facebook 推出的 Web 和跨平台框架 React 和 React Native 使用 JavaScript。这些框架在 Facebook 内部使用。Airbnb、Slack、eBay 等其他公司也使用 JavaScript。

Dart 的诞生地是谷歌。因此,它最初在内部被广泛使用。然后在推出 Flutter 之后,阿里巴巴等大公司纷纷采用 Flutter 和 Dart 来开发他们的跨平台应用程序。

6. 支持类型
JavaScript 为动态类型和鸭子类型提供了最好的支持。然而,JS 不是一种类型安全的语言,因为它允许任何开发人员键入任何代码。与 JavaScript 相比,Dart 的类型更安全。它支持开放和健壮的原型设计。

JavaScript

优点:

  • JavaScript 可用于 Web 和移动应用程序。
  • 它可以用于前端和后端,因此 JavaScript 可以在每台设备上运行。
  • JavaScript 拥有庞大的社区和在线可用的优秀框架。
  • 轻巧灵活。
  • 可以找到大量的学习资料。

缺点:

  • 尽管 JS 有大量的库,但也有大量的库质量和维护都很差。
  • 仅在运行时发现的错误。

Dart

优点:

  • 开源;
  • 由一家大公司支持——谷歌;
  • 类型安全并使用 JIT 和 AOT 编译;
  • Flutter 的骨干;
  • 在某些情况下相对较快;
    缺点:
  • 对程序员来说相对较新;
  • 与 JavaScript 相比,学习材料并不广泛;

结论

在 Dart 与 JavaScript 之战中,两者都是赢家,因为各种原因,它们都是开发人员的可靠选择。在 Jaxenter 进行的一项民意调查中,Dart 以 223 票被选为 2019 年列表中的第一语言。此外,在 Stack Overflow 进行的一项调查中,Dart(66.3%)仅次于 JavaScript(66.8%),成为 2019 年最受欢迎的编程语言。Dart 还在“Github State of the Octoverse”中增长最快的语言类别中排名第一。JavaScript 是值得信赖的,但 Dart 也因其对 Google 的酷炫和支持功能而可靠。由于 Dart 也开始有效地赢得开发者的信任,因此很难判断哪个将主导未来世界。