Courseraの"Create the User Interface with SwiftUI"に入門した話。





Create the User Interface with SwiftUI


タイトル通り、Courseraの以下のコースに入門しました。

Create the User Interface with SwiftUI


参考本を一通り復習し終わったが、いまいち全体的な開発サイクルを理解できなかったのでSwiftUI周りの開発をどのように進めていくのかを実践的に勉強できるコースを探していたところ、Metaが提供しているコースがあったので入門したという流れ。

今日の0時ごろに登録して1時間半くらい軽く進めて"Setting up SwiftUI"を完了したのでそこで学んだことを備忘的に残しておく。


  • Appleのデバイスには一般的なコンピューター(MacBook,iMacなど)とタッチデバイス(iPhone,Apple Watchなど)に大別される。
    • 上記のうち前者は操作の精度が高いが、後者はディスプレイの小ささなどから捜査の精度が低い。よってデバイス上に表示される情報はシンプルに、そして情報量を制限するべきである。
    • 気になる人はHuman Interface Guideline見てね!とのこと。
    • また、UI的に配色にも注意する。例として挙げられていたのはボタンの配色が全体的に暗いと分かりにくいから操作しやすいように明るい配色にしよう!みたいな話。
  • SwiftUIの利点
    • ダイナミックテキスト(デバイスごとに表示されるテキストのサイズ)が自動的にサポートされていること
    • アクセシビリティ(障がい者向けの対応)やローカライゼーション(異なる言語区分への対応)などがしやすいこと
    • ライトテーマやダークテーマに対応が容易なこと
  • 宣言的(Declarative)シンタックスと命令的(Imperative)シンタックスの違い
    • Declarative = WHAT you want
      • つまり結局何がしたいのかに集約される。(ハンバーガーを注文するときにハンバーガー下さい。で通用する)
    • Imperative = HOW you want
      • どのように用意するのかに集約される。(ハンバーガーを注文するときにパンを用意して、トーストして、肉を焼いて、etc...したものを下さいというようなもの)
    • つまりDeclarativeは処理を書けばマシン側で自動的に最適化をして欲しいものを返してくれる。便利。
  • SceneとViewの違い
    • Scene
      • WindowやViewなどの他の要素のために存在するコンテナのようなもの。デバイスによって表示される形式が異なる。例えば、iPhoneの場合、画面サイズが小さいためにシーンを分割して表示するが、iPadの場合には開発者が何も余分な作業をしなくても、1つの画面に2つの列を横に並べてすべての要素を表示することができる。例:WindowGroup
    • View
      • SwiftUI上で画面に表示されるものはほとんどがView。大きな特徴として、一度作成したビューは、同じアプリ内や複数のアプリで何度でも再利用することができる。例:Texts, TextField, Images
  • あとは細かいクイズと演習

今後の流れ

ひとまず修了するまではこちらの内容にかかりっきりになりそう。
全編英語なので少し気合がいるが、最近は翻訳ソフトのおかげで理解が怪しい部分をそのままにせずにしっかり理解できるようになっているのが救い。

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した