近況としてのAndroid
数週間前よりAndroidを書き始めました。その昔まだAndroidの端末が世にない2008年ごろに他に先駆けて実機をつくろうという、東京工科大の田胡先生という学究の徒によるものとは思えないほどテカテカした狙いを感じるプロジェクト、工科大ケータイAndroid版なるものにちょっとだけ関わった時にアプリを書きました。しかしiPhoneが既に出ていて普段使いを続けた結果、よく訓練されたアップル信者になってしまったためにこれまでずっとAndroidは嫌いでもなかったけど食いはしてませんでした。
そんな中、縁あってAndroidアプリ開発にフルタイム参加することとなったのでiOS8/Swiftをちょっとお休みして速習にてAndroidの常識的なところや技術内容および実際のプログラミングについて根を詰めて取り組んでました。うん、Android意外にイイ。正確にはイイと言うよりも、そもそもスマホが細かな機種の違いやバージョンやOSの違いなど、どうでもよくなってきていると言えるかも。デザインメソドロジーがiOS 7:フラットデザインに対してAndroid 5:マテリアルデザインと似たようなミニマルかつポップなトレンドとなり、ハードウェア性能はそれなりに閾値を超えて反応遅くてストレスが与えらるというようなこともなくなってきたために、一年前ぐらいに出たモノと最新機種との間に価格差以上の違いを感じなくなってきている。よってiPhone5s、iPhone6、Nexus 5、Nexus 6は予算に応じてどれでもいいかなとなるような予感。実際iPhone6は信者なのにスルーしたし。
そんなこともあって、先述のとおりサイバーマンデーのバーゲンでNexus 5を買いました。おまけにバーゲンにはなってませんでしたが、Android WearのMOTO360もバンドが良くなった最新バージョンが購入を考え始めた翌日に発売されるという運命により衝動買い。
ニュージャージーのAmazon倉庫からすぐ届くはずだったNexus 5がまだ届かず、上海から週末まで届かないはずだったMOTO360が先に届いたので写真のとおりに先に脇役の開封の儀を行いました。電源いれてみて初めて知ったのはAndroid Wearは母艦となるAndroidが無いと単なる時間を表示する時計としてだけにも使えないので、残念ながらそっとしまい直し、ジリジリした気持ちで待ってます。いっしょにnanoSIM to microSIMのアダプタも頼んだので、現行利用のiPhone5sからSIM抜いてしばらくAndroidユーザーになりますね。
ところでAndroidはJava書いたことあってモバイルOSを何かやったことある人ならスムーズに速習できると思います。開発環境も選んで整えればXCodeのようなバギー感なく快適なのと、iOSとちがって実行デバイス/エミュレータの動作状況も詳細なログにて全部見れるうえソースコードが公開されているので何かと捗る。ツール選択肢がいくつかあるので、それぞれ試す中でJava8 + Eclipse Luna + 後入れADTプラグイン + Genymotionという組み合わせが品質高く素速い動きで、快適になりました。Android StudioがトレンドかのようなWEB記事も多く見ましたがJava8で動かなかったのと、ADTコミコミEclipseは本体のバージョンが相当古くAndroid SDKをアップデートすると動かなくなるという罠があったので、素のEclipse Lunaベースでやるのが一番だと現時点では思ってます。
デバッグ環境として一番いいのは実機をつかうことのようですがまだ届かないのでエミュレータでやってます。しかしAndroidのSDKと一緒に配られている開発用エミュレータがとてつもなく重く、10分待ってても立ち上がらなかったり、そのままコケたりすることがよくあります。HAXMというIntelのアクセラレータソフトを入れるといくらか改善されますが、それでも遅いと思う。だからこそVirtualBoxへAndroid OSをインストール&管理をしてくれるツールのGenymotionがベンチャーとして出てきたのでしょうね。爆速で動くかつ面白いのでこれ一択でいいやって感じです。
惜しいのはAndroid Wearのイメージが無いことかな。そのうち出ることを期待してます。Genymotionを用いたデバッグでハマったことについて、たぶん私しかハマらないのだろうしそれも私はクリアしましたが、この余白はそれを書くには狭すぎる。