読者です 読者をやめる 読者になる 読者になる

TitaniumMobile勉強記

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

GitHub Viewerを作ろうかと妄想中

Titanium Mobile

今つくっているアプリ以外にも、GoogleReaderとかGitHubリーダーのようなものを今後作りたいと考えているので、そちらへの応用
http://d.hatena.ne.jp/h5y1m141/20110310/p1:title=

と書いたように、元々GitHubにあるソースコードを手軽に読めるアプリが欲しかったのと、http://d.hatena.ne.jp/hamhei/20111224/1324734053:title=というエントリにも刺激を受けて、Titanium MobileでGitHub Viewerを作ろうかと年末年始の空き時間使ってちょっと妄想してたので、自分の考えをちょっとまとめておこうかと思います

おおまかな処理の流れ

スクリーンショット 2012-01-04 9.07.40

↑こんな感じで、自分がフォローしているユーザ名+リポジトリが表示されるメイン画面を準備。詳細ボタンをタッチしたら以下のような感じで処理が実行されることを考えてます

  1. 自分で用意したサーバを経由してGitHub上のソースをダウンロード&ctagsでタグ生成
  2. pyctagsというctagsのPython wrapperを使いつつTitaniumMobile上で処理しやすい形式のJSONを生成
  3. タグ一覧画面を表示
  4. タグをタッチすると該当するソースコードが表示される(もちろんシンタックスハイライトされた状態で)

難しそうな所

  • GitHub上のソースダウンロード&ctags生成っていう部分の処理時間がけっこうかかりそう。(うまくキャッシュするようなやり方考えないと明らかにダメそう)
  • Titanium.UI.WebView+google-code-prettifyを使ってソースコードのシンタックスハイライトは出来そうだけど、タグタッチをした時に該当行に飛ぶっていう処理をどうやって実装すればいいんだろう。。