Open14
会話のネタ帳アプリの定期報告あらため不定期報告
2週間に1度、会話のネタ帳アプリの進み具合の報告をします。
予定
- 04/04 開発環境調査
- 04/18 チュートリアル、テスト/CI調査
- 05/02 初期アプリケーション作成とCI設定
- 05/16 データ保存方法検討
- 05/30 hivedb調査
- 06/13 話題の一覧・入力をテストなしでざっくり
06/2707/04 話題の一覧・入力のテストを作りながら仕上げ、人の一覧・入力をざっくり07/1107/16 人の一覧・入力を仕上げ07/2507/31 タグによる話題と人の紐付け08/0808/14 実機動作確認、公開日の延長決定08/2208/2909/0509/07 HiveObjectを導入-
09/12サボり -
09/1909/24 TopicとPersonを更新日でソート、このあとしばらく休憩 - 10/24 画像添付
- 99/99
09/19google play storeに提出 - 99/99
10/01公開予定
関連ドキュメント
03/22 〜 04/04
やったこと
- 開発環境の調査
- チュートリアル
KPT
Keep
- zennのメモ
- スクラップと相性がいい気がしています。
- あとで書籍化…?
- Flutterよくできてる。
- ドキュメント
- ウィジェットのレイアウトの仕方がHTMLと同じ雰囲気
Problem
- このプロジェクトの報告媒体を書けなかった…。
- Flutterのバージョンアップ
- 同じ開発機で複数のアプリを作っていたら、複数のバージョンが欲しくなると思うけど、どうしたら?
- FVMというのもあるらしい。
- Docker上でも開発できるそう。
Try
- このプロジェクトの報告媒体を書く。
次回やること
- チュートリアル
-
テスト、統合テスト
- CIサービスの選定
- CIサービスでのテストの実行
04/05 〜 04/18
やったこと
- チュートリアル
- Adding interactivity to your Flutter app
-
Animations tutorialアニメーションはやらなくていいや…。 - 国際化はやりません。
-
テスト、
統合テスト- CIサービスの選定
-
CIサービスでのテストの実行- 複数のアプリを管理するリポジトリではやりにくいので、やめて、次の開発環境を準備するイテレーションでやります。
- 気になること
- ファイルの分割
- 複数ページ管理
KPT
Keep
- ウィジェットって、HTMLのタグに、動作を埋め込んだようなイメージで、割と馴染めそう。
- rspecはやっぱり洗練されている。
- fastlane、便利そう…。
Problem
- 本業が忙しくてあまり時間がとれませんでした…。
Try
- 本業がんばる。
次回やること
- 初期アプリケーションの作成
- cirrus-ciの設定
- テスト
- 静的解析 with reviewdog
- 複数ページ管理はどうやってやるの…?
04/19 〜 05/02
やったこと
- 初期アプリケーションの作成
-
cirrus-ciの設定
- テスト
-
静的解析
with reviewdog
おかわり
KPT
Keep
- 以前から調べていたためか、思ったより進んだ。
Problem
- cirrus-ciじゃなくて、github actionsだけでいいんじゃないの…?
- 一応このままやっていきます。
Try
- 作っていくぞ…!
次回やること
- ネタを新規作成する
- ネタにタグをつける
- ネタの一覧を見る
05/03 〜 05/16
やったこと
-
ネタを新規作成する
- 一覧ページから作成ページを開く
- 入力フォームを作る
- データを保存する
-
flutter_data+hiveを試す - RDBMSを使いたいのでsqlfliteとリポジトリパターンにする?
- データを保存する
-
おかわり
- なし
KPT
Keep
- railsを普段使っているのでactive recordに頼っていることが多かったけど、それなしにやるのが結構楽しい。
- 非同期でやることが多いので、結構新鮮。
Problem
- 報告が遅れた…。
Try
- もう一度hiveを見る
次回やること
- hiveをもう一度調べる。
- データの保存の仕方を決める。
05/17 〜 05/30
やったこと
-
hiveをもう一度調べる。
- これにしよう。
-
データの保存の仕方を決める。
- 話題&タグ、相手&タグ、会話&話題&相手 と3つのボックスになりそう。
KPT
Keep
- やることを減らしたら心に余裕ができて、ちゃんとhiveを読めた。
Problem
- 進みが鈍い…。
Try
- 無理してやることを増やさない。
次回やること
-
入力フォームを作る
- データを保存する
- 一覧に保存されたデータを表示する
05/31〜06/13
やったこと
下記、ざっくり作ったがテストがまだです。
-
入力フォームを作る
- データを保存する
- 一覧に保存されたデータを表示する
- 編集する
KPT
Keep
- hiveは結構よさそう。generatorでグルーコードを作ってくれるので、本当に書くところが少ない。
- テキストフィールドに値を制御するコントローラなどがあって、Webアプリのサーバサイドと大いに違うところが新鮮。
Problem
- テストを書くのに四苦八苦
- hiveのサンプルプログラムにテストがついていなくて、書き方の参考になるものがあまりない…。
- widgetテストでテキストフィールドを探す方法など、わからないこと多数…。
Try
- わからないことを楽しめ。
次回やること
下記のテストを作ります。
-
入力フォームを作る
- データを保存する
- 一覧に保存されたデータを表示する
- 編集する
06/15〜07/04
一週間間違えていました(-_-;)
やったこと
- Topicの一覧/新規作成/編集/削除
-
Personの一覧/新規作成/編集/削除
- 一覧(ただしwidgetテストを除く)
- 新規作成(ただしwidgetテストを除く)
- 編集(ただしwidgetテストを除く)
- widgetテスト
KPT
Keep
- 最近の非同期処理の async/await が興味深い
- webアプリのサーバサイドではやらないので、新鮮。
- 非同期処理を待って、同期処理を続けるといったことができないようなのは不便だけど…これは複雑にならないための工夫なのかな…?
Problem
- 手元のPCでは動くのに、CIに持っていくと動かないことが多々ある…。
- 非同期処理で間違っていたとき
- 非同期処理を同期処理の中で使っていたら、実行順がおかしくなってました。
- 非同期処理で間違っていたとき
- Personのwidgetテストで、ディスク書き込み系のエラーが出ているけれど…これはなんなんだろう…。
Try
- 非同期処理と仲良くなる
次回やること
-
Personの一覧/新規作成/編集/削除
- widgetテスト
- 削除
- Topicのリファクタリング
- Personにタグによって紐づくTopicを表示
07/05〜07/16
一週間間違えていました(-_-;)
やったこと
-
Personの一覧/新規作成/編集/削除
- widgetテスト
- 削除
KPT
Keep
- 手元のPCでは動くのに、CIに持っていくと動かなかった問題は、ストレージをメモリにしたら、止まらなくなりました。
Problem
- 本業に追われている気がする><
Try
- がんばる
次回やること
- Personにタグによって紐づくTopicを表示
07/16〜07/31
やったこと
- Personにタグによって紐づくTopicを表示
- Topicにタグによって紐づくPersonを表示
KPT
Keep
- 予定していた機能はすべて実装した :tada:
Problem
- 本業に追われている><
- ListViewの使い方がわかってなくて、エラーに手こずった…。
Try
- がんばる
次回やること
- 実機に入れてみる
- かっこよくする
- Google Playにどうやって登録するか調べる
08/01〜08/14
やったこと
- 実機で動作確認
- オリジナルランチャーアイコンを設定
-
アプリ名を
Topic Matcher
に決定 - dartファイル内から日本語リソースを削除
KPT
Keep
- 自分のスマホに入れた
- 実感が湧く…!
Problem
- TextField
- もっと便利なTextFormFieldがあった。
- 値を設定・取得したいだけで凝ったことをしたいわけじゃないので、十二分。
- https://github.com/ken1flan/flutter_conversation_memo/pull/27
- ダメだ!使えない!
- ストアに並べてもこれでは全く使われない…
Try
- 計画を変更して、1ヶ月試用期間を取る
次回やること
- google play storeに出す方法をまとめる
- 計画を変更して、1ヶ月試用期間を取る
- 自分のスマホに入れたアプリを実際に1ヶ月運用してみる
- 定期報告を短くして1週ごとにして、改善を見えるようにする
08/15 〜 09/07
気分
低空飛行
やってたこと・やってること
- 話題や会話相手を更新順にしたい
- いくつか記事や話し相手を入れてみて、話題が新しく更新された順になっていてほしいと感じた。
- 更新順にするために、Box#getAt(index) としているところを、 Box#get(key) のように変えたほうがよさそうに感じた。
- keyを使うと、オブジェクトの関連も保存できそう。(最悪、キーを保存しておけばよかろう…。)
- HiveObjectという、ベースになるクラスがあることに今更気がついた。
- チュートリアルに載っているとありがたいのに…。
- TopicとPersonをHiveObjectから継承するようにした。
- TopicとPersonをkeyを使うように各ウィジェットを調整中。
KPT
Keep
- HiveObjectの発見
- リファレンスで見かけてたけど、チュートリアルにないから使わないほうがいいのかと思ってたよ…。
- Dartで継承、メソッドのオーバーライドを使った。
Probrem
- ずっと更新をサボってた
- コードが進まないのと、気分が乗らないせい。
- 本業が忙しい
- Dart/Flutterに少し飽きてきた
- なかなか思い通りにいかなかったり、後からよい方法が見つかって大幅な書き換えをしたりが続いている。
- Rubyが恋しい
Try
- 更新された順にしたら、いったん休もう。
09/08 〜 09/24
気分
低空飛行からの着陸
やってたこと・やってること
- TopicとPersonをkeyを使うように各ウィジェットを調整した
- 最初、一回でやろうとしたけど、修正箇所が多すぎて失敗した…。
- 結局、1メソッドずつくらいの単位で刻んでやった。
- 機能に直接関わらないリファクタリング
- 話題や会話相手を更新順にした
KPT
Keep
- 話題や会話相手を更新順にようやくできた
- ちゃんとひとつ、納得できるようなものを作ろうとすると、いろいろなことを学べていい
Probrem
- 使っていて、やっぱり画像を入れたい
- Dartではクラスメソッドを継承できない。
- TopicやPersonでほぼ同じ実装があるけど、それをなんとかしたいが、まだいい案が出てこない…。
- ずっと更新をサボってた
- コードが進まないのと、気分が乗らないせい。
- 本業が忙しい
- Dart/Flutterに少し飽きてきた
- なかなか思い通りにいかなかったり、後からよい方法が見つかって大幅な書き換えをしたりが続いている。進んだ気にならない><
- Rubyが恋しい
Try
- 更新された順にしたので、いったん休む。
09/24〜10/24
気分
ゆるりと離陸
やってたこと・やってること
- Topicにカメラやギャラリーから画像を添付できるようにした。
KPT
Keep
- 画像が添付できると気分があがる!
Probrem
- 自分が登録するグルメのTopicに、登録しているPersonが興味なさそうで、現実世界と同じ…。
- あまりasync/awaitを使いこなせておらず、なんでもかんでもawaitで待ってしまう…。
- カメラやギャラリーを使いだしたので、PC上でweb版を使った動作確認ができなくなった。
- 実機上で使い心地を試しているデータを破壊しそうで怖い…。
Try
- Google Driveにデータを保存