微信号:infoqchina

介绍:有内容的技术社区媒体

JVM语言Xtend优缺点速览

2014-08-20 19:44 InfoQ

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 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 屌丝码农该怎么过周末 MYSQL TUTORIALS 信息安全,你我为什么(bu)选择北上广深? PHP手册中,你不知道的那些秘密 第一章 : Android Studio 介绍 (A)