SwiftUI 徐々にわかってきた

SwiftUI

SwiftUIでアプリを開発し、AppStoreにもリリースしているのですが、再度、基礎から理解したいと考えて、勉強してます。
3月初めころから、初めて、1ヶ月立ちましたので、難しかったところ等を記録しておきます。

むずかしさ

唐突ですが、難しさを最初に
Swiftの移行とUIKit->SwiftUIを同時に考えなければいけない点が、一番だと思ってます。

例えば、classがメインではなく、structがFirst citizenになっている点とか、Reactiveの概念が前面に出てきているとか。

どちらも、これまで、iOSやMacOSで開発してきた人からすると、「?」が飛び出すほどの変更なのに、どちらも同時に理解しなければいけない。
だって、お互いに非常に依存しあっているんです。なので、「片方を理解して、その後、残りに着手する」といういわゆる、Divide and Conquerが使えないんです。

なので、自分は、これまでの理解をいったん横に置いておいて、改めて、SwiftUIを理解することを目指しています。

100DaysOfSwiftUI 最高!

なんとなく、Googleしていた時に見つけました。
いろいろな本も購入していて、どうしようかなぁと考えていた時に見つけたサイトで、100日間 という絶妙な期間設定に惹かれて、始めました。

結論は、最高! です。

100DaysOfSwiftUI の 良い点

自分で手を動かして実習できるようになっていますので、自分のMacのXCode上で動かして理解することができます。「ここをこうしたらどうなるかな?」みたいなちょっとした疑問もその場で試せるので、「よくわかっていない感」をひきづらないようになっています。
ある意味、実習は、用意されたコードをコピペして終わらせることも可能なのですが、実習の最後に、宿題のように 自分で考えて、コードを拡張するための演習が用意されています。この部分は、回答が用意されていませんので、コピペではなんともなりません。私のように、演習後のコードをBlog等で公開している人もいると思いますので、探せば見つかるかもしれませんが、その努力は、SwiftUIの理解に向けたほうが良いものですよね。というか、私はその方向に向けました。

100DyasOfSwiftUI の 悪い点

無償で公開されているものに悪い点も無い気がしますが、42日間やってきて気づいた点です。

英語。
しょうがないとは思うのですが、全て英語です。私は、TOEIC845ですが、たまに意味わかりませんでした。技術英語は非常に論理的に書いてあるために、理解することは難しく無いと思ってきたのですが、すこし違いました。
この100DaysOfSwiftUIの人は、SwiftUIの難しさをできるだけやさしく説明しようとしているために、例え話等が多く出されています。
日本語でも、難しいことを説明するためにみんなが知っているような例え話を出してせつめいしたりしますよね。それです。
ただ、言語の違い、文化の違いがあり、そのことが、”たまに”理解を難しくしている気がします。
何回か繰り返し読めば、必ずわかる文章なのですが、まだ理解できていないものを説明している文章を丁寧に読むのって、疲れるんですよね。そういう意味で、英語の難しさを改めて、感じました。

コードの提示にばらつきがある
文章もきちんと読めば、確実にわかることなのですが、英語の説明文と合わせることで、コードが完成することがあります。
例えば、コードとコードの関係を「このコードを先ほど作成した行の後に追加すると」のような形で説明されています。そのため、たまにコードの全体像を見失いがちになりました。

Swiftの基礎知識がそれなりに必要
前半に、Swiftの説明があります。この配慮は素晴らしいと思うのですが、後半のSwiftUIを理解するためには、随分と自分で補足して理解する必要がありました。Swift5では、いろいろな省略記法も導入されて短いコードで複雑なことができるようになりました。
この新機能は、コードをバリバリ書ける人には素晴らしい新機能だと思うのですが、SwiftUIを理解しようとしているくらいのレベルには、SwiftUIの理解と、新しい記法の理解の両方を同時に要求してきます。ちょっとつらいかも。
私は、以下の書籍を横に置いて、すこしでもコードがわからなくなった時に、参照してました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です