TitaniumMobile勉強記

Web系エンジニア向けのキャリアアドバイザーやってましたが現在はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連(Node.js、Titanium)あたり

TitaniumMobileで作成したあすなろBLOGアプリ現在申請中

f:id:h5y1m141:20120612072953p:plain

2010年の12月にTitanium Mobileでアプリ開発をはじめると書いてから気づいたら1年半。

これまでの道のりがとっても長かった。。でもおかげ様でやっと申請する所までたどり着いたのであと本当にもうちょっとというところまで来ました。

あすなろBLOGも今月末で更新自体が終了して、年内にサーバを落とすというスケジュールなので、この状況でリリースするのはどうかと思ったけど、せっかく作りかけてたものだし、ひとまずリリースしちゃうことにしました

これまでの振り返りを少し

最初に掲げていた通り、あすなろブログをオフラインでも読めて、かつ、執筆者ごとに記事が読める機能は実現は出来てますが色々反省点があるので3つほど挙げておきます

UIについて

本音としては、こんな感じ↓でブロガー選択すると、右側からにょいーんとエントリ一覧が出てくる今風(というかPathをパクったものっw)なUIで実装したかった
527582_460246517322536_100000115762750_1898344_1725031251_n

WebViewとTableViewの表示の切替の実装方法が良くないからだと思うのですが、何度か画面遷移してるうちに、画面描画が乱れるのでひとまずオーソドックスな形のもので仕上げてみました。

リモートのJSONとローカルのJSONの同期

あと、一番最初に書いたエントリでも

iPhone側でローカルに格納する記事と、最新記事とどのように同期するのが最適なんだろうと疑問に感じました。

と触れました。サーバ側に格納してあるエントリ情報は

http://asunaroblog.info/entry/{ブロガーさんのuserid}/date/older/{unixtime}

という感じのURLにアクセスすることで取得して、JSONDBというTitaniumのモジュールを使ってiPhone側で保存できるようにしてますが、サーバ側とローカル側の差分の更新を綺麗にやる方法が思いつかずに、なんとなくやっつけてきな感じで実装してる感じがしてなんかモヤモヤした状態になってます。

こういうビューワー的なアプリのサンプルソースだったり、なんとなくだけど、Windowsのデスクトップアプリケーションとかのアプリのソースが参考になるのかなーとこれを書きながら思いました。

画像が含まれたTi.UI.TableViewRowがある場合のパフォーマンス

見出しそのままですが、画像が含まれたTi.UI.TableViewRowがある場合に、実機転送して動作チェックするとスムーズにスクロールしないことがありました。
これについては元はてな/GREEのnaoyaさんが以前TitaniumMeetupでLTされた時にHow to optimize TableView for Titanium Mobileというスライドでお話されてたので、ソースいじればいいんだろうけど、後々不具合があった場合のことを考えてソースはいじらずに、代わりに画像(というかアイコン)を含めないUIに変更することで乗り切ることにしました。

今後

TitaniumMobile含めて色々やりたいことが多くなってきてどれから手を付けるか悩んでる状態だけど、今後も何か創っていこうかと思ってます

  • 今回作ったアプリをそのままRubyMotionで実装し直して、RubyMotionの可能性を探っておく
  • GitHubViewerをTitanium Mobileで作る
  • これまで会った人や会いたい人の管理をするためのWebアプリ
  • masuidriveさんがこんな↓ことをつぶやいていたスキル交換サイト的なもの