dart语言能做什么?

115 2023-12-18 09:33

一、dart语言能做什么?

Dart语言是由谷歌公司开发的网络编程语言,于2011年10月10日发布。有了Dart,你可用的网页脚本将不只是Java专属.在使用Chromium的浏览器中,你可以直接运行Dart程序,而且有可靠的虚拟机帮助你提升程序性能和安全性.

即使你的浏览器不支持Dart语言,Dart也可以被转换为Java代码,也不必再担心兼容上的问题.

同时,Dart还可以用来编写桌面应用程序,这很像Java的Node.js。

二、dart语言和什么语言比较像?

Dart是一种计算机编程语言,它最初由谷歌开发,被用于构建可靠、高性能的移动、Web和桌面应用程序。

Dart语言在语法和结构上与许多现代编程语言相似,比如Java、JavaScript和C#。与JavaScript非常相似的一点是,Dart也支持面向对象的编程范式,并且具有类似于JavaScript的语法和表达能力。

此外,Dart还受到了Java、C#和Python等静态语言的影响,例如强类型、静态类型检查和类似于C#和Java的类和接口定义等特性。综上所述,Dart在语法和特性上与Java、JavaScript和C#等编程语言相似,但同时也有自己特有的特性和语法糖。

三、Dart语言的应用场景?

1、web开发

2、跨平台移动开发(flutter);

3、脚本或服务端开发;

四、dart语言为什么不火?

Dart语言在近些年来已经有了一定的发展。它的缺点之一是它是谷歌公司推出的新兴语言,而大多数人往往倾向于使用已经成熟的语言进行开发,因此,这也是它的一个竞争劣势。

此外,与其他编程语言相比,Dart的生态系统尚未完全成熟,因此很难在各种领域得到广泛应用。最后,Dart的性能方面也没有完全达到其他编程语言的水平。总而言之,Dart语言在这个日益竞争的编程领域中还需要更多的时间和努力来发展和提高它的生态系统、性能和稳定性。

五、如何看待dart语言?

dart语言的使用,感觉很有意思,大概分成三个阶段,而且对标的语言也不一样

一开始,dart诞生,Google是打算把dart做成js的替代品,做一个真java的script出来,javascript其实本意是想借用java的语法,做一个简单的脚本,所以当时购买了java的版权,蹭了java的热度,给自己起名叫做javascript,但实际上做出来的js,跟java相去甚远,所以给人感觉像是两个不相干的语言,这一点上跟后来的kotlin script还有scala script等都不一样

那Google当时做dart的作者,就是v8的作者,也是当年在sun做java官方hotspot虚拟机的作者,lars bak,他到了Google之后,就想利用java的知识,来一定程度上修复,js脚本的各种问题,比如v8就提供了jit,那jit很多年前就在hotspot中实现了,然后又因为js的语法,不受Google自身控制,所以发明了dart,dart语言Google可以自定义语法,不受js语法的约束,这样他就有用武之地,可以利用手中的知识,提供更有效率的编译器和运行时

所以lars bak当年在Google的时候,很喜欢发一些文章,说,dartvm比v8快多少多少倍

在这个阶段,dart其实的意图,是想做成js的替代品,所以主打的特性就是,可以编译成js,然后用dart写,编译后的产物,性能高了多少多少

但是这个效果感觉并不是很好,反正后来看,不算成功


第二个阶段,1.0到2.0的升级,开始支持flutter

当时Google和oracle在安卓上因为java语法打官司,当时其实就很奇怪,明明Google有java虚拟机的作者在公司里,为什么不在安卓上换掉java?

后来看,Google并非没有这个打算,只是Google没对外宣传而已

后来的结果都很清楚了,安卓上换成了kotlin,但是kotlin毕竟不是Google自家的产品,是另外一家公司jb的,所以很多东西要用起来,也还是受限

恰好flutter在当时,要诞生,flutter作者eric说过为什么要做flutter,一个原因就是,他们那个组最早是做web优化的,他们实在优化不下去了,搞不定了,于是推翻了,不用js那些东西,不兼容了,推翻了重新做,按照他们认为的思路搞了一遍

