[前編] 初めてスマホアプリ開発PMを担当する方向けのTIPS集
非エンジニアからPMになった自分の立場からお伝えできる事、きっと役に立つであろう事を実体験をベースに発信しています。
WEBアプリの開発経験はあるが、初めてスマホアプリ開発を任されたプロジェクトマネージャー/プロジェクトリーダー/ディレクター職の方に参考になれば幸いです。
今回のテーマ
今回はWeb系のアプリ開発、システム開発経験はあるけどスマホアプリは未経験の方に向けた内容です。
自身の経験から、WEB案件には無いこういう特徴があった、知っておいた方が良いと思う事を紹介します。
前後編に分けた記事になりまして、前編では「証明書」というものと「UI」に関する内容になります。
私のこれまでの開発PM経験
まず私自身がスマホアプリのプロジェクトを担当する前に経験していた事です。ガラケーが登場した頃から開発系の進行管理をしていたので、ざっくりこんなプロジェクトを経験をしました。
スマートフォンに関わる前
ガラケー向けのゲームアプリ、ゲームやデジタルコンテンツを配信するモバイルサイトの開発
PCブラウザ向けFlashゲームアプリの開発
Windows向けゲームソフトの開発
上記サービスに伴う、管理用WEBアプリの開発
2016年頃から身の回りでスマートフォン向けのいわゆるネイティブアプリの開発のお仕事が増えたので、そこからいよいよスマホアプリに関わっていく事になりました。
スマートデバイス向けの開発
iOS/Android向けIoTアプリの開発
tvOS/AndroidTV/FireTV向け動画視聴アプリの開発
その他…チャットアプリ、SNSアプリなど
(スマホアプリ1発目がメガネとBluetooth接続するIoT系のアプリだったのは、今おもえばいきなり難易度:HARDから始まった感・・)
1. 証明書の存在
スマホ案件に関わって個人的に一番理解に苦労したのがこの辺りでした。
初スマホアプリ案件の時、有識者に聞いたりウェブで調べても???でした笑
厳密な話をし始めるとざっくり理解して欲しい主旨から外れるので、端折るところは端折って説明します!
まずはじめに
Web案件でよく出てくるのはSSL証明書がありますが、ここで説明する証明書はそれとはまた異なるものになります。
証明書とは?
…そのアプリの開発者(または開発会社)である事を証明するためのファイルを指す。以下図の黄色い部分が該当
iOSとAndroidで準備の方法から何から何まで異なるため、分けて説明します。
Appleの場合
iOSのアプリ開発者になる為に、Apple Developer Program(以下、ADP)に契約する必要がある ※有料です!
契約後、アプリの識別子、アプリ名、開発者情報などを登録するWebコンソールが提供される
アプリの情報登録をすると証明書ファイルの生成ができ、開発マシンとなるMacにインストールすればOK
Androidの場合
無料で開発者になれる(Google Playに公開するためのWebコンソールにアクセスするならGoogleアカウントが必要)
証明書はAndroid Studio(Googleが提供する開発用のエディター)側で開発者情報を登録すれば作成できる
Appleは制約が多いため、そちらに寄せて説明しますが、企業の名義でアプリを開発・リリースする場合は、以下の手順が必要です。
法人としてADPに契約をする(契約済みならスキップ)
D-U-N-Sナンバーという物が事前に必要です
ADPに契約しているAppleIDの情報を共有してもらうか、自分のAppleIDをADPに招待してもらう
開発するアプリの情報を登録をする
証明書を開発マシンにインストールする
ざっとこんな感じです。
AppleIDは企業レベルのアカウントになるので、2、3は責任者で管理するのが望ましいです。iOSエンジニアは証明書ファイルだけあれば開発作業はできるため、特段理由がなければ証明書を書き出して共有だけしましょう!
デバイス登録
開発したアプリはどのスマートフォンでも自由にインストール〜起動できると勝手に思ってた事がありますが、Appleはそうはいきません。。
先ほどあげた図にも描いていますが開発者用のWebコンソール上で、インストールを許可するiPhone端末のID(UDIDというユニークな識別子)を登録して、プロビジョニングプロファイルという証明書の1つを作成しないとならないのです。
iOSアプリの開発には.p12ファイル以外にプロビジョニングプロファイルも必要のため、検証に使うiPhoneのUDIDを事前に登録した上でプロビジョニングプロファイルを作成〜エンジニアに渡す、のは覚えておいてください!
※Androidはこういう概念はないのでこのパートはApple特有のものです
クライアントワークでアプリ開発する際の注意点
この場合、アプリサービスの事業者の名義でアプリがリリースされるわけなので、証明書も事業者側で準備してもらわないとなりません。
私の場合、以下をそれぞれのタイミングで確認する様にしています。
ADPは契約しているか?
未契約の場合、契約を進めてもらう
D-U-N-Sナンバーの取得など、諸々の手続きに時間はかかるので早めに動いてもらう
開発環境用の証明書は提供してもらえるか?
不可能 or 可能だが時間が掛かる場合は弊社のADPで作成する
検証環境用の証明書は提供してもらえるか?
これも弊社ADPで作成は可能だが、デバイス登録は1契約に対して100台までしか登録できない為、各社の検証端末数によっては対応できないケースがある
申請用の証明書はいつ頃提供してもらえるか?
ここは事業者側の対応がマストなので代用不可
各環境毎のBundleID(AndroidだとPackage Name)を決めて欲しい
サイトでいうドメインにあたり、アプリ毎の固有IDを検討してもらう
例)jp.futurize.chat.dev の様にリバースドメインの形式で決める
Androidはほとんど制約がないので触れませんでしたが、GooglePlayに申請する時のアプリには事業者側で作成した証明書(.keystore)を組み込んでおく必要があります。
2. UIパーツの呼称
この部分をこうしたい、あの部分の見た目変更できる?となるよりは、パーツの呼び方がわかっているとコミュニケーションがスムーズなため基本部分だけですが紹介します。
① スプラッシュスクリーン
… 起動時に表示されるサービスロゴなど表示する画面です。静止画の表現が多いですが、Netflixなどロゴアニメを表示しているケースもありますね。
② ステータスバー
… 電波やバッテリーのアイコンが表示されるエリアです。
③ ナビゲーションバー
… 画面タイトルや戻るボタンなどを表示させるパーツです。ステータスバーとくっついて見えるが別物です。ヘッダーと言いたくなりますよね。
④ タブバー
… メインメニューを並べる時に設置するパーツです。これはフッターと呼びたくなりますね。
以下はiOSが標準で持っている機能になりますが、既に用意されているUIを要所で活用したり、自前でUIを作りこんだりします。
AndroidでもOSが持っているダイアログはありますが、細かいところで用意されているUIはiOS、Androidとで異なるため「標準UIで対応しよう」となってもAndroid側は自前で作り込まないといけないシーンがあります。
こういったOS毎の差もあるので、完全にUIを統一させるなら自前でUI構築をする、それがマストでなければOS毎のUIを活用して工数を抑えて部分的に見た目の差が生まれるのを許容する、この辺りの観点も持っておくとよいですね。
まとめ
以上、スマホアプリ開発における「証明書」と「UI」に関する内容でした。
後編では計画作りや仕様詰め、テストの前にこれだけは知っておくと助かるであろう事を紹介しようと思います!
〜クリエイションで世界の「面白い」を増やす〜
株式会社Futurizeはプロダクト開発スタジオです。
Web2系のサービス開発から、「ブロックチェーン」や「AI」を用いた開発に取り組んでいます。
一緒に働く仲間も順次募集しているため、ご興味あればXアカウント(@tamametal666)や弊社HPまでお気軽にご連絡ください!