JavaScript过去一直被当作一种玩具语言存在,直到2005年以后,这门语言又开始活跃并可以说是火爆,而且随着浏览器版本的不断升级和完善,各种DOM之间的兼容性已经渐渐的被各种技术解决了,比如经典的jQuery,JavaScript版本也在快速发展和完善。现如今,Web世界越来越让人摸不着边际,JSON、AJAX、HTML5、Sliverlight、Node.js、PhoneGap几乎都可以见到JavaScript忙碌的身影。不过渐渐的有经验的用户会发现JavaScript语言本身的局限性导致在开发大型应用的吃力,因为它本来就不是用来开发大型语言的。Google公司创造了一种全新的使得JavaScript可以应用于大型开发的语言名为Dart,它可以编译为JavaScript,因此也可以用来构建大中型的Web项目。其实JavaScript本身也是可以定义类或者是完成继承的,不过由于它属于动态语言,没有一种类似Python和IronRuby语言的功能,它也不具备类似于C#或VB那样基于面向对象的编程模型,一切都过于动态化,比如不支持强制类型、接口、直接命名空间等功能。
微软公司的技术大牛,也满腔热情的创建了TypeScript。作为JavaScript的超集,它可以支持静态类型、类、接口、模块以及很多.NET开发人员熟悉的特性和规范。微软通过TypeScript希望提供一种让JavaScript具有开发大型应用程序的能力。
更重要的是,微软提供了一套可以用来容易扩展、调试和修改的应用程序,其实究其核心来说,我们可以这样来认识TypeScript: 它就是JavaScript,因此运行在JavaScript上的库,比如jQuery、MooTools、Prototype都可以在TypeScript上良好运行。 JavaScript也可以看作是TypeScript,你可以将任何有效的.js文件重命名为TypeScript的.ts文件,然后使用TypeScript的编译器来编译。
TypeScript借用了Harmony规范,当Harmony批准后,TypeScript编译器就可以使用新的语言元素,并且允许新的Harmony兼容的引擎来解析TypeScript为纯JavaScript代码。
TypeScript编译器本身是一个JavaScript文件(通过TypeScript编译器最终编译成JavaScript文件),因此它可以在浏览器中运行,在任何主机或任何操作系统上运行,并不需要特定的VM并且也不会开发这样的VM。
注意:WisOne IDE也正是借用了这个特性,它在Web上整合了TypeScript编译器,使得我们可以在Web上编译TypeScript代码,以便在编译时就可以发现语法的错误。有兴趣的朋友也可以进去了解一下:http://www.wisone.com/ide
TypeScript是一个基于Apache 2.0的开源的项目,遵循owf A 1.0协议,这意味着可以随意使用和分发。
在Web开发世界,Dart和CoffeeScript都可以让开发大型的Web应用成为可能,微软也挤进来整出一个TypeScript,那这门语言究竟可以做什么,它是如何工作的,重要的是它不能做什么,这些有了解,就可以试着来进入TypeScript的世界了。从核心上来说,TypeScript由3个部分组成: 1,TypeScript编译器:本身就是用TypeScript写的,这个编译器可以将TypeScript语言编译成常用的JavaScript,编译出来的代码兼容ECMAScript V3版,或者是通过编译器切换支持V5版。 2, TypeScript语言服务层:TLS是一个Visual Studio插件,它提供了智能提示、强制类型安全和Visual Studio中的几个特性。 3, 声明性文件:TLS使用了声明性的文件来提供类型、函数调用和变量声明智能提示,这其中包含了第三方的库比如jQuery、Prototype以及MooTools等等。
不要将TypeScript看作是一门新的语言,它只是为了提升JavaScript代码质量的一个工具,最终TypeScript仍然要编译成JavaScript,所以你也可以使用所有的为JavaScript准备的工具,Microsoft建议使用在Visual Studio中编译TypeScript以提供智能提示或语法增强的功能,但这不是限制,使用普通的文本编辑器都可以用来编写TypeScript。
TypeScript相关的文章目录:
玩转TypeScript(1) --定义简单的类 玩转TypeScript(2) --简单TypeScript类型
玩转TypeScript(3) --数组 玩转TypeScript(4) --类型转换 玩转TypeScript(5)--环境声明 玩转TypeScript(6) --函数 玩转TypeScript(7) --函数的参数 玩转TypeScript(8) --函数的重载 玩转TypeScript(9) --类 玩转TypeScript(10) --属性和字段 玩转TypeScript(11) --类方法 玩转TypeScript(12) --访问修饰符 玩转TypeScript(13) --实例化类 玩转TypeScript(14) --静态类和成员 玩转TypeScript(15) --对象常量与匿名类型 玩转TypeScript(16) --接口 玩转TypeScript(17) --接口的合并 玩转TypeScript(18) --模块
|
请发表评论