neputa note

07.はじめてスマホアプリを作ってみた(保守フェーズ)

初稿:

更新:

- 9 min read -

img of 07.はじめてスマホアプリを作ってみた(保守フェーズ)

記事の概要

こちらの一覧の7つ目、「保守フェーズ(公開から現在まで)」の記事。

  1. 検討フェーズ(どんなアプリを作るか)
  2. 要件フェーズ(どんな要件のアプリにするか)
  3. 調査フェーズ(どんな技術を使うか)
  4. 設計フェーズ(どうやって作るか)
  5. 開発フェーズ(実際に作りはじめる)
  6. 公開フェーズ(アプリを公開する)
  7. 保守フェーズ(公開から現在まで)【今回】

ダイジェストで読みたい方はこちらの記事を。

アラフォー初心者だけどスマホアプリを開発~リリースまでがんばってみた【Android・Xamarin.Forms】

あらすじ この度、素人ながらスマホアプリ開発に挑戦してみた。今回の記事では概要と経緯について書き綴ってみたい。実際に行った作業の詳細は、全7回に分けた記事を別途作成

インストールはこちらから。

Google Play で手に入れよう

はじめてのスマホアプリ開発 保守フェーズ

前回は、アプリをGooglePlayでリリースする工程をまとめた。

今回は、リリース後に見つけたバグや追加したい機能などをどのように管理し、実装しているかについて書いてみたい。

個人開発だから自分が把握できる方法であれば何でもよいとは思う。

こういうやり方してる人もいるんだ、という感じに温かい目で読んでもらえるとありがたい。

作業で使用しているツール

an image of tools
Photo by:Todd Quackenbush in Unsplash

まずは使用しているツールについてを書いていく。

現在の作業環境を図に書き出してみ。

work environment
作業環境図

図中の各ツールをどのような目的で使用しているかを次にまとめる。

Visual Studio と Git

開発ツールは「Visual Studio Community」を使用。

Visual Studio 2022 コミュニティ エディション – 最新の無料バージョンをダウンロードする

Windows、Android、および iOS 用の最新の開発者アプリを作成するための、無料で完全に機能した拡張可能な IDE をお試しください。 コミュニティを今すぐ無料でダウンロードします。

ソース管理ツールの「Git」を操作する機能が統合されているため、作業時に起動するのはVisual Studioとブラウザのみ。

Azure DevOps

わたしの場合、記憶力に自信がないため1つ1つの作業を経緯を含めて記録しておく。後から見た際「なんのこっちゃ」となることが多いのだ。

この作業を記録するためにAzure DevOpsが大いに役立っている。

Azure DevOps Services | Microsoft Azure

Azure DevOps Services (以前の Visual Studio Team Services) を利用して、よりスマートに計画を立て、より効率的に共同作業を行い、より迅速に出荷しましょう。アジャイル ツールや CI/CD などを利用できます。

最初の5ユーザまでなら無料で利用できる。

Azure DevOpsで主に使用している機能は以下。

  • Boards
    • 「Basic」「Agile」「Scrum」の3種類から管理方法を選択し、プロジェクト管理を行うことができる
    • 個人開発だが、分かりやすい情報が多かった「Scrum」を選択し使っている
  • Repos
    • これはリモートリポジトリ(実質Github)
    • Visual Studioからpushしたコミットをここで管理する
  • Wiki
    • アプリの仕様をここにまとめている
  • Pipeline
  • ビルドやデプロイを自動化するツール
  • 現在は「App Center」を使っているため未使用

この他、「Test」という機能がある。有償プランでフルに利用できるようになる。

チーム開発であれば、Reposでテスト用のブランチを切り、Pipelineでビルド&検証環境へリリース、Testでテスターが作業みたいな流れを実現できるのだと思われる。

App Center

Azure DevOpsで管理しているリポジトリを参照し、ビルド&リリースを自動化できるツール。ブラウザから使用する。

Visual Studio App Center | Microsoft Azure

