※知識ゼロの大学生が勉強会に参加してよくわからなかった単語を覚えておくために書き留めるためのメモです。もし、ここは違うぞ!というような箇所があればぜひ教えてください!
この前、DroidKaigi2019の報告会のイベントに行ってきました!その中で、スピーカーさんたちのLTで多くでできたキーワードの一つが「アーキテクチャ」だったので、初心者なりにメモしました。
Androidアーキテクチャの紹介と流行り
Androidのアプリ開発にもにはアーキテクチャの選択肢がたくさんありますが、DroidKaigiでも毎年アーキテクチャがキーワードに上がり続けているほど、アーキテクチャには正解がなく改善し続けるもののようです。
以下は、アーキテクチャの種類メモです。
- MVP(model view presenter)
- 描画と画面のふるまいとロジックに分けるアーキテクチャ
- MVVM
- 描画と画面保持と入力の変換とロジックにわけるアーキテクチャ
- Redux(flux)
- データフローに関するアーキテクチャ
- MVI
- Reduxの思想をMV○○に持ち込んだアーキテクチャ
- clean architecture
- システムを層に分割し方針と詳細を分割するためのアーキテクチャ
MV○○系とflux系とclean architecture系統で分けられるのかな?
まあ一つのアプリに様々なアーキテクチャが混在してしまったときの対策になりうるマルチモジュールというのもあるそう。
公式アプリで使われているアーキテクチャはこのようになっているようです。
2017年:MVVM
2018年:AACベースMVVM
2019年:AACベースMVVM + Flux
スピーカーさんによると、アプリはWebの拡張ではなくなってきており、androidの進化とアプリの複雑化によりアーキテクチャは今後も変わり続けるだろうとのことです。
javaを勉強してもっとアプリ開発をしてみれば今回の話ももう少し理解できるかなあ。勉強頑張ります!