盆栽愛好者向けスマートウォッチを探す旅10 私たちは何のためにオブジェクト指向プログラミングを目指したのか【Android開発 Kotlin+Compose】

はじめに

「盆栽愛好者向けスマートウォッチを探す旅」と題して書き始めた記事が10になりました。
ここまでの足跡を振り返り、これからの歩む方向を再確認したいと思います。

私のたどった道

盆栽愛好者向けスマートウォッチを探す旅1
2022年11月思い付きで盆栽愛好者向けのスマートウオッチ探しを始めました。ここでスマートウオッチ用アプリを作りたいと表明しています。

盆栽愛好者向けスマートウォッチを探す旅2
Google Pixel Watchを見切り発車で購入しました。
アプリ作りの情熱が覚めないように、箱開け前に夢を語ります。

盆栽愛好者向けスマートウォッチを探す旅3
Google Pixel Watch開封の儀と一週間使ってみた感想をお伝えしています。

盆栽愛好者向けスマートウォッチを探す旅4 Android Studioとの出会い
本を買って勉強を始めました。
開発環境のAndroidStudioをインストールしました。
アプリの開発は思ったよりも手ごわくて少しくじけそうになっています。

盆栽愛好者向けスマートウォッチを探す旅5 今の私にちょうどいい教材を求めて
ネットで教材を探すもうまくマッチせず挫折。
2冊目の本に手を出しました。
これも難しく、ネットを彷徨いました。
Udacityの存在を知りましたが英語の教材ということでひるんで取り組むか悩みました。

盆栽愛好者向けスマートウォッチを探す旅6 UDACITYとの出会い
Udacityの存在を知り、初心者向け教材から始める決心をしました。
コース講師のキャサリン・クワン先生に丁寧に教えてもらいました。
英語の読解力がなければ、難しい概念を読み解くことができないことを実感し、語学の大切さを知りました。

盆栽愛好者向けスマートウォッチを探す旅7 授業の受け方を模索しています
Evernoteに勉強したことを記入しながら学習する方法をみつけて学習効率が良くなりました。
機械翻訳のせいか何を説明しているのかが分かるようでわからないことが多くなってきました。
授業を受けながら、寝落ちするようになりました。
自分の知りたいことと、授業がずれ始めていたようです。

盆栽愛好者向けスマートウォッチを探す旅8 途中経過のご報告
Udacityのカリキュラムに挫折しました。
何かヒントを得ようとキャサリン・クワン先生を伝って、調べているうちに最新カリキュラムの存在を知りました。
Androidアプリ開発の最新は、Kotlin+Composeであることを知りました。

盆栽愛好者向けスマートウォッチを探す旅9 その実力を試すときが来た!
年賀状をWearOSアプリとして作ることにしました。
そして完成しました。

Akeome2023:エミュレータの動作画面

現在位置の確認

Googleのdevelopersサイトにて、初心者向けコースを履修しています。

Compose を用いた Android アプリ開発の基礎https://developer.android.com/courses/android-basics-compose/course

ここには、2023年1月現在、現時点でユニット 1 から 7 が利用可能です。まだ追加されるようですが、現時点での最新カリキュラムだと思われます。


ユニット 1: 初めての Android アプリ
獲得可能なバッジ
・Kotlin でのプログラミングの概要
・Android Studio をセットアップする
・基本的なレイアウトを作成する

ユニット 2: アプリ UI を作成する
獲得可能なバッジ
・Kotlin の基礎
・アプリにボタンを追加する
・UI や状態の操作

ユニット 3: リストの表示とマテリアル デザインの使用
獲得可能なバッジ
・Kotlin の基礎(その他)
・ スクロール可能なリストを作成する
・ テーマとアニメーションを追加する

ユニット 4: ナビゲーションとアプリ アーキテクチャ
獲得可能なバッジ
・アーキテクチャ コンポーネント
・Jetpack Compose のナビゲーション
・アダプティブ レイアウト

ユニット 5: インターネットに接続する
獲得可能なバッジ
・インターネットからデータを取得する
・インターネットから画像を読み込んで表示する

ユニット 6: データの永続化
獲得可能なバッジ
・SQL の概要
・Room を使用してデータを永続化する
・DataStore の鍵を使用してデータを保存、アクセスする

ユニット 7: WorkManager
獲得可能なバッジ
・WorkManager でタスクのスケジュールを設定する


ひとつのユニットには、1~3のパスウェイが用意されており、各パスウェイは10件弱のアクティビティがあり、最後には理解度チェックが用意されています。
この理解度チェックをクリアすると、そのパスウェイのバッジがもらえます。

現在、私はユニット2のパスウェイ3「UI や状態の操作」を履修中です。

授業の難易度は単位によってある程度差はあるのですが、少しずつかみ砕いて教えてもらえるので、とても勉強になっています。
確かに最初は全く読めなかった、Kotlinで書かれたプログラムが読めるようになってきています。

そして、徐々にKotlin+Composeのすごさが理解できるようになってきました。

私たちは何のためにオブジェクト指向プログラミングを目指したのか。

その答えが、ここにあるように思います。

表示とデータの一元管理がスマートに表現できています。
依然として、学習コストは高いものの、このエレガントな表現方法を知ることができ、とても幸せです。

そして、これからの取り組み

今回振り返りをしてみてとても良かったです。

まだ山登りの序盤でした。この程度の内容であれば、何とかしがみついていける気がしています。
まずは、今やっている「Compose を用いた Android アプリ開発の基礎」をコンプリートしたいと考えています。

その次に、WearOSについて学べることろを探して、実際にアプリを作ってみたい。

その次にようやく、盆栽愛好者向けアプリができるでしょうか。

正直、ここまで大きな収穫があるとは思ってもみませんでした。

#盆栽愛好者向けアプリ #AndroidStudio #WearOS #Android #AndroidDev #つくってみた・やってみた #Kotlin #自学 #AndroidBasics #Compose #Udacity

この記事が気に入ったらサポートをしてみませんか?