40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

GitHub Viewerを作ろうかと妄想中

今つくっているアプリ以外にも、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を使ってソースコードのシンタックスハイライトは出来そうだけど、タグタッチをした時に該当行に飛ぶっていう処理をどうやって実装すればいいんだろう。。