然后就发现,诶,快了20倍,这个知乎上有翻译字幕的视频,有兴趣的自行搜索,我贴过很多次了

在快了20倍的前提下,eric他们认为,或许他们能做点以前做不到的事

所以就有了flutter,然后为了生产出更高效的性能,dart在适配了flutter之后,做出一个巨大的改变

就是把原先1.0时代的动态类型,改成了2.0时代的静态类型

这是一个非常大的改变,这意味着dart从类似javascript等脚本语言,变成了java等编译型语言

从2.0开始,就跟javascript划清了界限,开始变得跟java很像

dart的faq里面,有一个问题:叫做,isn't dart a lot like java?

意思就是,dart难道不是非常像是java?

确实,在当时是很像,所以任何一个java程序员,不管是安卓还是普通的java开发,看两眼dart,就能上手,语法差异非常小,其实这就是Google在安卓之后的替换思路

做一个Google自己版本的java,而不是用java语法,然后把这个名字改成dart

不过后来Google和oracle的官司,Google赢了,Google又可以在安卓上用java语法了,所以现在Google客户端上,有很多种乱七八糟的选择,java,kotlin,dart,但是只有dart,是Google自己可以控制并拥有版权的编程语言

所以从这个角度上看,很多人认为kotlin怎样怎样,但私底下,很多人都明白,亲生的和领养的,终究是会有差别的,尤其是讨论到财产继承上,肯定是亲生的优先


第三阶段,dart 3.0,目前可以看到的咨讯

dart2/flutter之后发展了几年,lars bak和eric都相继离开了Google,但是不管是dart还是flutter,都要继续发展,不能因为人员的变动,发展就停滞了

但是呢,可以感觉出来,对于语法上的品味开始改变

一个很明显的变化,dart后来引入了null safety空安全,开始引入!和?组成的疑似为空和非空判断,这个就很明显滴跟java开始出现差异了

就你看null safety之后的dart代码,你会觉得,嗯,跟普通的java不一样了

开始变得像swift靠拢,当然这里还会有人点出kotlin,嗯,kt也有!和?,但是等下你就会发现,dart开始越来越像swift,而不是kotlin,只看这一个特性,你可能还能在kt上找到一些共同点,不奇怪,一个语言特性可能被多个语言所使用,并表现出共性,我们要多看几个特性

dart 3在前几天发布先导预告(跟变形金刚7一起发)了,一个很重要的特性,就是开始引入record类型,以及后续带来的一系列比如pattern(matching)的特性,解构这些东西

dart的record跟java的record,有明显的差异

最典型的就是,dart的record,虽然编译器会帮你生成类似java的record的类

但是呢,它引入了类似swift的tuple的语法糖,tuple和record是近义词,只是在不同语言中叫法不一样,类似lambda和closure还有匿名函数的差异

swift的tuple用了(),不是named type,不是命名类型,这意味着你不能给具体的tuple命名

java的符号类型非常节制,几乎没有多少符号让你乱写,type尤其没有,java的所有type几乎都是class的变种,而且匿名的很少,record至少在现在,不允许你用()来写,你要声明具体的record子类型,然后才能用

那你问,多返回值怎么办?你可以用map/list的of

但是毕竟map和list不是record或tuple

这里swift和java展现出了截然不同的写法和差异,那dart 3的record呢,其实更接近swift的tuple

用法上类似

当然java的record和pattern matching也在逐步演进,以后java的record会不会加上这种语法糖,这个谁也说不清楚,但至少,现在还没有

所以dart 3出来之后,你会感觉到,dart,越来越像是swift了,跟java的差异开始拉大

当然dart也没有完全放弃学习java,在pattern的特性里面,可以看到,实现了类似java里面switch增强的特性,就是用case和->来替代臃肿的case和break的写法

但是很多语法上,开始展现出跟java明显的差异,反而跟swift比较接近

