什么是JavaScript?JavaScript通常被称为浏览器脚本语言,但它也已传播到许多服务器端和移动应用程序开发环境。JS已经存在了将近20年,可以说它确实是一种成熟稳定的编程语言。在Facebook发布React和ReactNative框架后,JS变得越来越流行。JavaScript有自己的包管理器,例如NPM和Yarn。尽管JavaScript现在是首选和流行的,但在编程社区中仍然有一些褒贬不一的评论。尽管如此,可以肯定地说JavaScript的受欢迎程度是不可否认的,因为它包含在StackOverFlow上标记的近200万个问题。什么是飞镖?Dart是Google专门针对各种平台上的快速应用程序而优化的客户端语言。谷歌最初将其用作内部编程语言来构建网络、服务器和移动应用程序。尽管Dart自2011年就已经存在,但在Google宣布用于跨平台移动应用程序开发的Flutter之后它开始流行。唯一的原因是Flutter完全基于Dart。因此,移动开发者必须学习Dart才能开始使用Flutter。Dart编译源代码,类似于C等其他编程语言。但它也有自己的虚拟机(VM),用于运行本地应用程序,称为DartVM。Dart也有自己的包管理器Pub。使用Dart和JavaScript的示例应用程序上面的屏幕截图是用Dart和JavaScript编写的HelloWorld程序。JavaScript与Dart的比较1.流行度JavaScript几乎无处不在,几乎没有不运行JavaScript的设备。目前,JavaScript用于编写Web、移动和服务器端代码。JavaScript在StackOverflow上标记了近200万个问题。由于它的流行,JS生态系统是巨大的,现在,随着CloudComponentHub的出现,它甚至统治了可重用组件“市场”。另一方面,Dart越来越流行,但它距离JavaScript还很远。在谷歌宣布Flutter之前,Dart还没有出现。Dart吸引了不支持JavaScript的开发人员。目前,Dart在StackOverFlow上标记了近30,000个问题。2.学习曲线JavaScript对于初学者来说是出了名的棘手,尤其是当他们没有编程概念的背景知识时。但JavaScript是大学和训练营教授的主要语言之一,因为它是Web开发的核??心之一。事实上,HTML、CSS、JavaScript并称为Web开发的三剑客。有许多在线课程和教程可以帮助您学习JavaScript。然而,对于Dart,情况就完全不同了。学习Dart对于新手来说可能是相当吓人的,因为它不像JavaScript那样广为人知,而且学习资料相对较少。但谷歌不遗余力地帮助其他OOP语言的开发人员无缝过渡到Dart。3.类型安全这是JavaScript和Dart的主要区别之一。作为一种解释型语言,JavaScript支持动态类型和鸭子类型。鸭子类型是根据特定方法和属性的存在而不是对象本身的类型来确定对象是否适合特定目的的类型。Javascript允许键入任何代码,使其成为一种非类型安全的语言,导致只能在运行时发现错误。相比之下,Dart支持松散和强大的原型设计。作为一种编译型语言,Dart在编译期间捕获了大部分错误,这使得它比JavaScript更具有类型安全性。4.企业使用JavaScript被商业化使用,甚至在大型项目中,它被用来构建Web和跨平台应用程序。Facebook推出的Web和跨平台框??架React和ReactNative使用JavaScript,这些框架在Facebook内部使用。Airbnb、Slack、eBay等其他公司也使用JavaScript。Dart的发源地是Google,所以一开始它在内部被广泛使用。然后,在引入Flutter之后,像阿里巴巴这样的大公司采用Flutter和Dart来开发他们的跨平台应用程序。将Dart编译成JavaScriptDart有两个不同的JS编译器,Webdev工具根据用例选择最好的编译器。webdev在开发应用的时候选择了dartdevc,它支持增量编译,可以快速的看到自己编辑的结果。但是,在构建用于部署的应用程序时,webdev选择了dart2js,它使用treeshaking等技术来生成优化代码。Dart团队致力于让dart2js编译后的代码比手写的JS运行得更快。虽然并非在所有情况下都是如此,但我们可以预期在不久的将来会有一些激烈的竞争。优缺点比较1.JavaScript优点:JavaScript可用于Web和移动应用程序。它可以用于前端和后端,因此JavaScript可以在任何设备上运行。JavaScript拥有庞大的社区和在线可用的优秀框架。轻巧灵活。可以找到丰富的学习资料。缺点:虽然JS库数量多,但是质量和维护都比较差的库很多。错误只能在运行时发现。2.Dart优点:开源。由一家大公司支持-谷歌。类型安全并使用JIT和AOT编译。Flutter的支柱。在某些情况下相对更快缺点:对程序员来说相对较新。与JavaScript相比,学习材料并不丰富。结论Dart和JavaScript都是开发各种应用程序的理想选择。通过它们在Flutter和React、ReactNative中的使用,我可以看到这两种语言的光明前景。在Jaxenter进行的一项民意调查中,Dart以223票被选为2019年列表中的第一语言。此外,在StackOverflow进行的一项调查中,Dart(66.3%)仅次于JavaScript(66.8%)成为2019年最受欢迎的编程语言。Dart还在“Github状态”中增长最快的语言类别中排名第一八度的。”Octoverse的Github状态:https://octoverse.github.com/StackOverflowJaxenterCredits:GitHub作为新手开发人员,我建议您从JavaScript开始并先掌握其基础知识。您不一定需要成为JS专家,但您需要了解基础知识。完成后,您可以转移到Dart并探索它的水域。这样,您就会对这两个巨头非常熟悉。
