SwiftUIのはじめ方

SwiftUI

2019年に新しく登場したAppleの新しいGUI構築のためのフレームワークがSwiftUIです。
以前に使われていたのは、UIKitというものです。2019年、2020年の WWDC を見ても、今後 SwiftUIへ移行していくことは、明らかです。

これから学習するならば、Apple プラットフォームでの開発に必須である SwiftUI を選択しましょう。

ちなみに、私は、Objective-Cから始まって、Swiftへと移行してきて、昨年末からSwiftUIへ移行してきています。
SwiftUI でコードを書くたびに、そのコード量の少なさに毎回驚いてます。InterfaceBuilder は一見直感的なのですが、TABを切り替えて設定箇所を探したりすることで煩雑な作業になりがちです。
サンプルのコード等を調べる時にも、コードだけではなく、InterfaceBuilder の設定のチェックまでする必要があり、間違いの元でした。

SwiftUI であれば、全てをコードで記述できるので、コピペでプログラムを動作させることも簡単です。

はじめ方

  • 自分で調べて進む
  • 参考書を購入する
  • オンラインスクール
大きく分けて3つの方法があります。

自分で調べて進む

もちろん、Appleから非常に多くのドキュメントがリリースされています。
Apple Developer Programに参加するとここから膨大なドキュメントにアクセスできます。
また、WWDCのビデオを見るのも勉強になります。
ドキュメントの一部は日本語訳されてますし、WWDC2019のビデオも、日本語の字幕が付きますが、はやり、英語が読めて聞けるとBESTです。

Appleのドキュメントにもチュートリアルのようなもので説明されているので、それを辿ることで、最初の一歩は踏み出せます。
ただ、その次の一歩がすごく難しいかもしれません。

現在の SwiftUI にも得意/不得意があるので、不得意なことをやろうとすると実現に非常に手間がかかります。
じゃぁ、どういうことが得意なのと理解するためには、SwiftUIの理解が必要となってしまって、鶏と卵の問題になってしまいます。

また、細かいことを確認しようとすると、どうしても、日本語訳されていないドキュメントを調べる必要が出てきますので、英語を1文字も読みたくないという方には難しいです。
例えば、定番のstackoverflowは、非常に多くの情報があります。ですが、英語です。ここの情報量は非常に多く、玉石混交なのが難点です。情報をふるい分けるためにも、英語は必要です。
日本語だとqiitaにも情報があります。

注意
遅かれ早かれ、英語が読める必要性が発生しますので、英語を読みたくない方は、厳しいかもしれませんね。SwiftUIの勉強と並行して、英語の勉強を進めることをお勧めします。英会話じゃなくて、書いてある英語が理解できれば良いので、いくらでも時間をかけて読めますから、そんなに難しくないです。

参考書を購入する

WWDCでの発表直後は、Appleのドキュメントしかありませんでしたが、2019年末ころからAmazon等で検索すると非常にたくさんの本が見つかるようになりましたね。ただ、アップルのドキュメントを日本語にしただけのような本も存在しますので、書店で手にとって確認するか、レビューを確認して購入した方が良いです。

自分で購入した中でおすすめできるものとしては、以下のものです。

ちょっとお高いですが、すごく丁寧に説明されていますし、全ページフルカラーなので、図表も読みやすいです。

なお、SwiftUIは、新しいバージョンのSwiftであるSwift5の機能を駆使して実装されています。ですので、すでに持っているSwift言語の参考書が古いバージョン(バージョン4以前)を対象にしたものであれば、SwiftUIの本と併せて、Swift5の参考書も購入することをおすすめします。

上と同様に、自分で購入した中でおすすめできるものとしては、以下のものです。

この本は、Objective-Cの頃から著名な著者によって、バージョンが上がる毎に出版されていて、Swiftになっても継続的に出版されている素晴らしい本です。
非常におすすめです。最近のSwiftは、ClassよりもStructにフォーカスが移っていますが、この本でもクラスの説明の前にStructの説明がされています。

オンラインスクール

英語を読むのが苦手、参考書は買っても、”積読”になってしまうという方は、オンラインスクールが選択肢になります。
独学では学習のペース配分が難しいですし、モチベーションを保つのも大変ですよね。オンラインスクールであれば、その点も大丈夫です。

ただ、残念なことに、SwiftUIを取り扱っているオンラインスクールはまだないみたいです。
どこかが、SwiftUIについて開講してくれるのを待つのも良いですが、Swiftについて学んで準備しておくのもおすすめです。
Swiftについてスクールで学んでから、その後に、参考書等でSwiftUIについて学ぶというのも理解が深まる進め方だと思います。

実は、今時点では、UIKitでしか実現できない機能があるので、凝ったUIを実現するには、結局UIKitをきちんと理解しなければいけないという事情もあります。

通学?

いまどき、学校に物理的に通う選択肢はないかなぁと思って、通学は、選択肢に入れてませんw

なぜ、Swift/SwiftUI?

スクールでも教えていないSwiftUIをなぜ学習した方が良いのでしょうか?

SwiftUIは、GUI構築だけではなく、リアクティブな振る舞いをフレームワークからサポートしています。つまり、見た目であるGUIを簡単に記述できるだけではなく、プログラミングのパラダイムとしても最新のものと言えるフレームワークです。2019年に発表されたばかりのSwiftUIは、確実に今後のiPhone/iPad/MacOSの開発のメインストリームになっていきますので、素早くキャッチアップするのがおすすめです。

コメントを残す

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