设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

AtScript:又一门编译成JavaScript的语言

2014-10-29 11:33| 发布者: joejoe0332| 查看: 2654| 评论: 0|原作者: 谢丽|来自: infoq

摘要: JavaScript有一个庞大、繁荣的社区,已经成为事实上的浏览器语言。但它缺少一些功能,使它难以应用于大型应用程序的开发。正是由于这个原因,才出现了TypeScript和Dart。近日,AngularJS创建者Misko Hevery和Duranda ...

  JavaScript有一个庞大、繁荣的社区,已经成为事实上的浏览器语言。但它缺少一些功能,使它难以应用于大型应用程序的开发。正是由于这个原因,才出现了TypeScriptDart。近日,AngularJS创建者Misko HeveryDurandalJS创建者Rob Eisenberg联合发布了《AtScript入门(草稿)》。该文指出,AtScript的目标同样是增加JavaScript缺少的功能。它从以下几个方面对JavaScript进行了增强:


  • 类型注解
  • 字段注解
  • 元数据注解
  • 支持注解的类型内省


  该过程遵循如下几项原则:

  • 以ECMAScript 6为基础
  • 向后兼容——ES6/ES5是AtScript的严格子集,上述增强都以不破坏ES6/5的现有语法或语义为前提。对于任何编写过ES6/5代码的开发人员而言,AtScript很容易使用。他们常用的代码不做任何更改就可以用于AtScript。
  • 熟悉的语法——一些符号的意义与其它语言相同。如在AtScript 中,“@”用于指示元数据注解,Java、Dart及其它一些语言也有同样的用法。
  • 语义无关——“语义探讨(semantic discussion)”及断言系统不在AtScript范围内。


  为了开发出更易维护、更易理解的Angular代码,Angular团队一年前开始研发AtScript。目前,他们正基于AtScript语法进行Angular v2的开发。正在进行中的工作包括:Traceur转换编译器和RTTS库。其中,前者是基于traceur构建的AtScript编译器,它能将AtScript代码编译成ES5及Dart代码。


  虽然同为JavaScript的超集,同样都编译成JavaScript,但TypeScript与AtScript相比有以下几点不足:

  • 只能进行静态类型分析
  • 缺少元数据注解
  • 没有提供运行时访问注解的机制


  此外,Dart的开发初衷也是弥补JavaScript的不足。但相比之下,Dart从语义上就与JavaScript完全不同。Dart2JS代码与JavaScript代码互操作性很差,开发人员无法在Dart中使用现有的JavaScript库。


  除了构建Angular外,AtScript的开发目标还包括使Angular用户可以使用AtScript构建他们自己的应用程序。AtScript独立于Angular,也可以用于非Angular项目。后续,Angular团队会考虑将它提交给标准组织。


转自 http://www.infoq.com/cn/news/2014/10/atscript-javascript


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部