Visual Studio App Center でアプリケーション ライフサイクルを自動化することで、iOS、Android、Windows、macOS 向けの高品質のアプリをより迅速に作成できます。

毎月のビルド数などに制限があるが無償で利用可能。

接続IDなどシークレット情報を管理し、ビルド時に差し込んでくれる機能などがある。

Azure DevOpsのReposにコミットを行い、App Centerが更新を検知して自動でビルド、Google Play Consoleへリリースするように設定している。

Google Play Console

Google Playの公開情報をここで管理する。

アップデートをApp Centerでリリースしたあと、審査中の間にここで多言語用のリリースノートを書いたりしている。

ダウンロード状況などを分析してくれる機能もあるが、ユーザも多くないため利用する機会はない。

Google Cloud Platform

App CenterからGoogle Play ConsoleへリリースできるようにAPI Serviceを提供してくれるプラットフォーム。

Azure

ユーザ認証の機能を提供してくれる「Azure AD B2C」、サーバDBとして利用しているドキュメントDB「CosmosDB」を使用している。

Azure Active Directory B2C とは

Azure Active Directory B2C を使用して、アプリケーションで外部 ID をサポートする方法について説明します (Facebook、Google、その他の ID プロバイダーでのソーシャル サインアップを含む)。

AWSの方が情報もユーザも多いとは思うが、.NET開発者向けの情報やライブラリが充実しているため、いまのところ不自由なく利用できている。

作業の流れ

an image of a work flow
Photo by:Campaign Creators in Unsplash

続いて、ここまで書いたツールをどのような手順で使用しているかについて書いていく。

  1. Azure DevOpsのBoardsに、Bug・Product Backlog Itemを登録する(随時)
  2. 優先度を整理し、次回リリース対象をBoardsのSprintsに登録する
  3. Visual Studioで開発を行う
  4. 作業内容をBoardsに記録する
  5. 開発完了後、ローカルGitから、Azure DevOps ReposにPushする
  6. Reposでmainブランチに開発ブランチをマージする
  7. mainブランチの更新をApp Centerが検知し、Build → Distributeが行われる(自動)
  8. App Centerから配布されたaabをGoogle Play Consoleが受け取りリリースが行われる(自動)
  9. BoardsにCommit IDを記録しStatusをDoneにする
  10. 一連の作業が完了

work flow
作業フロー図

現在は、こんな感じで作業を繰り返しアプリのアップデートを行っている。

初回リリースをするまで、開発とこれらの環境構築を併せて行っていたため大変だった。

今はコーディングにもっとも時間を費やすことができる環境となっている。

まとめ

ざっとではあるが、作業環境についてまとめてみた。

すべて我流のため、使い方がおかしかったりするものもあると思う。

わからない部分や、もっといい使い方がある、いいツールがあるよーなど指摘いただけるとうれしいかぎり。

10年以上前、かつて知っていた開発環境とは大きく変わり、今では便利なツールがたくさんあることに驚くとともに、ツールを作ってくれた方々に感謝しながら使わせていただいている。

いずれ費用を捻出できるぐらいになったら、有償のさまざまな機能も使ってみたいと夢見ている。

ここまで、初心者がはじめてスマホアプリを開発し、リリースするまでを7回に分けで書いてきた。

独学で実践し偏ったものかもしれないが、どなたかのお役に少しでもなればうれしい。

プログラミングはほんっとうに楽しい。

どうぞよき開発ライフを!

長文にお付合いいただき感謝!

はじめてスマホアプリを作ってみた 記事一覧

  1. 検討フェーズ(どんなアプリを作るか)
  2. 要件フェーズ(どんな要件のアプリにするか)
  3. 調査フェーズ(どんな技術を使うか)
  4. 設計フェーズ(どうやって作るか)
  5. 開発フェーズ(実際に作りはじめる)
  6. 公開フェーズ(アプリを公開する)
  7. 保守フェーズ(公開から現在まで)【今回】

目次