1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Build in Public を始めます #1|iPadでHTTPリクエスト送信アプリを開発中

Posted at

導入

初めまして。B_tanuki(びーたぬき) と申します。
普段は Elixirプログラマーをやっています。
業務でアプリ開発に関わっていますが、余力があるときはプライベートでも個人開発をしています。

今回は個人のプロジェクトとして開発中アプリを使って「Build in Public」に挑戦しようと思います。

少し実装が進んだ状態からになりますが、まずは Build in Publicを知った経緯と挑戦してみようと思った理由からお話しします。

Build in Publicを知った経緯

きっかけは、Youtube でした。

最近AIツールを使った個人開発に関する動画をよく見ているのですが、その中で「Build in Public」という考え方について知りました。

この単語の意味は「作りながら発信する」というスタイルのことです。

Build in Publicをすることによるメリットを簡単に説明すると以下のようになります。

  1. 開発の進捗や、成果をリアルタイムに共有することでマーケティングにつながる
  2. 似た状況の個人開発者や、興味関心がある人からフィードバックを得られる
  3. 自分自身を売り込むことにもつながる

詳細については省きますので、気になる方は検索してみてください。

やろうと思った理由

今回 Build in Public を始めようと思った理由は、将来的なこと視野に入れた活動をしてみたいからです。

Build in Public をすることで得られるメリットの内、下記のものが魅力的に感じました。

  • 自分の考えを言語化できるようになる

今の所「考え方の言語化」については勉強中で、仕事しながら場数を踏んで成長させていきたいと思ってます。

ではプライベートで何かしているのかと言われたら特にやっていません。
何かしないといけないなと思い、浮かんだのがYoutubeで見たBuild in Publicをやってみようでした。

ネットで調べても国内ではあまり事例が見つからなかったので、ここは自分自身で実践してみて、Build in Public のメリットをどこまで享受できるのか確かめてみたいと思います。

プロジェクト概要

開発しているアプリは「Sendkit」と言います。

どんなアプリというと、一言で表すなら「HTTPリクエストを送ってレスポンスを確認できる開発支援ツール」です。

主な機能としては次のものがあります:

  • リクエストの送信
  • レスポンスの確認
  • リクエストの保存

既存のツールに Postman というツールがあり、「最低限必要になる機能は何か」として参考にしています。

アプリの目玉機能としては、「使いやすいUI」を目指しており、詳しくは後述の項目で語らせていただこうと思います。

開発するきっかけ

個人開発でアプリを作ろうとしたときに、まず直面したのが「アイデアが浮かばない」という問題でした。
Youtubeで調べてみると、アイデア出しのヒントとして「自分の課題を解決する」「ニッチな需要を満たす」という2点が紹介されていて、なるほどと思いました。

自分の場合の課題は、「iPadを開発作業に使用したい」というものでした。
MacBookで作業をしているときは、iPadは実機の動作テストをするかSlackを表示するかしか使用していませんでした。
そこで「iPadでも開発ツールが使えたらMacBookとiPadの二刀流で作業効率を上げられるのではないか」と考えました。

具体的な機能方針を決定するときに実用性を最優先しました。
ちょうど業務でもプライベートの開発でもAPIを実装する機会が増えていたので、HTTPリクエストを送ってレスポンスを確認できるアプリを開発することで、自分の課題を解決できるし、Webアプリ開発をしている人にも役立つだろうと考えました。

こうして「Sendkit」というプロジェクトが生まれました。

開発環境と技術スタック

開発環境

開発に使っている端末:

  • MacBook - 開発に使用
  • iPad - 実機検証に使用

IDE:

  • Cursor - ペアプログラミングと仮置きUIの生成に活用
  • Xcode - ビルドに使用

開発補助:

  • ChatGPT - アイデア出しに活用しています
  • Genspark - 将来的なにLTをする場合に備え検討中

アプリの開発は、UIではなく処理の実装から入りました。仮置きの画面をCursorに生成してもらうことで効率的に進められています。

技術スタック

メインフレームワーク:

  • ElixirDesktop - WebView形式でモバイルアプリを構築可能

言語

  • Elixir - 基本の画面と処理はこちらで実装
  • Swift - ネイティブ側の機能呼び出しに記述が必須

Elixirのコミュニティは活発なので、情報共有やフィードバックを得られやすい点が魅力的です。

ターゲットユーザー層

Sendkitの主なターゲットは「iPadをもっと開発に活用したいと考えている開発者」です。

ターゲットに発生しうる課題として下記のものを想定しています:

  • エディターやブラウザで画面が埋まってしまい、PCの表示領域に余裕がない
  • iPadが実機テスト専用で、もったいないと感じている
  • モニターの追加は手間だし、机のスペースが限られる
  • 出先なのでPCが開けない(iPad程度なら持ち運べる)

SendKitはiPadをサブの開発ツールを利用する端末として活用でき、ユーザーの抱える課題を解消できる手段になると考えています。

現在の進捗と課題

現在の進捗としては、アプリの全体的な完成度はまだ低いものの、「HTTPリクエストを送信しリクエストを取得する」という機能の第一段階まで実装できました。

次の作業としては、レスポンスの表示を含めたUIの作成になります。
参考程度ですが、現在の画面は下記のスクリーンショットのものになっています。

UIは現在、AIに仮置きしてもらったままで、これから本格的に作り込んでいく予定です。

「iPadを開発作業に使用したい」という課題を解決するためには、
iPad上の操作において、どれだけユーザーフレンドリーなUIであるかが求められます。

方針としては、下記のポイントを重視して実装を進めていきたいと考えています:

  • タッチ操作とキーボード(Magic Keyboard等)の両方で使いやすいかどうか
  • 画面の煩雑さをできるだけ排除して、リクエストとレスポンスの内容に集中できるかどうか
  • 保存したリクエストに一発で辿り着くことができるかどうか
  • 継続的に使用してもらえるような、愛着を持ってもらえるかどうか
  • 横向きと縦向きで異なるレイアウトにするべきかどうか

UIに関してはベストプラクティスや、既存のアプリのレイアウトを参照にしつつ、最適なデザインを探りたいと思います。

今後の予定

今後の予定としては、進捗で触れた通りUIにまだ着手できていない状態なので、ここから本格的に作り込んでいく予定です。

UIがお見せできる形になったら、進捗報告としてQiitaやX(Twitter)などに投稿し、「iPad上で使いやすいUIとは何か」について共有しながらフィードバックを頂ければなと思います。

また今後はBuild in Publicの概念に則り、進捗や知識の共有に加えて、私が苦手としている自己アピールにも挑戦しようと思います。

まとめ & 呼びかけ

今回は、個人開発中のアプリ「SendKit」についてのBuild in Publicの最初の記事になりました。
プロジェクトの概要から、今後の方針までを伝えられたと思います。

全体的に文字が多めの記事になりましたが、少しでも私の意気込みが伝わっていれば嬉しいです。
開発中のアプリの画面については、今後の記事で共有していきたいと思います。

続けていくことが大事だと思いますので、まずはアプリの開発とBuild in Publicを続けていきたいと思います。

読んでいただき、ありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?