从某种意义上说,这个也不奇怪,毕竟dart主要目标平台之一就是ios,所以苹果做swift跟Google做dart,在目的性上,有共性,所以互相借鉴不奇怪,而java要更多滴照顾到,比如后端的需求,所以用途和目的上会有差异

所以简单说,就是dart 3开始展现出更多swift的特性

那dart 要明年年初开始alpha,预计年中发布


所以纵观dart 1到2到3,三个大版本阶段,对标的语言,从javascript变成java再变成swift

可以感觉到Google在这个工具使用意图上的变化

从最早打算做成js的替代,变成java的替代,再变成跟苹果产品竞争的主要工具

其实也能感觉出来,这个时代在变,Google其实已经不再是一家单纯的web公司了

它在安卓等移动硬件平台上下的赌注是越来越大,那编程语言本身也就是个工具,工具最重要的是要能支撑起需求的实现,那dart其实就很好滴迎合了Google自身的需求,也反映了Google战略重心的转移和转变

六、Dart语言和go谁更先进?

Dart更好,公司测试过,

1,性能上: Dart绝对过的去,而且绝对不赖

2,体验:Dart的项目,产品体验明显,优势很大

3,易用性:比起Go,绝对更易上手,而且Dart很符合编程体验 团队配合非常有力

七、dart教程?

dart是由谷歌公司开发的网络编程语言。

谷歌于2011年10月10日发布了网络编程语言dart的“早期预览版”。

谷歌希望利用这款语言,帮助程序开发者克服JavaScript语言的缺点。

dart开发团队主管拉尔斯·巴克在谷歌官方博客中详细介绍了这款语言。

巴克称,dart支持所有项目,从小型松散的项目到Gmail和谷歌文档这种大型复杂的项目。

在今天的一次采访中巴克称,如果想让互联网变得更美好,那就必须创新,其中就包括开发新的编程语言。

另外,谷歌的dart语言网站也在今天上线,其中包括编写Dart程序的开源工具、代码范例和教程、支持软件的支持函数库、dart规范和讨论论坛。

上个月爆出的一份谷歌2010年内部备忘录显示,dart的目标就是要代替JavaScript网络开发通用语言的地位,但此次巴克在采访中表示,dart不会替代JavaScript。

JavaScript是当今网络的基石,它还将在很长一段时间内保持这种地位。

巴克表示,目前的当务之急是获得外界对dart的看法,并吸引他们参与dart程序的开发。

dart目前是公司关注的编程语言,谷歌希望Dart能获得正面评价。

八、什么是dart?

Dart 是一种通用的面向对象的编程语言。从语法上讲,它与 java 和 c# 非常相似。以及为什么大家都想学,因为 Dart 是 Flutter 的官方语言。Dart 可用于移动、Web、桌面和服务器端应用程序。如果你有一个flutter项目,同样的项目可以在web、桌面、android、iOS上执行。

九、dart和typescript区别?

dart是谷歌开发的一种通用的基于类的面向对象的语言,具有c语言风格语法,可以选择编译成JavaScript;typescript是微软开发的纯面向对象编程语言,是强类型的JavaScript超集,可以编译成纯JavaScript。

十、dart和sprint区别?

dart是一门编程语言,sprint是一种敏捷开发方法,两者针对的层面完全不同。dart侧重技术,sprint侧重流程。

1. dart是一种编程语言,主要用于web和移动应用开发,由Google开发。sprint是一种敏捷开发方法论。

2. dart语言可以编译成JavaScript,也可以直接运行在虚拟机上。sprint是一套迭代快速开发的流程管理方法。

3. dart侧重提供一种高效易用的编程语言环境。sprint侧重敏捷开发团队的管理和协作流程。

4. 使用dart语言可以提高开发效率,更快构建app。采用sprint可以通过迭代提高软件交付速度。

5. dart被应用于Flutter、Fuchsia等框架。sprint可用于敏捷开发中的冲刺计划管理。

dart是一门编程语言,sprint是一种敏捷开发方法,两者针对的层面完全不同。dart侧重技术,sprint侧重流程。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片