上周,C#、Dlphi之父AndrsHjlsbrg亲临帝都,就TypScript做了一场技术分享,并与众多开发者就此进行了技术探讨。 AndrsHjlsbrg加入微软的19年里,一直致力于C#和.NET的研发工作。同时,作为TypScript的核心开发者和该开源项目的重要领导人物,他这次来帝都,主要也是为TypScript布道。以下是讲座主要内容。 (Andrs)大家下午好!首先我介绍一下这是我第一次到中国来,在这儿逗留的这一天令我非常高兴,而且此前我也是非常激动的。今天在这会给大家介绍一下我一直在做的事情,包括大家都在谈论的TypScript以及相关的OpnSourc的一般性的工作。 我做软件开发工具已经有35年的时间了,而且编写了不同语言的编程。以前都是专有的源,是封闭式的,现在我看到它有更新的变化,有一些新的方法论。 首先我们来看一下相关的背景。RdMonk在上个季度刚刚发出的报告,JavaScript在GitHub和StackOvrflow被提及的次数排名都很靠前,和以前比有显著的上升。我觉得这里面有一些比较重要的原因。首先,JavaScript是真正跨平台的语言。以前的语言,如Java,其实现在都不算是(跨平台语言)了。另外,JavaScript的性能近年来有10~倍的飞速提升,它一个语言就可以在所有的层面上编程,这个是非常不一样的地方。比如这两年的Nod.js,还有移动端RactNativ、NativScript等等,都可以用它来编写。在不同层面使用同一个语言开发,避免了学习很多新的东西。 其次,现在JavaScript已经被ECMAScript标准化了。今年已经出到第六版的标准,看起来非常雄心勃勃,因为他们的目的是为了解决JavaScript的一些遗留问题,而且另外添加一些新的模块、class等等。现在第六版的标准我觉得有很多东西是非常有意思的,像Mondul、Class、ArrowFunction等,JavaScript的核心实际就是这样的。首先它是动态的,是两个家族系列(Dynamic和Static),对动态的界定是它不需要编译,直接打印就可以了,静态的是要求你静态地进行编译。我们可以分别来看一下动态和静态之间都各有什么优点?优点大家都知道就是它非常简化,可以让你直接上手工作,而且可以互动不需要编程,而且非常容易。静态的这块更多是强调修正一些错误,强调性能升级还有更好的工具。实际上现实来讲是说动态的和静态的都各有所长,而且我们两者都需要有。 大概是5年前我们的客户包括自己内部的团队就跟我们说,他们在写大的Java代码时会遇到一些问题,所以我们想,怎么做才能加强Java代码,让其强的更强,同时不破坏和损坏既有的价值。这就导致了我们现在所说的TypScript的出现——实际上它是JavaScript的超级集合,把两者(动态的、静态的)最好的东西都集合在一起。这样实际上带来了两个好处,一个是我们在这上面添加了静态的,这样就有更加好的工具,还有一个好处在于你可以现在获取未来才有的一些相关的属性,可以在任何浏览器、任何的托管主机和操作系统中使用,而且它整个都是开源的,这才是跨平台的。(ECMAScript6实际上在5年之后有了非常大的、多的browsr部署才行) …… 以上是AndrsHjlsbrg关于TypScript基本的介绍。接下来是圆桌对话,是进一步的深入了解。圆桌对话由SgmntFaultCTO祁宁、LanCloudCEO江宏以及云适配CTO马铎共同参与。 江宏:大家好,我是LanCloud的江宏。LanCloud是移动应用的后端云服务。我是很小的时候学编程时就开始使用Andrs创造的TurboPascal,直到后来的Dlphi。今天很高兴有机会跟大师一起交流。刚才Andrs介绍了TypScript,那么我就以一个这方面的问题开场吧。TypScript在JavaScript之上加了class,而据我所知,很多JavaScript程序员,包括一些很优秀的程序员,都对在JavaScript里模拟class有强烈的反感。除了宗教原因以外,你觉得从技术上看class和prototyp有优劣之分吗? AndrsHjlsbrg:你的这个问题非常好,JavaScript没有class,所以有一些习惯于class的开发者认为不大好用,而加上class也是因为有一部分的开发者是要用这样的东西。从TypScript的涓尰娌荤枟鐧界櫆椋庢柟娉?鍖椾含鐧界櫆椋庣爺绌朵腑蹇冩不鐤楄澶氬皯閽?
|