今更ながら
この記事を書いた年にちゃんとリリースまでこぎつけていたけど
その後に参画したお仕事の事情でまったく記事更新できなかった...。
開発しつつ、細かいメモ記事的なのをアップしていく予定。 とは一体...
一人開発だけどCI構築して、fastlaneとかBitriseとかfabricとか使ったり
問い合わせをslackに通知するとかもやってあるけど、リリース以降アップデート出来てないので
あまり有効活用できてない...orz
時が立つのもあっという間でswiftも2から4になってるから
コードをアップデートして通知用の音源とかも追加したいけど、いつ着手できるやら。。。
(リリース1年以上経過しているけど、割とユーザさんに使ってもらってるようなのでアップデートしたい感)
まえがき
初めてのiOSアプリリリースを目標に頑張ることを決めた今ココ。
ので、あとで振り返られるように、進捗や調べて利用したものを
積み上げていこうと思った次第。
開発しつつ、細かいメモ記事的なのをアップしていく予定。
ちなみに、ここ数年は仕事でサーバーサイド(python)をちょこちょこ触ってた。
ちゃんとしたネイティブアプリ開発は初。
swiftについては主に[詳解-Swift-改訂版]を読んで仕様等を勉強した。
開発アプリや実装について
いくつか作ってみたいアプリを妄想してるが、とりあえず最近マイブームになった
マインドフルネスや坐禅のためのサポートアプリ(初期版はタイマーやリマインダー機能ぐらい)の
リリースを目指す感じ。
今までMVC的な実装しか経験がないので、MVVMを学びつつ採用したい。
あと本実装前に自分テンプレートプロジェクトを作って残しておいた。
https://github.com/stlwolf/iosAppBase
また下記の記事をみて、なるほど!と思ったので取り入れてます。
こういう風に自分で拡張していけたらいいなー。
(現時点の)開発環境
- Xcode 7.3.1
- Swift 2.2
ついでにアプリと直接関係ないけど、タスク管理には Wunderlist 使ってる。
前からちょこちょこリマインダーに使ってたけど、改めて実装項目の管理に利用してみてる。
さらに今自宅作業の為、「どうしてもモチベーション的なのが出なくて、開発に取り掛からない」
なんてこともあるんだけど、それを出来るだけ少なくするためにポモドーロ・テクニックというものを使ってる。
タイマーアプリは上記のを使ってるけど、単純なタイマーでも実践可能。
これでタスクを実行する癖が付いてくると1日全く作業しないって状態がなくなってきた。
使用予定ライブラリ(随時)
SwiftBond
データバインディング用のライブラリ。
リアクティブプログラミング(厳密にはこれは違うのかな?)&イベント実装が楽になるとのことだったので、
とにかく使ってみることに。まだ自分がMVCから脱却してないので、
まずはほぼベタ書き対応でコーディングしてるところ。
参考
- Swift Bond 入門(Bond v4, Swift v2) サンプルあり
- [Swift Bondの魅力 〜概念・仕組み編〜] (http://qiita.com/hachinobu/items/2026f157038cae0b9ae6)
- Swift Bondの魅力 〜実用サンプル編〜
- それ、Swift Bondでくっつけちゃおう
SwiftDate
NSDateを使いやすく拡張してくれるライブラリ。
タイマーとかリマインダーとか時間を扱う系のアプリなので、あると便利かもと思っていれてみた。
が、現時点での実装ではまだ使う箇所が出てきてないので、使い始めたら追記しようかと思います。
Chameleon
UIColorを拡張したりしてフラットカラーとかをよしなに追加できるライブラリ。
まだデザインいじる部分にまで行ってないので、細かくは後々に調べようかと。
Eureka
tableViewを使ったformなんかを簡単に作成できるライブラリ。
リファレンス見て試しに実装してみたけど、1点思ってたのと違う所があり、
変更して使うには結構コード読まなきゃいけなさそうだったので、
ちょっと設定画面で使うのは見送りで(涙。あとで簡単な使い方を記事にします。
SwiftyUserDefaults
swiftでのNSUserDefaultsの扱いを楽にしてくれるライブラリ。
ユーザ設定ぐらいのデータはNSUserDefaultsに突っ込んで見ようと思ったので、これ使ってみます。
Realm使うほどでもなさそうなので。
今後の予定
開発を進めつつこの記事に進捗を追記して、細かいトピックスは分けて投稿して生きたい。
- とりあえず現状のバージョン
一通りの機能ができたらリファクタする。
(そんなにコード量も多くならないとは思うのでイケるはず)