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

yo_waka's blog

418 I'm a teapot

OctSurfer という GitHub上 のソースコードを眺めるための iPhone アプリをリリースしました

先月から Objective-C を触り始めて、もっと理解を深めるためにはアプリを作ってみるのが一番早いよなということで、前々から自分が欲しいと思っていた GitHub のビューアーを作ってみました。
おそらくエンジニアとデザイナーさんくらいしか使わないだろうアプリですが、初めての iPhone アプリリリースだぜイエーイ

アプリ名は「OctSurfer」としました。


これは何?

GitHub に公開されているリポジトリソースコードを眺められる iPhone アプリです。
OctSurfer は App Store からインストールできます。無料です。
App Store - OctSurfer


できること

  • 検索 or 自分のスター or 自分が所属する Organizations からリポジトリソースコードをシンタックスハイライト付きで閲覧できます
  • 見ているリポジトリにスターを付けられます
  • 自分のスター画面からスターを削除できます

GitHub 見てる感を出したかったので、ツリービューは本家の挙動となるべく合わせてみました。

注意点としては、GitHub のアカウントを持ってないと使えません><
先月の半ばくらいに突然 GitHub の API の利用制限が始まったため、あわててOAuth2ログイン作りました。
アクセストークンがない API コールは 1 時間 60 回に制限されたようです。アクセストークンがあれば 1 時間 5000 回。


なぜ作ったか

最近は新しいことをやるとき GitHub で検索してコードスニペットを見て参考にすることが増えたし、GitHub で最近勉強してることに近いプロジェクト検索してみたりスター付けてチェックして眺めることも増えました。
でも MobileSafari で GitHub 見るの結構しんどいですよね。。。通勤電車とかだと電波も途切れがちですし。
ちなみにウチの近くの喫茶店はなぜか電波入りません><
かといってダウンロードしたソースコードiPhone に入れてビューアーアプリ入れて見るとかめんどくさすぎる。

GitHub のビューアーアプリはいくつか App Store にあるのですが、探したところリポジトリ内のソースコードを見れるアプリがほとんどなかったんですよね。
2 つくらい見つけたけど機能てんこもりなせいでナビが分かりづらかったり(しかも1つは700円!高すぎワロタ)
GitHub は API 充実してることだし、ソースコードの閲覧をメインのユースケースにしたアプリを自分で作ってしまえと。


iPhone アプリを初めて作ってみた印象

実装的にはいくつか自前の UIView 作ったり、WebView 使って OAuth2 とか国際化とか、API キャッシュとして CoreData 使ったりと、1 通り API を使った iPhone アプリ開発の基本的なところには触れられた気がします。
逆に言うと、これくらいの小さなアプリでも結構コードを書かないといけない。
なので、どうしても作り込まざるを得ない UIViewController 以外は出来るだけ実績のあるライブラリに任せて使っていかないと工数がかさみそう。

ARC + Modern Objective-C は結構書きやすい。昔は冗長だわーと思ってたけどいつの間にか簡潔になったんですね(ただし iOS5 以降に限る)。
あと、XCode の補完が素晴らしい。確かに関数名長いから横長にはなっちゃうけど補完のおかげでタイプする量は少ないしあまり気にならなくなった。
シミュレータの起動も早いし、v4.5 のせいか突然落ちることも無かったです。
AppCode も試してみたい。

そして気になる Waiting for review の期間ですが、土日を除いて 5 営業日でした。土日を入れるとちょうど 1 週間。
In review になってから Ready for sale までは 5 時間くらい。
特に変わった機能使ってるわけでもないのでリジェクトの心配はあまりしてませんでした。


というわけで

UI 考えたり作るのってやっぱり楽しいですね!
自分でも使うし、せっかく出したので、アップデートはしていこうと思っています。
機能を増やすというより、ソースコードビューで定義ジャンプとか行番号出したり使い勝手の改善をしようかなーと思っていますが、もし使ってみてこんな機能が欲しいという方がいたら、右下の「フィードバック」から要望ください!

よかったらぜひぜひ使ってみてください!