1. Dart和TypeScript来了,让我怎么学习javascript
我觉得你想多了,最直观的来说如果你现在已经掌握了Dart或者TypeScript,请问你怎么找工作?
作为相同类型的语言,Dart, TypeScript 和 Javascript必然大同小异,所以日后需要的时候转化过度几乎是没有门槛的。
不用人云亦云,咱们都是看热闹的,咱们都是语言的使用者而不是研发方,就如同js有多种框架一样,会用jQuery的人学Mootools会吃力吗?
2. JavaScript 会被诸如 Go,Dart 等其他语言替代吗
Go刚出那几年一直在用它,我很确定不可能替代js。目前所有编程语言中,只有c/c++与js分别在OS/Browser领域成为“标准”,连Python在cg领域都被c#、js入侵,这种路径效应,是几十年都很难改变的。
但是,如果使用Node做服务器端开发则要小心,除非是采用typescript或者可以良好的应用函数式编程,否则得不偿失。服务器端,就应该跑设计良好的静态语言,或者是函数式的动态语言(因为函数式天生更健壮),anders说过(c#作者):你告诉编译器的越多,它为你做的越多;以前的浏览器端只能跑脚本语言是没办法,因为代码是客户端过来,必须解释执行。
以前c++、java开发效率不够,所以才导致Python,Ruby、PHP等动态语言的流行,现在静态语言及其框架的开发效率已经接近动态语言。像F#这样支持自动泛化的语言,可以拥有动态语言同等水平的简洁性,却仍可确保类型安全。
3. Dart 语言失败了吗
Dart语言没有失败。
1、学习过 Java 、Scala或者 Kotlin 的开发者,再学习Dart 几乎没什么难度。Dart 语言本身的上手难度也不高,它综合了动态语言和静态语言的一些特性,属于伪动态语言。
2、Dart虽然是一种面向对象的语言,但是也支持函数式编程。Dart的语法特性让代码实现十分简洁,很多用户非常喜欢。
3、Dart语言可以开发的跨平台移动UI框架。Dart 是一种易于学习、易于扩展、并且可以部署到任何地方的应用编程语言。
dart语言一些注意点
1、const是编译时就要确定值,所以不能这样写:
const datetime tim=datetime(); //因为datetime()的值只有运行时才能确定。
2.类大括号外面没有分号,如:
Class p{
Pass….
}
4、typedef Fly = void Function(int value);//Fly是定义了一个方法,该方法只有一个int形参,Fly不是特定的函数,而是一个类型,可以用来定义变量。Fly类型的变量都是特定的具体函数。
5、函数位置参数使用方括号[]括起来: int f(int x, int y,[int z]){}//z是可选的形参
函数命名参数用大括号{}括起来:int f({String name,String Sex}){},可以这样调用:
f(name:’wangziyou’,Sex:’Male’);但二者不能同时使用。
4. javascript会被其他语言代替吗
首先排除掉Go,这个东西是做服务端的,定位也是系统编程。主要说说dart:
dart这个语言最关键的地方其实是两个:1.相似性;2.dart2JS。
相似性:
google搞的这个dart你会发现如果有java,c#,javascript背景的开发人员,那么这个语言几乎是0学习负担,直接拿来就能用,做项目。里面有很多好的特性都是你非常熟悉的,语法难度(目前)介于java和c#之间,可选类型的动态语言,弥补动态语言tooling,静态分析上的短板(尽管这个可选类型争议很大,尤其是纯粹从设计语言上的角度上去看)。
dart2JS:
dart vm将来会内置到chrome中,但其他浏览器可能不会支持它,所以dart2JS就显得很重要,这样dart写的程序可以在所有浏览器上执行,至于性能和体积等等问题这个变成了编译器优化的部分了,纯粹的技术上问题,没有什么不可逾越的障碍了(例如让其他浏览器接受dart vm这种非技术性障碍,这个很难逾越),只需要时间去完善。最终有点类似于手写汇编和编译器生成的汇编哪个效率高的问题。
有了语法上的高度相似性和dart2JS,那么dart失败与成功其实不是那么重要了,因为google最终的目的不是让大家都一定要去使用它的语言,而是要让web进化的更快一些,或者说有一个比现在更好的javascript快点的到来,这才是它最想要的结果,类似于它的什么高速光纤等等,都是这个套路,让你更加依赖web,因为web是它盈利的关键入口。
2011年google内部有邮件说明过为啥要做这个语言?他们有2套方案会一直并行的去做下去:
1.v8团队继续优化js引擎,一起参与进化javascript语言;
2.发明一个新的语言(dart),最终替代JS。
方案1风险小但进展太慢它等不及,方案2风险大但回报也大。最终他们决定同时执行两套方案。
而dart的开发者大部分就是v8,chromium的团队人马,dart中很多新东西都和v8有关联,dart一些新的特性未来可能也会被ecmascript 接受成为未来js的新标准,所以最终无非就是两个结果:要么dart失败了,但dart里很多好的东西都被js吸收了,js焕然一新;要么dart成功了,代替掉了js。无论是哪种结果,web的进化进程都被加快了,这个就是google的真正目的(有点像它做android但却不直接通过这个系统本身来赚钱)。
所以说:这个语言在设计中【保持相似性】和【dart2js】是很关键的两个方面。那么你觉得它能否代替掉JS对你影响大么?也不会出现什么你学了很久的东西未来某天发现没用武之地了这种情况,所以该用js的继续接着用,想尝试dart的也别担心别的浏览器跑不了,也不用担心要从头开始学一门新的语言的负担,因为它里面大部分东西都是你早都掌握了的。
5. dart语言的dart语言
谷歌发布网络开发语言Dart早期预览版
谷歌于2011年10月10日发布了网络编程语言Dart的“早期预览版” 。谷歌希望利用这款语言,帮助程序开发者克服JavaScript语言的缺点。
Dart开发团队主管拉尔斯·巴克(Lars Bak)在谷歌官方博客中详细介绍了这款语言。 巴克称,Dart支持所有项目,从小型松散的项目到Gmail和谷歌文档这种大型复杂的项目。在今天的一次采访中巴克称,如果想让互联网变得更美好,那就必须创新,其中就包括开发新的编程语言。
另外,谷歌的Dart语言网站也在今天上线,其中包括编写Dart程序的开源工具、代码范例和教程、支持软件的支持函数库、Dart语言规范和讨论论坛。 上个月爆出的一份谷歌2010年内部备忘录显示,Dart的目标就是要代替JavaScript网络开发通用语言的地位,但此次巴克在采访中表示,Dart不会替代JavaScript。JavaScript是当今网络的基石,它还将在很长一段时间内保持这种地位。
巴克表示,目前的当务之急是获得外界对Dart的看法,并吸引他们参与Dart程序的开发。Dart目前是公司关注的编程语言,谷歌希望Dart能获得正面评价。 Web 编程吸引人的特性之一便是迅速的开发周期:源码改动后生效所需的时间不到一秒。Google 希望为 Dart 语言的开发者提供相同的体验,于是将 Dart 虚拟机整合进 Chromium 浏览器,并在今天发布了适用于 Mac 与 Linux 平台的 Dartium。
该技术预览版本允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序,免去了单独编译的步骤。以后这些程序将从 Dart VM 更快的性能与较低的启动延迟中受益。
Dart 从设计之初就为配合现代 web 整体运作而考虑,开发团队也同时在持续改进 Dart 向 JavaScript 转换的快速编译器。Dart VM 以及现代 JavaScript 引擎(V8 等)都是 Dart 语言的首选目标平台。
这次发布的整合 Dart VM 的 Chromium 只是技术预览版,不应该用于日常浏览。待更多测试与开发者反馈后,开发团队计划最终将 Dart VM 整合到 Chrome 分支中。 开发人员应该有一个快速迭代、即时反馈以及 Zero-Install Tools 的环境来研究语言和API。为了帮助新手和经验丰富的Dart开发人员,Google发布了DartPad 1.0,以尝试在浏览器中用无摩擦方式(无任何中间环节)来研究Dart代码和API。
DartPad支持完整的Dart语言、核心链接库,甚至是HTML/CSS。同时,支持代码提示,即时错误信息提示,实时API等功能,有经验的Dart开发者会发现,DartPad是一种最简单的使用Dart语言的方法,并且可以学习新的模式和习惯。
6. 微软的 TypeScript 怎么样,有用过的吗和 Dart 比有什么优势吗
TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。安德斯·海尔斯伯格,C#的首席架构师,已工作于TypeScript的开发。
TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。TypeScript是为大型应用之开发而设计,而编译时它产生 JavaScript 以确保兼容性
TypeScript 支持为已存在的 JavaScript 库添加类型信息的头文件,扩展了它对于流行的库如 jQuery,MongoDB,Node.js和 D3.js 的好处。
7. it前沿技术
在这个科技不断更新换代的21世纪,网络传真正受到越来越多企业的青睐。
网络传真是基于PSTN(电话交换网)和互联网络的传真存储转发,也称电子传真。网络传真和传统的传真机区别在于,它无需任何软硬件的支持,只要你能上网就能完成收发传真。但这还是要依托一个可靠稳定的平台。
SoftTown软建堂为您解决这一难题。SoftTown网络传真无需任何软硬件、发送接收也不用纸张(传真直接进入电脑),因此它的投入成本和运行成本是十分廉价的。收发网络传真的时候就像发邮件,只要登录到SoftTown账户上,就可以直接发送接收传真了。SoftTown网络传真是通过SoftTown平台的电子传真收发功能,将企业用户的产品及服务信息直接传送到目标客户的传真机终端。SoftTown传真实现了传统传真与互联网的有效嫁接,使用传真就像Email收发邮件一样收发传真方便快捷,无论您身处何处,均可自由收发传真。有了SoftTown网络传真的群发功能,您再也不需要在传真机前一个号码接一个号码的拨号、等待发送,只需花一分钟提交传真任务给SoftTown传真系统,所有的费心事SowtTown为您轻松搞定。
8. Google的飞镖有多犀利
当今IT业界,三足鼎立。三巨头中,Google还如同赤壁后的刘备,正处于全面出击时期,生态系统还未成型。Apple有OC,Microsoft有.NET,Google只能用最普通的C++和JavaScript,还有个Java,整天被人讨着要专利费。这种借荆州的日子怎么能忍,Google先推出了Go语言,欲取代C++和Java;去年底又推出了Dart语言,目的想取代JavaScript,不仅是自己用,而且想彻底打破Web开发僵局。互联网时代开启以来,互联网这么多年来总体是以超高速发展。然而根据辩证法还是什么法则,事物发展往往是螺旋上升的。互联网这么多年来也经历了两次低潮,一次是2000年泡沫破裂,另一次就是现在这次,这一次不像2000年那么大起大落,却是Web高速发展多年后瓶颈矛盾的交织,加上金融危机后余波未散的影响,恐怕互联网未来数年内将处于一个整合期。如今各种势力明争暗斗,业界形势错综复杂,如雾里看花。Dart(飞镖)就是Google逐鹿互联网天下的利器。现在还处于待而未发的状态,至于会不像小李飞刀,例无虚发,我认为可以期待Go。期待的第一个理由是Google很重视Dart,虽然是半成品,至少不是像Go语言那样的试验品。Go语言,连个IDE也没有,官方网站简洁到土,土到掉渣,好像连CSS都没用似的,一看官网,学的欲望就下去了一大半。Dart的官网看上去就又简洁又详尽,从API到FAQ,该有的都有了。要体验Dart很简单,如果装了Java SDK,只要下载个集成环境(只有145M),解压缩,运行DartEditor即可。作为初代IDE,界面很不错了,我觉得相当于VS2003的程度吧,也支持调试。第二个期待的理由是Dart的语言特性,官网上文章介绍说Java程序员可以一小时熟悉Dart语法,那C#程序员半小时就够了。看那句 list.sort((a, b) => a.compareTo(b)),是不是倍感亲切?当然Dart刚刚起步,语言特性没有C#那么丰富,比如没有特性、反射之类的支持,不过能看出其该有的总归会有的。第三个理由,Dart从一开始就是开源项目,我们都可以参与其中,如果有一个Dart也成为像C一样不朽的语言,我们还可以名留青史呢。第四个理由,是Google推广Dart的资本,不只是出钱出人,而是靠对互联网的话语权。Chrome浏览器份额稳步攀升(Chrome超越IE的意义),Dart 1.0正式发布后,Chrome就将支持。第五个理由,Google把Dart的定位摆得很正。Dart目标是取代JavaScript,而Google的目标却是让Web变得更好。虽然其他势力,如微软不出所料地不待见它(谷歌Dart语言遭微软泼冷水)。为推广Dart而排斥Javascript,那样的极端路线会碰得头破血流,Google决不会干。多一种选择有什么不好呢?正如FAQ回答的第二个问题,这门语言是Web开发需要解决的问题的方案吗 (Is the language really what needs to be fixed in web development?)我翻译水平不高,回答大体意思是:我们想解决所有这些问题。于是有了Dart语言,又有了整个Dart项目。Dart项目押注在语言(JS)需要一些改变,但我们也想改进DOM和其他的库,并改进我们用的工具。与此同时,Google也对JavaScript能进化以适应需要下注,并作出贡献。Google想让Web开发更棒,如果JavaScript能够做到,我们也很高兴。Dart如果取代JS,也将是十分平稳流畅。Dart与JavaScript编译器密不可分,Dart测试环境Dartium(和Chrome差不多), 就是将Dart编译成JS执行。DartEditor中也可以直接把Dart代码编译成JS文件,即使现在就用来做Html5开发,效率也比写JS要高,相当于另一门haXe般的“上帝玩偶”。 希望采纳
9. DART Karaoke Studio 怎么用
一、抓音轨
也就是把你想演唱的歌曲从CD转换为.wav文件。我们打开DART Karaoke Author,点击上方DART CD-Recorder按钮就打开了DART CD-Recorder的工作窗口。现在把要转换的歌曲CD放入CD-ROM里,点击抓音轨按钮,这时会弹出一个对话框,这是问你是否想通过网上的CDDB数据库来搜索CD的歌名,这个搜索当然需要你在线,点击“NO”就进入抓音轨的界面。下面选择需要的第6首歌,点击“Add”,这首歌就被选中了。你可以点击选择窗口下面的按钮来试听歌曲,Change按钮是让你设置抓好的歌曲存放位置和名称。一切搞定后点击“OK”就开始抓音轨了,抓完以后我们可以在列表里看见Track06.wav这个文件。DART CD-Recorder还具有很强的音频处理功能,如果你的歌曲音质不太好(例如是从磁带录制来的),还可以对它进行修整。点击上方的音频处理按钮,在左边弹出的音频处理窗口里我们可以看到有5种修整手段,它们从上到下分别是:Declick——去除录音过程中产生的咔嚓声;Dehiss——去除宽频段的噪音; Equalizer——EQ调节,也就是我们通常说的均衡器;Fade——淡入淡出,它可以使音乐的音量慢慢变大或者变小;Normalize——调整音频信号的动态范围,使声音不至于忽大忽小。按下每一个效果按钮后右边有相应的参数可以调节,你可以都调整试试,非常有意思。下面的Play Source是试听没有处理的效果,而Play Result是处理后的效果,一边试听一边调整,直到完全满意后点击
“Process”按钮就可以了。如果你觉得DART CD-Recorder提供的效果器太简单不够专业,你想使用其它DirectX音频效果器插件,只要点击“DirectX”按钮,在弹出的窗口里你就可以选择其它效果器插件了,当然,前提是你要装有这些效果器插件。
二、去除主唱声
现在回到DART Karaoke Author窗口,我们来把录制的歌曲中的人声去除。点击“Open Soundtrack”图标,在文件选择窗口里打开刚才抓下的文件Track06.wav,点击“DeVocalizer”图标,在DeVocalizer窗口)里有3个参数,它们是指:Attenuation——使声音变薄,参数越大演唱声消除得越明显,但伴奏声音也会变得很飘,所以你通过调整它来找到一个合适的位置;Bass retrieval——声音变薄后音乐的低音会被衰减得很厉害,所以你可以通过这个参数来恢复任意频段的低音;Output——输出电平调节,旁边的灯是过载显示,应该尽量不要使过载灯常亮。Play Source和Play Result也是试听按钮,Change可以设置处理后的文件存放位置,调整满意后点击Process进行处理,完成以后你就可以听到你希望已久的伴奏音乐了。这里要指出的是,DART Karaoke Author也支持直接打开MP3文件进行处理,不过效果就没有CD的好啦。
三、输入歌词
首先你要把歌词打成一个标准的.txt文本文件,格式非常简单,每句歌词占一行,如果一句太长的话,也可以分成几行。然后点击“Import Lyrics”按钮,在文件选择框里选中你的歌词文件就完成了,你会在歌词窗口里看到一句一句排列好的歌词。这里也要非常遗憾地指出,DART Karaoke Author不支持中文的双字节,所以我们只有在输入英文歌词的时候才能用这个功能了。
四、使歌词和音乐同步
1.把刚才的伴奏音乐和歌词在窗口都打开;
2.按句子位置来设置歌词显示位置。非常简单,点击“All”将从头开始播放歌曲,在需要显示歌词的位置你只要点击“Set Flag”按钮或者空格键就会在这个位置上做一个标记,显示第一句歌词。依此类推,你只要看好下面的歌词,在需要的时候按一下“Set Flag”按钮,直到整首歌曲完成。当然你也可以随时停止(按“Stop”),或者从光标的位置开始播放(按“From Cursor”),非常方便。
3.全部完成以后,为了使显示更准确,我们还要在细处调整一下标记的位置。这也非常简单,你只要把鼠标放到红线上就可以左右拖动它,把那些位置不准的都弄好就可以了。
4.下面再更精确地按每个词来设置显示位置,点击下面的“Word”按钮,你会发现所有的句子标记都变成了词标记。和上面的方法一样,你只要拖动每一个单词到准确的位置就可以了。
五、录制你的演唱
首先要把话筒插在你声卡的MIC IN插口上,然后在混音器里把话筒打开,同时也把录音源选为话筒。好,现在按下“Recorder/Player”按钮,在Recorder/Player窗口里选择用哪种音乐作伴奏:Original File——原WAV文件,也就是从CD直接抓下来的WAV文件,没有经过原唱消除处理的;Devocalized File——经过原唱消除处理的WAV文件;Other——其它WAV文件。如果你对歌曲还不很熟,可以使用原文件来跟着歌手演唱,这样节奏会准一些。Change可以设置录制的文件存放位置,还要把Open Procer When Finished的复选框选中。设置好后点击“Run”就弹出卡拉OK的播放和录音窗口,怎么样?很COOL吧:)。好啦,来,咳嗽两声,点击右下角的红色录音按钮,听着音乐,看着歌词开始唱吧!在翻云覆雨的演唱结束后,点击“Quit”按钮,你会看到DART Karaoke Procer窗口,它允许你把刚才制作好的伴奏音乐和你的演唱进行混音。Input栏的两项分别是伴奏音乐和你的演唱所对应的WAV文件;Balance可以分别调节两个文件输出电平的大小,也就是音量大小;Preview可以分别预听两个文件以及混合后的效果(Play Result);Output可以设置混音后文件的位置。都搞定后点击Process就完全做好了,千万别忘了存盘,它将被存为.dka为后缀的文件。
六、欣赏
录制好了以后我们怎么欣赏呢?有一点复杂,每次都需打开要欣赏的.dka文件,然后点击“Recorder/Player”按钮,在Other处选择你混音后的文件名,然后点击“Run”就可以在Recorder/Player窗口里欣赏了。如果你只是想跟着演唱,只要选择经过原唱消除处理的文件名就可以对着歌词卡拉OK了。
七、总结
DART Karaoke Studio是一个很有意思的软件,它不是一个专业的音频处理软件,但是它所有的功能都围绕着卡拉OK这个目的展开,没有任何多余而花哨的功能,并且把在专业音频软件里需要复杂处理才能达到的功能变得简单易用,我想这就是它的魅力所在吧。如果你觉得它能给你带来方便和娱乐,那就足够了。它的官方地址是:www.dartpro.com
10. 如何评价Google推出的基于dart的sky
先看一则新闻:
谷歌推出全新Android开发语言Sky:让App更流畅
除游戏之外的Android应用通常使用Java语言来开发,而谷歌内部的一个团队正在探索全新的应用开发方式。他们利用了谷歌自主的网页开发语言Dart来开发Android应用。这帮助他们专注于速度,并可以与网页进行深度整合。
Dart由Chrome V8引擎的团队成员发明。该团队近期举行了Dart开发者峰会,展示了在Android项目中使用的Dart。在Android项目中使用的Dart并未被称作“Android版Dart”,而是有了一个新名字“Sky”。目前,Sky只是一次开源的尝试。但相对于传统的Android应用开发方式,Sky有着多方面优势。
Sky的最主要目的包括提高运行速度和响应速度。在大部分设备上,应用流畅的标准都是实现60FPS的帧率。不过,Dart团队希望实现高达120FPS的帧率。目前在Android平台上,许多应用连标准的60FPS帧率都难以达到,更不用说120FPS。60FPS的帧率要求每16毫秒绘制一帧,当画面绘制速度达不到这一水平时,应用就会出现卡顿。
Dart团队展示了一款演示应用,每帧的绘制速度仅为1.2毫秒。尽管这只是一次简单的展示,但这意味着,对于开发流畅而复杂的应用来说,Sky有着很大的空间,这也使120FPS的帧率成为了可能。该团队表示,Sky的应用程序接口(API)不会影响界面的主线程,这意味着即使应用运行速度变慢,用户界面仍将保持流畅的响应速度。
Sky并不依赖于平台,其代码可以运行在Android、iOS,以及任何集成了Dart虚拟机的平台上。这类应用的运行类似于网站。应用的很大一部分基于HTTP,这意味着开发者可以进行持续的开发,并确保所有用户一直使用最新版本。这款演示应用的弱点在于无法离线运行,而启动应用则需要1到2秒钟时间,因为应用需要下载数据。不过,这两方面的问题可以通过缓存机制来解决。
基于HTTP的模式使开发变得很简单。开发者不必编辑代码、编译并打包,这些代码可以在HTTP服务器上编辑。而用户只需关闭并重新打开应用,即可完成应用的“升级”。这就像是一款网页浏览器。Android开发者可以使用Sky Framework,这提供了一整套Material Design小工具,帮助开发者方便地增加操作栏、触控效果、导航面板,以及Android应用中所需的一切元素。
与普通应用类似,Sky应用可以获得Android的全部权限和API,但结合来自网页服务器的自动升级功能,这将带来信息安全问题。不过目前,Sky仅仅只是一个试验项目。在Sky成为一种主流的Android应用解决方案之前,Sky团队需要解决这些问题。该团队的GitHub页面显示:“我们仍在对Sky进行频繁地迭代,这意味着框架和底层引擎有可能以不兼容的方式出现改变。”