IssueHub – GitHub の Issues に特化した iOS/Android 用モバイルアプリ

IssueHub というモバイルアプリのソースコードGitHub で公開した。

github.com

IssueHub は、GitHub の Issues に特化したクライアントアプリ。 競合するのは CodeHub や GitHub 公式のモバイルアプリ(まだベータ版)辺りかな。 Issues 特化と Todo アプリっぽく操作できるのをコンセプトにし、差別化を試みている。

iOSAndroid の両方に対応。 ただし、App Store と Play Store で公開はしていない。

GitHub で無料ユーザーでもプライベートリポジトリが無制限に作れるようになってから、 Bitbucket にあった個人開発用のリポジトリを全部 GitHub に移行したけど、 GitHub のイシューを管理するちょうど良いアプリがなかった。 CodeHub は高機能過ぎてイシューを管理するだけにしてはオーバーキルなのと、 プライベートリポジトリはアプリ内課金しないと扱えなかったので、試したもののすぐに使うのを断念。 Bitbucket のときは自作の Bitissues という、これまた Bitbucket の Issues に特化したアプリを使っていて、 同じようなものが GitHub にも欲しいと思い、Bitissues 作ったときのノウハウがあるので作ることにした。 開発には Xamarin.Forms を採用。 技術的な話は長くなるので、別に記事を書こうと思う。

ソースコードを公開した理由は、GitHub 公式のモバイルアプリが出るから。 iOS 版がリリースできるくらいになって、Apple Developer の登録料を捻出するべきかどうしようかと迷っているタイミングで、 GitHub 公式モバイルアプリのニュースが飛び込んできて、そこでモチベーションが萎えてしまった。 毎年 Apple Developer の登録料を払うのは財布的に厳しいし、マネタイズもまぁ無理だろう。 この手の開発者向けアプリは、広告を貼ってもクリックされない。 GitHub のクライアントアプリなので、有料アプリとして売るのも気が引ける。 有料だったらみんな公式モバイルアプリの方を使うでしょ。 ユーザーは自分だけかもしれない。 ならば GitHubソースコードを公開して自分のポートフォリオに加えてしまえ、 という結論に至った。

ビルド手順は README に詳しく書くが、簡単に説明するなら次のようになる。

  1. GitHub の Developer settings の OAuth apps に登録し、Client ID と Client Secret を入手する。
    • リダイレクト URL は issuehub://oauth2redirect
  2. IssueHub のソースコードをクローンし、Visual Studio 2019 または Visual Studio for Mac で IssueHub.sln を開く。
  3. IssueHub.csproj があるディレクトリに下記の secrets.json を作成し、ビルドして実機にデプロイ。
{
    "GitHubClientId": "{Your GitHub Client Id HERE}",
    "GitHubClientSecret": "{Your GitHub Client Secret HERE}",
    "GitHubAuthorizationCallbackUrl": "issuehub://oauth2redirect",
     "AndroidDataScheme": "issuehub",
      "AndroidDataPath": "/oauth2redirect"
}

Xamarin 製アプリを実機にデプロイするのは、自分でも新規にプロジェクトを作成すると毎回つまずく。 使うまでの道のりは険しい。 マネタイズできそうなアプリを他に作ることができて、 Apple Developer の登録料を払ったら、 IssueHub もついでに登録する、かもしれない。