Titanium Mobileで開発するiPhone/Androidアプリを読んで

北尾雅人著「Titanium Mobileで開発するiPhone/Androidアプリ」を週末に読んできて、今日、読み終わりました。写経しつつ読むことをやりましたが、週末の一日丸一日をかけて、約12日間で読み終わりました。

本を読んでの感想です。

  1. おきまりのHello Worldから始めますが、そのあと、簡単なTwitterクライアントを作って、スクリプトファイルの分割、共通ソースのオブジェクト化、国際化などが出てきます。
  2. 実践的なサンプルアプリは、ユーザ認証やツイート機能、カメラで撮影した画像付きのツイート機能があるTwitterクライアントTinyTweet、食べログAPI、GPS、データベースを使ったアプリTabeNaviで、大変勉強になりました。
  3. ただし、サポートサイトで公開されているサンプルソースが完成版で、途中経過のソースコードがなく、写経、デバッグに苦労しました。本のソースコードでは省略が多かったり、本の先を読んだり、サンプルソース全体を読んでコードを入力しないとアプリが動作しないことがありました。章、節ごとに途中のサンプルソースを公開してよと言いたいです。特に、実行時にレイアウトがおかしなることがあり、コード入力ミスなのかと疑い、時間を食いました。結局、これはTitanuim SDKのバージョンに依存した現象で、レイアウトでwidthを画面幅に設定するなどして解決しました。
  4. データベース操作では、生のsql文を実行していて、Androidに比べ、データベース機能はいまいちだなと思いました。
  5. iOSがターゲットの場合、xib2jsというアプリを使うと、XcodeのInterface Builderで作ったxibファイルからxib2jsでjsファイルを得られると本の付録には書かれていますが、Xcode 4.3ではxibファイルがないようで、それができませんでした。
  6. 付録のモジュールを使う内容は、AdMobの場合ですが、ti.admobフォルダーのコピー先がよく分からず、検証はできませんでした。ただし、AdMobなどの広告をアプリに導入する際は、モジュールが必要かと思いますので、ググる必要があります。
  7. Androidではバックグラウンドで処理を実行するServiceがありますが、それがTitanuim Mobileで利用できるかは、サンプルや簡易リファレンスで出てこなかったので、分かりません。
  8. この本は、API簡易リファレンスがついているので、開発の時は役立ちそうです。

この本ではなく、Titanium MobileでAndroidやiOSアプリを開発することに関しての感想です。

  1. JavaScriptで開発するのは、それが動的言語であるため、コーディングのとき、コードアシストが貧弱で、変数やメソッド、その引数のサジェストがあまりなかったり、全くなかったりして、コーディングミスすると、アプリ実行時でないと分からないです。
  2. アプリの動作がTitanium SDKのバージョンに依存するところがあります。
  3. GUIと処理との分離がされていないため、アプリ実行時でないと、アプリのレイアウトがわからないという欠点があります。
  4. Web APIを利用する場合、取得データがJSONのときは、JavaScriptとの相性がいいため、開発しやすさはあります。
  5. Titanuium Mobileで開発するとき、ターゲットがAndroidの場合、GUIの見かけが貧弱です。本の付録には、JSSを使ったレイアウトの記述がありますが、Androidの場合、それで改善されるかわかりません。

したがって、全体的に考えると、JavaやObjective-Cで開発するのに比べ、開発が楽とは言いがたいです。ただし、同じコードで、AndroidとiOS両方に対応したいときはTitanium Mobileで開発するのもいいかもしれません。

Titanium Mobileアプリ開発での国際化の際の注意

Titanium Mobileで開発するiPhone/Androidアプリ 北尾雅人著を読んでいますが、アプリの国際化のところでハマりました。strings.xmlファイルを作り、jsファイルで、国際化する文字列を、L(‘keyword’)で置き換えたのですが、アプリを実行すると、国際化した文字列がなくなり、表示されませんでした。プロジェクトを一旦クリーンしてから、再ビルドして、実行すると、文字列が表示され、ちゃんと国際化されました。これはAndroidでの話で、iPhoneではどうかは確認していません。

アプリ開発本を買いました

アプリ開発本を買いました。

  1. iOSプログラミング入門 Objective-C + Xcode 4で学ぶ、iOSアプリ開発の基礎 大津真著
  2. Titanium Mobileで開発するiPhone/Androidアプリ 北尾雅人著

を買いました。

先日、iOSアプリ開発の本として、よくわかるiPhoneアプリ開発の教科書【iOS 5&Xcode 4.2対応版】森巧尚著を読んだのですが、Objective-Cの説明が少ししかなくて、多分、本格的にアプリを開発するにはダメだろうと思い、1番目の本を買いました。3年くらい前にObjective-CやiPhoneアプリの基礎的な勉強はやったことがあるのですが、多分、あれから仕様が変わっているかと思い、新しい本にしました。この本の「はじめに」で、C言語の知識を想定するとありますが、勉強したことがあり、また、ポインタも理解しているので多分大丈夫でしょう。

また、Titanium Mobileに関しては、Titanium Mobile iPhone/Androidアプリ開発入門 小澤 栄一著をやはり読んだ後なんですが、その本では扱われているサンプルが限られていて、本格的にアプリを開発するには、APIの説明にもページをさいている2番目の本がいいと思い買いました。2番目本は、Amazonで低評価をつけているレビューもありますが、先日、Titanium Mobile iPhone/Androidアプリ開発入門を読んであるので、多分大丈夫でしょう。

ブログを始めました

ブログを始めました。
Androidアプリの開発を3年ほどやっていて、最近、Titanium MobileとiOSアプリの開発の勉強を始めました。
アプリの開発についてや、世の中のこと、テレビ番組、映画など、いろいろなことを書いていきたいと思います。