BGMはお好みで 開発編

Java, Groovy, Scalaあたりを頑張るブログです

Androidプログラミングにつかれたので、Android + Xtendプログラミングで遊ぶ

気がついたら、Webから離れて、Androidでガリガリプログラミングするようになっていました

Androidの開発は基本的にはJava 6(のような何か)です。いくつかアプリを作ったのですが、やってみた印象としてはWebプログラミングと比べると制約が多いです。同じ感覚でプログラミングすると、Android(Dalvik)の鬼のようなメモリ節約術により簡単にぬるぽで落ちますw 

Javaってこんなめんどくさい言語だったっけ?」

RubyとかPythonとかScalaとかGroovyとかが恋しくなってきました。もうちょっとさくさくプログラミングしたいです。Clickイベントとかクロージャーっぽく書きたいです。ラムダ式ほしいです。型推論もほしいです(´;ω;`)

一応Scalaは使えるのですが、Android SDKがScalaを前提に書かれているわけではないし、調べると色々問題もあるようなので諦めました

そんな中、Xtend 2.4がAndroid対応していたようなので、試してみました

XtendはEclipse製のJava互換言語です。ラムダ式や型推論、拡張メソッドをサポートしつつ、コンパイルするとJavaコードを出力くれるのでAndroidでも安心です^^;

 

最初にEclipseに以下のプラグインをEclipse Market Placeからインストール

インストールが終わったらファイル→新規→その他 から MavenMavenプロジェクトを選択、アーキタイプは xtend-android-archetype を選びます

f:id:digitaljunky:20130906000751p:plain

これで、プロジェクトのひな形が完成です

ターゲットが古くエラーになっている場合はプロジェクトプロパティから修正します

f:id:digitaljunky:20130906002203p:plain

あと、何故かJ2SE-1.5でコンパイルしようとするので、そこをpom.xmlを修正

bulidタグ内のpluginsタグに以下を追加

<plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-compiler-plugin</artifactId>

  <version>2.3.2</version>

  <configuration>

    <source>1.6</source>

    <target>1.6</target>

  </configuration>

</plugin>

 あとはプロジェクトを右クリック→Maven→プロジェクトの更新でなんとかなるはず

 

試しに作ってみたのをgithubに上げました

https://github.com/digitaljunky-jp/xtend-basecam