BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JVM语言Xtend优缺点速览

| 作者 马德奎 关注 0 他的粉丝 发布于 2014年8月20日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Xtend是Eclipse推出的一门静态类型的编程语言,它会编译成易于理解的Java代码。Xtend源于Java并对它做了许多改进。它对于Java就像CoffeeScript对于JavaScript:代码更简洁,可以帮助开发人员减少样板代码。此外,Xtend还提供了一个基于Eclipse的IDE,并且实现了与Eclipse Java开发工具的紧密集成。

近日,Java开发和软件架构网站jaxenter.com发表了一篇文章,探讨Xtend的优缺点。

本文认为,可以实现与Java的零问题互操作是Xtend最值得夸耀的一点。这一点是其它JVM语言,像Scala、Clojure和Groovy,都缺乏的。Xtend能做到这点,是因为它有与Java相似的类型系统,因此在Java和Xtend代码之间就不会出现任何“阻抗失配(impedance mismatch)”。本质上讲,这意味着Java代码和Xtend代码可以互相调用。更重要的是,熟悉Java类型系统的人学习Xtend会很简单。

其次,它是一门更简洁的语言,可以帮助开发人员减少样板代码。下面是《Xtend用户指南》中的一个示例:

@Property String name

对于上面这行代码,Xtend编译器会生成一个String类型的_name字段,并生成相应的getter和setter方法。

此外,Xtend允许开发人员使用lambda表达式。它会将lambda表达式编译成匿名内部类。这非常适合需要点击监听功能的Android开发人员。而且,自2011年出现在Eclipse版本序列中之后,它已经证明,对于Android开发人员而言,它是一门方便的语言。有一位评论员甚至将它称为Android的Swift。Xtend联合创始人Efftinge表示,“用Xtend编写的Android应用程序和用Java编写的一样快,但可读性更强”。

但是,Xtend现在还很不完善,其中一个最大的缺点是不支持IntelliJ IDEA。还有一个问题是,构建APK时需要额外的编译步骤,这使得一个Android应用程序需要大约20秒才能编译完整个项目。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

20秒额外编译时间倒不是问题 by Zhefu Zhou

想当初用GWT的时候,十几个permutation下来编译要几分钟呢。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT