2015年7月8日水曜日

iOSアプリの企画から設計まで

Swiftの基本的な書き方を学んだので、ここからはアプリを作成しながら必要な技術を学んでいこうと思います。

どんなアプリを作成するか??
まずはサーバを必要としない、アプリ内で完結するシンプルな作りにします。

スマフォのアプリ開発は小規模な場合が多いです。
企画〜設計〜実装〜リリースまで1人でこなせて1人前ですね。
自分の作品が出来上がるのを楽しみに、頑張るぞ。

まずは計画を立ててみました。
これでざっくり全体像を把握することができます。


◆アプリ名(仮)
いいこと日記

◆サービス概要
いいことだけを書く日記アプリ

◆アプリの狙い
  • 毎日の良くないことより、良かったことだけに目を向けて記録したい。
    =ポジティブシンキング!
  • 寝る前に良いことを考えて、体をリラックスさせてよく眠りたい。
  • 気持よく何度でも読み返したくなる日記にしたい。
  • たまには友達に良いことをシェアして、友達とも共感したい。
  • 無理せず自分のタイミングやペースで日記をつけたい。

◆類似アプリとの差別化
  • 日々のいいことだけに焦点を当てる。
  • 明るく軽いイメージのデザイン。(オシャレカフェ風)
  • キラっと輝く演出を入れる。
  • 文字数を制限することで簡易的な日記にする。
  • 1日に何件も書けるようにして、いいことの書き漏れなし。


進め方

  • 機能を考える
  • データ設計
  • 画面設計
  • 実装計画


1. 機能を考える

  • 日記が書ける
  • 日記を見返せる
  • 日記をシェアできる
  • 日記のプライバシーを守る
上記をもっと細かく考えていく...


◆日記が書ける
  • 1日何回でもその日あったいいことを書ける。
  • 最大文字数はTwitterと同じく140文字。気軽に書けるように。
  • あとから日記の編集・削除ができる。
  • 画像を1枚ずつ設定できる。多すぎても見ないし重くなるからベストショットを。
  • 設定する画像サイズはそのままで。
  • 毎日決まった時間に通知できるようにする。デフォルトOFF。

◆日記を見返せる
  • 日記を一覧から参照できる。
  • 日記の編集や削除ができる。
  • 日記一覧をパラパラ流し見できるようにする。
  • 日記一覧は月ごとにまとめる。見たい日記を探しやすくするため。
  • 一覧から画像を見えるようにする。その方が華やかだし楽しそうだから。
  • 一覧から内容も見えるようにする。

◆日記をシェアできる
  • 日記の参照画面からTwitter・FBに投稿できるようにする。画像も。

◆日記のセキュリティ
  • パスコードを設定できるようにする。スリープ復帰時も。
  • バックグラウンドにある場合はダミー画像を表示。


2. データ設計

Diary
  • article: String
  • photo: String
  • happened_at: Date
  • updated_at: Date

Setting
  • notification: Bool
  • write_time: Date
  • pass_lock: Bool


3. 画面設計

まずは必要な画面と機能を書き出す。
  • 日記一覧画面:Top
    (日記一覧、日記追加ボタン)
  • 日記編集画面:一覧から遷移
    (日付設定、テキスト編集、画像設定、保存ボタン)
  • 日記参照画面:一覧から遷移
    (編集ボタン、削除ボタン、Tweetボタン、FBボタン)
  • 設定画面:一覧から遷移
    (通知設定、パスコード設定)
  • パスコード入力画面:Topにモーダル
    (パスコード入力)
次に上記を踏まえて、ノートに画面をデザインする。


4. 実装計画

  • 日記一覧画面を作成
    日記一覧をダミーデータで作成(TableView)
    日記追加ボタンの設置(Button)
  • 日記編集画面を作成
    一覧の追加ボタンから画面遷移(Segue)
    日付設定(Button, DatePicker)
    テキスト編集(TextView)
    画像設定(Image, ImagePicker)
    保存処理(CoreDataに保存)
    編集キャンセル確認処理の実装(AlertView)
  • 日記一覧画面に保存したデータを表示(CoreDataから読み出し)
  • 日記参照画面を作成
    日記編集画面を参照モードにできるように修正(Segue)
    各部品を参照モード対応(Button, TextView, ImageView)
    編集ボタンの設置と実装(Button, Segue)
    削除ボタンの設置と実装(Button, AlertView)
    Tweetボタンの設置と実装(Button, Twitter)
    FBボタンの設置と実装(Button, Facebook)
  • 設定画面を作成
    各部品配置(Switch, TimePicker)
    設定値を保存(NSUserDefaults)
    通知設定(LocalPushNotification)
  • パスコード入力画面を作成
    TouchID認証
  • その他
    スプラッシュ画面
    アプリのアイコン
    バックグラウンドにある場合のダミー画像表示
    データの暗号化
    保存データが増えた場合の挙動
    端末容量オーバー時の挙動
    オフライン時の挙動
    キラっとした演出の追加
    デザインのブラッシュアップ
    バックグラウンドやアプリを落とした時などの挙動
    テストコード

次回から実装していくぞ。

0 件のコメント:

コメントを投稿