背景
我々SinkCapitalはデータコンサルタントとしてデータの「収集・蓄積・分析・出力」をご提案させていただいていますが、 収集においてweb領域への傾きが大きくアプリ領域(Firebase)への知見が少ない自覚がありました。 そのため今回知見蓄積を目的として社内でアプリ開発を実施いたしました。
開発したアプリ
タスククロス


「タスククロス」は様々な[優先タスク]に追われる日常の煩わしさを、
緊急度・重要度の2軸でまとめることで解決します。
「タスククロス」は以下のようなシーンでご利用いただけます
・仕事で一日のやることを決める
・プライベートでやりたいことをメモする
・いつかやりたいをためておく
・不必要なタスクを棚卸する
タスク管理のもう一歩先へ
アプリの設計
デザインパターン
アプリのデザインパターンは調べるといくつかあったのですが、 1個目ということもあり基本的にMVCパターンで作成しています。 軸線や散布図を別ファイルにして複数のcontrollerから読み取れるようにしています。 また設定に関わる箇所やTODOリストの内容もmodelとして別で分け、 全ての場所から最新のデータを読み込めるような状態としています。
ファイル構造
.
├── Podfile
├── Podfile.lock
├── Pods
├── README.md
├── codesigndoc_exports
├── mtx_todo
├── mtx_todo.xcodeproj
├── mtx_todo.xcworkspace
├── mtx_todoTests
└── mtx_todoUITests
mtx_todo
の中身
.
.....
├── AppDelegate.swift
├── controller
│ ├── AddController.swift
│ ├── AxisNameViewController.swift
│ ├── AxisWeightViewController.swift
│ ├── SettingsTableViewController.swift
│ ├── StaticViewController.swift
│ ├── ThemeColorViewController.swift
│ └── ViewController.swift
├── model
│ ├── Axis.swift
│ ├── ColorPalette.swift
│ └── TodoList.swift
└── view
├── ArrowView.swift
├── Base.lproj
│ └── Main.storyboard
├── ScatterView.swift
└── ja.lproj
└── Main.strings
firebase実装方法
基本的には 公式ドキュメント に沿っていけば実装可能で、 コードでいうと以下コードを追加するだけで実装ができました。
.....
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
// Initialize Google Mobile Ads SDK, application IDを設定 ★←追記
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
.....
感想
swift自体は雰囲気がつかめれば割と書きやすい印象でした。
特にstory board側で見た目の部分を吸収してくれてるのがめちゃくちゃありがたい。。。
型指定が厳しいのも慣れてくると逆にバグ防止につながるのでとても良かったです。
structとclassの使い分けがイマイチまだわかってないので、
今後はそこを勉強していきたいと思いました。
当初の目的だったfirebase側の実装でいうと、
「iOS バンドル ID」などiOS特有の名称がいくつか出てきますが、
そこさえクリアすればかなり簡単に導入ができました。
今後は取れたデータを利用した改善活動などを行なっていきたいと思っています。
SinkCapitalではデータに関する支援を行っています
弊社はスペシャリスト人材が多く在籍するデータ組織です。 データ分析や分析基盤の設計などでお困りの方がいらっしゃれば、 まずは無料で、こちらから各分野のスペシャリストに直接相談出来ます。






















































