能登 要

札幌在住のiOSアプリ開発者。SwiftUI により分割されたデバイス間を縦横にやりとりできる考え方に転換しています。

iOSアプリ開発者。2009年のiPhoneアプリ開発開始時期から活動。開発言語のアップデートの中でSwiftUIおよび周辺技術に着目中。

SwiftUI 学習度確認に便利なロードマップ - SwiftUI Application Develop

SwiftUIの学習程度を把握するのに便利な記事を見つけたので紹介。

On the road to learn SwiftUI. I have created this SwiftUI Developer… | by Karin Prater | Nov, 2020 | Medium

リンク先のBlogは学習系をロードマップで示している。SwiftUIを学ぶにあたって都度必要となる知識を必要タイミングごとにグループ化したキーワードで示している。

本BlogでもSwiftUIを学習するにあたってSwiftUIへの敷居を下げるためAppleの3テクノロジーの関係について説明しているが、キーワードを図でまとめていることで全体図を把握しやすい。

[プレゼン資料] SwiftUI,Combine Framework,KeyPath - 堅固な関係からSwiftUI への閾値を下げる | Irimasu Densan Planning - いります電算企画

図の確認方法としては時系列でグループを追いかけてみると大まかな熟練度が把握できる。

使い方としては、

  1. 学習達成度の確認
  2. 詳細のキャッチアップ

学習達成度の確認はグループ事の概要(グループ外に書かれたグループと同色文字)を見て自分が学習したか確認、あまり学習した記憶がないグループが図の上部であればあるほど未達成の内容があることを確認できる。

詳細のキャッチアップとは知っている(とみなしている)グループに含まれる要素を眺めてみることで、見たことがないキーワードがないか、説明できるかを確認することでSwiftUIのより詳細を把握する助けになる。

詳細のキャッチアップについてはキーワードだけで良いかもしれない。なぜならAppleのドキュメントのキーワードごとの詳細ページに何も説明が書いてない事が多いのであてにならない。

例えばレイアウトのグループに含まれるinset()だが自分はよく覚えていなかった。詳細を確認しようとAppleのドキュメントを見ても何も海底ないようなものなので参考にならない(ドキュメントを書くまでもない自明な内容とでもいいたいのだろう)。

inset(by:) | Apple Developer Documentation

まとめ

SwiftUI 2nd major releaseで結構な量の語彙が増えておりキャッチアップするにしても把握すべきことは多い。

自分がSwiftUIでアプリを作るとしたらどの程度の習得度しているかをビジュアル的に把握するのに紹介した図は役に立つ。

SwiftUIを学ぼうとする側からすると、紹介したSwiftUIのロードマップのような熟練度と詳細キーワード確認できる図はAppleが出した方が助かる。

note:

SwiftUI 1st major releaseに比べるとSwiftUIに対して最初どのように取り組めば良いかのBlogが増えているように思える。英文だが以下のBlgoは参考になる。

SwiftUI State Management Fundamentals | by Mykola Harmash | Oct, 2020 | Medium

実装についてもiOS14から導入されたWidgetKitを使ったウィジット実装でもSwiftUIを使用するが、SwiftUIのレイアウト周りのみ気をつければ良いので(Observableプログラミングの考え方がスポイルされている)SwiftUIの練習に触ってみても良い。