很早之前就听说TypeScript了(以下简称TS),但总是用难以抽出时间给自己找到这个冠冕堂皇的理由。最近又心血来潮,打算写TS的博客了,毕竟TS核心开发者也是C#之父,像我这么热爱C#的人,怎么可能不喜欢C#之父开发的TS呢,有点爱屋及乌了。这里附一张C#之父Anders Hejlsberg的图片。
这篇博客不讲技术细节,只讲TS利好的一些信息以及它的一些优点,还有以后所有的TS资料的目录都放在这篇博客了。这些博客有些是翻译的,当然这里的翻译是基于本人的思考而不是纯粹地机器翻译,还有去除了一些难以翻译而不影响阅读的语句。除此之外,这里还会放一些个人搜集到的老外写的优秀的教程。
一些对于TS利好的信息:
- Delphi、C#之父 Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会, 分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流。
- TypeScript最近发布了1.6版本,它在社区里的接受度也越来越高,比如有人从CoffeeScript迁移到TypeScript,也有人认为它比Facebook的Flow更好。这一切都要归功于Anders为TypeScript带来的优秀设计。
- Anders创造了新语言TypeScript,这是兼容JavaScript的语言。今年3月,谷歌的Angular团队宣布了它与微软TypeScript团队在Angular 2上紧密合作,Goole用TS写Angular 2。
- 在国内,也有HTML5游戏引擎Egret使用TypeScript进行开发。
- 看到知乎上,绝大多数开发者都对TS持积极态度, 点击这里查看 。
- …此处省略若干字。
一些对Anders Hejlsberg的评价:
- 如果不是他那专注的神情,以及现场见证开发者对他的狂热崇拜,很难想象这位外表并不出众、甚至非常普通的老外就是从美国专程赶来中国参加10月27日举行的微软技术大会的编程巨匠、C#之父——安德斯·海尔斯伯格。
- 和国内开发者积累多年开发经验后会选择转向管理工作不一样,Anders在过去的四十年来一直从事编程工作,因为这是他的兴趣、也是他最大的爱好。
- 他并不知道开发者对他有多么崇拜!因为,他可以坚持40年从事开发工作;他在微软开源工作上起到了有史以来最大的推动作用;他创造的C#多年来一直是十大编程语言之一;他开发的TypeScript令谷歌也忍不住要用;以及他被盖茨在96年亲自以数百万美元的高薪挖到微软!他是传奇,更是榜样。
- 开源信徒:Anders对开源精神的认同和身体力行让人惊讶,他现在在Github上每天要提交十多次代码,很难想象他来自微软,当然,微软现在其实也在拥抱开源,并且这其中也有Anders的努力。
- Anders在语言设计、开发工具、编译器等诸多领域都有非常深厚的功底,这为他设计出C#语言打下了基础,C#语言被公认为设计非常优秀的语言,作为它的创造者,Anders毫无疑问是一位语言设计的大师。
- …此处省略若干字。
Anders 对于JS和TS的趋势看法:
Anders本人这么认为:
我愿意努力推出好的编程语言,使每一个程序员更富有效率地工作。如果一个语言已经是让编程员非常有效率了,再进一步改进它的机会就不多了。我认为JavaScript代表了一种趋势,而且现在有很多人在用它,它以后也会变成企业级的编程语言,但它中间同时又有那么多的问题,所以我们就想一定要把这个问题解决好,让它变成一个更好的编程语言。
我们添加了很多的东西,使TypeScript能更好的支持大型应用的开发,我觉得这个过程非常有意思。
TypeScript不追求替代JavaScript,没有计划直接运行在浏览器、系统里,它仅仅关注在编译到JavaScript之前的事情,编译之后的事情,诸如JavaScript性能调优等等,并不关心。
TypeScript最大的目的是让程序员更具创造性,提高生产力,它将极大的增强JavaScript编写应用的开发和调试环节,让JavaScript能够方便用于编写大型应用,进行多人协作。
TS的一些优点:
两大特性:
- 给JavaScript加上可选的类型系统,很多事情是只有静态类型才能做的,给JavaScript加上静态类型后,就能将调试从运行期提前到编码期,诸如类型检查、越界检查这样的功能才能真正发挥作用。TypeScript的开发体验远远超过以往纯JavaScript的开发体验,无需运行程序即可修复潜在bug。
- 另一个特性是支持未来的ES 6甚至ES 7,最近的更新都与此有关。在TypeScript中,你可以直接使用ES 6的最新特性,在编译时它会自动编译到ES 3或ES 5。
优点细节浏览:
- TS是一个应用程序级的JavaScript开发语言。
- TS是JavaScript的超集,可以编译成纯JavaScript。
- TS跨浏览器、跨操作系统、跨主机,开源。
- TS始于JS,终于JS。遵循JavaScript的语法和语义,方便了无数的JavaScript开发者。
- TS可以重用现有的JavaScript代码,调用流行的JavaScript库。
- TS可以编译成简洁、简单的JavaScript代码,在任意浏览器、Node.js或任何兼容ES3的环境上运行。
- TypeScript比JavaScript更具开发效率,包括:静态类型检查、基于符号的导航、语句自动完成、代码重构等。
- TS提供了类、模块和接口,更易于构建组件。
说了这么多,无非就是想问一下,你的选择:YES or NO?
如果是Yes,请继续学习以下目录,否则,抱歉地给您返回一个return。
- 《TS开篇:尝点新鲜和甜头》
- 《TS开发手册》
- 《TS语言开发规范》
下面是一些学习TS的一些网站:
TS官网: http://www.typescriptlang.org/
TS源码: https://github.com/Microsoft/TypeScript
MSDN的TS板块: http://blogs.msdn.com/b/typescript/
StackOverFlow的TS板块: http://stackoverflow.com/questions/tagged/typescript
CodeProject上的TS博客: http://www.codeproject.com/search.aspx?q=typescript&x=0&y=0&sbo=kw
TS中文资料最全的地方: http://www.cnblogs.com/farb/category/753431.html