ここ最近ちまちまとXcodeでiPhoneアプリを作っていたのですが、どうにもモチベーションがあがらずですね。
なんとはなしに RubyMotion 買って サンプルコード 眺めてふむふむと。
ドキュメントに目を通すまでもなく、なにか1つちょろアプリをペロッと作れそうな気がしたので、前から欲しいのあったんだよねとシコシコと右手と左手を動かしてみたところ数時間で地味に便利なものができあがりまして、どうせならAppStoreに申請してしまおうと、体裁整えて、バグをつぶして、アイコン作って、最初使い方わからずまごまごしそうなのでガイドラインページ作って、どうせならGithubページにホストしようとちまちま調べて、Githubページではjekyllというブログエンジンが使えるらしいぞとjekyllをインスコして、ページを作って、AppStoreにはCode Signが不正だと何度も弾かれて、何時間使ったのかなぁ(遠い目
アイコン作成はもう少し楽にできそうな気がしました。原因はツールの不備ですよね。
サイズと色とグラデーションが指定できて、図形と画像とテキストを載せることだけができる画像編集ソフトがあれば格段に楽になるのですが、どこかにありませぬか。。
ブラシとかぼかしとかよくわかりませぬ。なくてもグラデーション機能がそれなりの精度であれば無問題!
jekyll はなかなかに素敵なブログエンジンでして、例えばHPの制作会社様でしたら、運用をお客様におまかせする案件には不向きですけども、自社で運用までアウトソーシングで受ける場合でしたらWordpressよりも小回りも効いて提案力的にも運用工数的にもどちらにもプラスになるんじゃないかと思った次第です。
以上前置きw
アプリ(ClipTo)の概要
私のiPhoneはその大部分の時間をRSSリーダとして使われておりまして、RSSをふむふむと読んでいるとたまに気になる未知のワードがでてくるわけです。
当然その場合にはググリたくなるのですが、それが微妙に手間。
iPhone自体検索が弱くてもとまかさんのブログを拝見していてもこのようなエントリが投下されてますね。
iPhoneのSpotlightをアプリランチャにしつつWeb検索を簡単に行う方法 - もとまか日記
で、NotificationCenterからSafariを立ちあげて、クリップボードの内容でGoogle検索してくれるアプリを作りました。
それだけだと寂しかったのでSend to Email機能もつけました。Send To EmailができればだいたいのWebサービスと連携できますし。
詳細はまたリリースできましたら書こうかなと思います。
アイコンはこんな感じw
RubyMotionの利点
Xcodeからの解放!
これにつきます。Objective-Cのアレなところを埋める利点として配列やDictionaryをRuby風に書けるとか、[]を書かなくていいとか、ViewControllerをnewで生成できるとかありますけど、Xcodeからの解放に比べればかすむ、かすむ。私がRubyistではないというのもあるとは思いますけど。
Rubyに関しては昔ちょろっとしたsinatraを書いたことがある程度なのですが、その時の印象としてはどうにも、随所に漂うPerlテイストが気にいらない、という印象でした。
男前でも頭が良くてもお金持ちでも、ズボンにシャツをインしていたら生理的にイヤなのワタシ。女子力高いの。
話を戻してXcodeですけども、バージョン4で大きく改善 (Appleさんありがとう!) されたとはいえ、起動は遅いわもっさりしてるわでお気に入りの SublimeText2 と比べると雲泥の差、月とスッポンで、Xcodeを立ち上げるのがイヤでイヤでマシンの前でモジモジモジモジしている間に陽が暮れてさらには登ってきていたのは私の欠陥ではなくXcodeの欠陥だったのだ、とまたひとつ自分の殻を破ることができました(なんじゃそら)。
なにが言いたいかというと、プログラマに限らずモノ作るニンゲンにとってそのためのツールというのはモチベーションに大きく関わってくるものだ、いう考えが私にはあるということと、Rubymotinoの利点であるXcodeからの解放は、結局は理屈ではなく感情・好みの話だということ。
なので、Xcodeでもりもりと開発できている方には RubyMotion は必要のないツールです。
そしてXcodeに嫌悪感を抱いている方にRubyMotionの利点を理屈で表現するとするならば
- 好きなエディタを使える
- (Objective-Cから解放されることで)コードの記述量が減る(上述の Ruby like な配列・ディクショナリ、newメソッド、あとはHeaderファイル不要)
の2点でしょうか。
あと派生的な効果として、Ruby界隈に片足を踏み込むきっかけとしていいかな、と。最近GithubのFeedを興味深く眺めているのですが、new repository や Starred のRuby率が尋常ではなく高いのです。まつもとゆきひろさんもRubyの魅力はコミュニティにある的なことを言っていたような言っていなかったような。
RubyMotion 周りでも多くのライブラリがGithubにあがってまして、今回は素のRubyMotionで実装しましたが、ViewをStyleSheet風に記述できるという RubyMotion / teacup あたりなど次回から取り入れていこうかな、と。
あ、今回も利用させていただきましたが、SublimeText2 使いであれば SublimeText2 上でRubyMotionのbuild/deployができて入力補完してくれる haraken3 / SublimeRubyMotionBuilder は必須のPluginです、はい。
最後に
そんなこんなで本日( 2012/9/26 )、RubyMotionもくもく会 に参加させていただきます。
こうするともっと楽に書けるよ、とかそんな話する機会はあるのかな。
ClipToのソースコードはこちらで公開しています。