私の個人アプリを作る流れを全部見せます その2:技術調査編
前回の記事で作るものは「Pixel Art Pocket - ドット絵ポケット」というドット絵エディターに決まりました。 今回は、それが実際に作れるかどうかを確かめていきます。
以下が、今回のアプリに必要そうな機能です。
- エディター
- 絵の保存
- 一覧表示
- SNSへのシェア
- 色の選択
- Undo/Redo
- アニメーションGIF
それぞれ自分に実装できそうか確認していきます。
1. エディター → ◎
タップした位置にドットを描画し、完成した絵を画像にする機能です。
拙著 15章の図形描画(15.1)や画像作成(15.5)の応用で実装できそうです。 UIはタップした座標を使って処理(17.1)するか、UIButton(12.1)を並べればなんとかなると思います。
2. 絵の保存 → ◎
作成したドット絵のデータを保存する機能です。
各ドットの色情報を構造体に配列で持っておき、Codable(9.11)でテキストに変換し、テキストファイルとして保存(18.1)すればよいでしょう。
3. 一覧表示 → ◎
今まで保存したデータを一覧表示する機能です。
テーブルビュー(11.7、13.8)を使えば簡単です。エディター画面との画面遷移にはナビゲーションコントローラー(13.6)を使うことにします。
4. SNSへのシェア → ◎
ドット絵をSNSにシェアする機能です。
これはUIActivityViewController
(13.14)に画像を渡すだけでよさそうです。
5. 色の選択 → ◯
エディターをタップした時にどの色でドットを描くか、ユーザーが選択する機能です。
iOSには色を選択する標準部品はありません。
GitHubでios color picker
と検索するとたくさん出てきました。この中のどれかしらのライブラリを使うことで実現できそうです。
検索結果:https://github.com/search?q=ios+color+picker
6. Undo/Redo → △
操作の取り消し・やり直しをすることができる機能です。
UndoManagerというクラスがありますが、残念ながら「Swift 4プログラミング入門 iOS 11+Xcode 9対応」には載っていません。 ドキュメントで使い方を調べながらの作業になりそうです。
7. アニメーションGIF → △
作成したドット絵を組み合わせてアニメーションGIFを作る機能です。
これも拙著には載っておらず、[iOS][swift] アニメーションGIFを作る \| Developers.IOなど参考情報を見ながらの実装になります。
作れそうか?
ここまで調べて、私は「作れそう」だと判断しました。
ただ、慣れないものを2つ以上詰め込むと失敗する可能性が高くなってしまうので、アニメーションGIFの作成機能は初期リリースから外そうと思います。
Undo/Redoはないと使い物になりませんが、アニメーションGIFはあれば面白いという機能なので、リリース後にニーズがあるようならバージョンアップで追加することにします。
さて、思いついたアプリが実現可能なことがわかってきました。 次回は画面構成を考えて、やることを細かくTODOリスト化します。