2011/08/25

【予告】Corona SDKでiPhone/Androidアプリをリリース(予定)

ここ2ヶ月ほど、Corona SDKでのアプリ開発を試行錯誤しつつも進めており、やっとアプリをAppleに申請中というステータスになりました。
※Androidは審査がないので、いつでもリリース可ですw

そもそもCorona SDKでアプリを出そうと思ったきっかけは、まぁ気に入ったからという一言で片付けてしまってもいいのですが、あえて言うと「UIが自由に作れるということは、同じUIでiPhoneとAndroidアプリがつくれそう」という理由からです。

Corona SDKは一般的には2Dゲームに向いたプラットフォームだと思われています。これには全く以て同意なのですが、アプリの画面(シーン)を管理するDirector Classというライブラリを使った時に「普通のアプリと同じような画面遷移が作れるんだ!」ということは「普通のアプリっぽい画面を作れば、ゲームじゃないアプリも作れるよね」「だったらiPhone/Android共通のUIを作って、ワンソースで両対応のアプリを作ってみたい」となったわけです。
※最近、iPhone/Androidそれぞれの標準UIを見飽きてきた感があったのと、もうそろそろ、デザインによるアプリの差別化が本格化すると思ってます

まずは、タイトルバー、タブ、TableView(ListView)などをオリジナルでデザインしたUIのプロトタイプを作成してみました。
このプロトタイプで手応えを感じたので、リリースを目的とした(そしてCoronaのライセンスを購入する!)アプリ開発に取りかかることにしました。

色々な思惑もあり(カッコつけるとマーケティング的理由により)リリース向けのアプリは、プロトタイプで作ったデザインとは全く別物になりましたが、なかなかに良い出来です。プロトタイプで作ったUIも良いデザインなので、そのうち別のアプリで使おうと思ってます。無駄にはしません キリッ

今は、アップルに「そのまま審査通してくれ〜」と願いつつ、通知を待っています。
※リジェクトされたらされたでノウハウにはなるのですが…

『技術的に可能でもアップル的にはNGということは多くある』
という残念な結果にならないように

結果は後日!

2011/06/09

CoronaSDKでゲームっぽいものを作ってみた

ATNDで募集されていた【CoronaSDK】でスマートフォンアプリを作ろう!(全6回講座・デジハリ渋谷)に参加しました。

タイトルにある通り全6回の講座で、講師は「日本コロナの会」の代表 山本さんがつとめられていて、講座を通してアプリの完成(最後に発表)を目指します。こんな講座が無料とあっては参加するしかないと速攻申し込みをして、全6回を無事終了しました。(講師の山本さん、日本coronaの会の皆様、企画・運営されたHatchupの皆様、ありがとうございました)

以前のエントリにも書いている通り、私はJavaでのAndroidアプリ開発の他、Titanium MobileやAIR for Androidでもアプリ開発経験があり、以前からCoronaの名前は聞いていたものの、さわるのは今回が初めて「見せてもらおうかCoronaの性能とやらを」と興味津々でCoronaSDKの開発にチャレンジした次第です。

どんなものを作ったかは、発表のスライドとアプリの動画をご覧ください。



※Corona Simulatorで実行


スライドにも書いてありますが、CoronaSDK+Luaでの開発はコードが書きやすくて結構楽しかったです。またTitanium Mobileと比較した場合、直接的にかぶっている部分は少なく、使い分け(棲み分け)ができそう。と個人的には思っています。
※アプリによってCorona向き、Titanium向きがあると思います。例えば「ぐぐっと!急上昇ワード」のようなアプリは完全にTitanium向きなアプリです。

今回CoronaSDKで、初めて「ゲームっぽいもの」を作ることができました。ライトなゲームや自由なUIのアプリ開発にとても向いていると思います。

引き続きCoronaSDKをウォッチしていきたいと思います。


追記:上記アプリのStoryboard API版のソースを公開しました

2011/06/01

Titanium MobileでのTiwitter OAuth認証

先日リリースしたiPhone版「ぐぐっと!急上昇ワード」Ver.1.3.0にツイート機能を付けた時のメモ。

ご存じのようにTitaniumはJSです。JSでOAuth認証ってどうやるの?と思ってましたが、いつも参考にさせていただいているTitanium Mobileで作る! iPhone/Androidアプリ「第4回 TitaniumでTwitterクライアント──OAuthを使ったAPI呼び出し」で取り上げられていますので、これを参考にすれば簡単にできるんじゃねぇと思っていたのですが、「エラー」で動きませんでした。

というわけでいつものように頼れるGoogle先生で調べました。

「OAuth認証してツイートしてタイムラインを取得できるiPhoneアプリを10分で」
すげーっす。動画で分かり易い。そして、ライブラリまで作られているそうなので、拝借させていただきました。

mogya / tm_twitter_api
https://github.com/mogya/tm_twitter_api

しかし、エラーが出ます。
さらにググりました。

「Titanium MobileでTwitterOAuth時のエラーと解決方法」
先の動画とこちらのページの解説で理解できました。
OAuth認証で発行された「PINコード」をスクレイピングして自動入力させている処理が、認証画面が変更になったのでエラーになっていたと。(gihyo.jpさんのコードも同じエラーだったようで…)
mogyaさんのtm_twitter_apiもoauth_adapter.jsを使っているので、上記サイトを参考に該当箇所を修正しました。
追記:修正版がコミットされたようです(2011/06/04)

動いた!ヤター

ふぅ、しかし認証画面が変更される度に修正が必要になるかもですねぇ。

実際のアプリでは以下のような感じになります。

ツイート画面に遷移すると、初回に認証が求められます

IDとパスワードを入力して[アプリを認証]ボタンをタップ PINコードが表示されます。数秒後自動で消えます(この時裏で処理してる訳ですね)

認証完了しました 認証したアカウントのアイコンも表示するようにしました

※初回の認証を呼ぶタイミングは実装次第です。アプリの流れ的に今回は画面に遷移した初回のタイミングにしています。
※アイコンの表示は認証とは別処理です。
※iPhoneでしか試していませんのでAndroidでの動作は不明です。

そのうちTwitter以外のサービスでもOAuth認証を試してみたいと思います。


※サンプルコードをお探しの方には下記の書籍をおすすめします