はじめに
今回、初めてApp storeにオリジナルアプリを公開することができました。
アプリ開発未経験からiOSアプリ公開までの振り返りを記事にしたいと思います。
背景
私は、現在ネットワーク運用監視の仕事をしています。ちょうど1年前に福祉職からIT業界に未経験で転職しました。
今の仕事でプログラミングに関わることは少ないですが、せっかくIT業界に入ったからには自分で形に残るものを作りたいと思い独学でプログラミングの学習を始めました。
iOSアプリ開発までの経緯
きっかけ
デザイナーをしている友人とプログラミング勉強してるなら何かアプリ作ろうよと言われたことが始まりです。ただ学習しているだけでは、なかなか成長が実感できなかったため、技術不足でもとにかく形にしてみようと思いアプリ開発を始めました。
ブラウザベースのアプリを作る
2022年9月〜Recursionというプログラミング学習コンテンツの中級編まで行い、
初めはhtml/css/javascriptで簡単なブラウザベースのアプリケーションを作ってみました。
↓喋れない時に代わりに喋ってくれるアプリケーション
今、話せません※「話す」ボタンを押すと音が出るので注意
スマホアプリ開発方法を模索
その後ここで紹介するアプリ、「うんオジ」を作るにあたってローカルにデータを保存する必要があることなどを考え、スマホアプリの作り方を調べました。
初めはReactNativeで作ろうとしていたのですが、情報も多くなく、アニメーションを実装するのが困難だったため挫折しました。
Swiftの学習を始める
ReactNativeはクロスプラットフォームで作れることも魅力でしたが、自身が長年Apple製品を使っていることもあり、iOSアプリを開発するためSwiftの学習に切り替えました。
その後独学での学習に限界を感じていたため、2023年1月〜MENTAに登録しました。
アプリ紹介
うんオジ
シンプルで簡単排便管理アプリ
コンセプト
このアプリを作ろうと思ったのは、0歳児の娘の便秘がきっかけです。
何日も出ないことが多かったのですが、「あれ?いつから出てないっけ?」ということが頻繁にありました。
既にApp Storeに排便管理アプリは山のようにあって、高機能で使いやすいものもたくさんあったのですが、私は性格がマメじゃないので、毎回しっかり記録するというのが苦手でした。なので手軽に記録できて、いつからうんちが出ていないかだけがすぐ分かるシンプルなアプリをコンセプトに、このうんオジを作りました。
アプリ概要
ホーム画面の紐を引っ張ると、水が流れるアニメーションとともに、ウンチをした日がカレンダーに記録されます。
流した時のスッキリ感を大きくしたいと思い、経過時間でイラストが変化するようにしました。
最初は可愛い赤ちゃんうんちですが、1日出ていないとなんかウザいおじさんうんちになるので、流した時にちょっとスッキリするはずです!笑
子どもの排便管理アプリとして作りましたが、私のようにマメに管理するのが苦手でうんちが出ていない期間が大体わかればいいという人にも使っていただけたら嬉しいです。
使用したライブラリ
・lottie-ios
アニメーションを表示させるライブラリ
・Realm
データをローカルに保存するためのデータベースライブラリ
・FScalendar
カレンダーUIライブラリ
こだわったこと
かなりシンプルな構成なので、UIや使いやすさにはこだわって作りました。
時間経過によって変化するうんちのイラストも、最初はフリーのイラストやココナラで描いてもらうことを検討していたのですが、なかなか自分のイメージに近い適当なものが見つりませんでした。なのでAffinity Designer2の iPad版を使って自分で描きました。
上手なイラストは描けませんが、今回のアプリのイメージからも下手でゆるいイラストが良かったので、イメージに近いものができたと思います。また、Lottieアニメーションも使って、記録するのが少しでも楽しくなるようにしました。
苦労した点
自身のQiitaの記事であげたのですが、
UIPanGestureの移動を一定の位置でしっかり止まるようにする
カレンダーに枠線をつける
などの細かい調整に1番苦労しました。
また、実機に入れてシュミレートしてみると、アプリの使い方によってイラスト表示が変化しなかったり、日付が変わってもカレンダーの日付が昨日のままだったりと、
実際に使ってみることで様々な不具合に気づき、その対応に苦労しました。メンターさんから画面の更新のタイミングや方法についてアドバイスをもらいながら、実際の使用感をイメージして改善していきました。
終わりに
とてもシンプルなアプリではありますが、実務経験のない私にとって、実際にアプリを一つの形にできたことは非常に大きかったです。
分からないことが多すぎて
分からない→調べる→試す→相談する
の繰り返しでしたが、形にできたことの喜びは大きかったです。
今後は、iOSエンジニアへの転職を目指して
ポートフォリオアプリを作っていきたいと思います。
次はAPI通信を使ったオリジナルアプリ制作を検討中です。
ここまで読んでくださり、ありがとうございました。