Xtend:Android平台的Swift语言

Xtend是一种基于Java的新语言,适用于Android开发。它支持lambdas和其他现代特性,简化了编程并提高了效率。虽然需要额外编译步骤,但它提供了一种更简洁的语法,并且在Eclipse中有良好的支持。

6月份的苹果开发者大会推出了iOS平台的新编程语言Swift,用以替换陈旧的Objective-C。

尽管Google也善于创建新的语言如Go,Dart,但似乎对于Android平台并未计划有专门的语言推出。

理论上基于JVM的语言都可以被用于Android,但实际上由于Android的底层虚拟机不是标准的,

所以除Java之外的一些语言Clojure, Scala, Groovy 都需要额外多一次转换,从而引入性能弊端。

除了一个特别轻巧的语言:Xtend

你可以把Xtend理解为CoffeeScript for Java 或者 Java 10(即Java的未来版本)。

Xtend看起来像Groovy,但是它被编译为Java代码而不是字节码。

Xtend是多范式的,支持lambdas(匿名函数、匿名内部类),函数是一级对象,具有类型推断,可选分号,运算符重载,等其他特征。

Xtend中的lambda看起来像下面这样:

button.onClickListener = [ clickedView |
    Toast.make(context, "Hello world!", Toast.LENGTH_LONG).show()
]

这将生成如下Java代码:

final View.OnClickListener _function = new View.OnClickListener() {
    @Override
    public void onClick(final View clickedView) {
        Toast.make(context, "Hello world!", Toast.LENGTH_LONG).show();
    }
};
button.setOnClickListener(_function);

更多Xtend的语法,请访问其Eclipse项目官网。

Xtend语法很简洁漂亮,带来这些好处的另一面,是需要额外的一步编译,可能需要花费几秒时间来首先把它编译为Java代码。

另外在IDE的支持上(如IntelliJ IDEA )还比较薄弱,当然如果你使用Eclipse就没这个问题。

总之,这是一个值得尝试和学习的新型的、快乐编程的语言。


by iefreer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值