非ITエンジニアがSwift学習をはじめてみる【3日目】

未経験からのiOSアプリ開発プログラミング
これまでタナイズムでは「ですます調」を使用していましたが、学習記録については思考のプロセスをアウトプットしやすい語調を模索します。今回は、常体で書きます。

Swift学習を始めて今日で3日目。まず、モチベーション維持のためにも早い段階で何かしらの成果物を得たいと考えている。

持論として、プログラミングは習うより慣れろというのがある。

そこで考えてみると、少し前にTwitterをキッカケにしてVBAでMeeting TimerというWindowsアプリの復刻版を作ったことがあった。機能の実装内容としては極めてシンプルなので、これのiOS版をSwiftUIで作ることを当座の目標にしようと思う。

Meeting Timer Revivalについての記事はこちら

Swift学習3日目の状況

ようやく時間のカウントアップが実装できた

正直なところ、思ったより難航している。

時間計測とかどのプログラミング言語でもわりとベーシックなので一瞬で出来上がると思っていたのだが、基本の書き方すらよく分からないとそんな単純なことすらままならないと痛感した。

タナイ
タナイ

タイマー用のメソッドを見つけるのに無限の時間がかかったぞい。

今のところ感じている難しさは下記の3点かと感じる。

Swiftを難しく感じる理由
  • そもそもVBAやFortranより言語仕様が高級で難解
  • Swiftのアップデートが早すぎてネット上にあるドキュメントが追いついていない
  • iOSアプリ開発ドキュメントのほとんどがSwiftUIではなくstoryboardをベースにしている

以下、3日目としての所感を飾らずに書いていこうと思う。

Swiftの言語仕様が高級すぎる問題

こちとらVBAやらFortranという貧弱言語ばかり触ってきただけあって、いきなり最新鋭のSwift5.1とか機能が豊富すぎて覚える量が追いつかない。

タナイ
タナイ

protocol、わからん。
generics、わからん。
optional value、わからん。

Swiftのアップデートが早すぎ問題

「Swift入門ならこれ!」みたいな記事もSwift3だったりSwift4だったりで学びたいSwift5の情報があんまりネットに転がっていないという問題がある。

VBAはレガシーで古くさいが、その分ネット上のドキュメントは確立されていて、独学で非常にとっかかりやすかったというのはある。

まず、iOSアプリ開発はもともと言語そのものがObjective-Cからはじまって、それが独自言語のSwiftにアップデートされた。

そのためSwiftは、C言語由来で構文規則も似ている部分が多々ある。

似ているだけならいいのだが、「キミ、C言語の知識は当然あるよね?」みたいな感じで進んでいるドキュメントが多く、本当の初学者はかなり情報取得に苦労すると思う。

しかもさらにSwift自体がアップデートされてどんどん仕様が変わっていっているので、苦戦する。

2020年6月現在はSwift5.2.4が最新らしく、とりあえずはSwift5対応の書籍を買っておけばよい。

SwiftUIが知りたいのにstoryboardばっかり問題

これが一番致命的かもしれない。

というのもSwiftUIが発表されたのが2019年で、まだまだ情報が出揃っておらず機能としても拡充が必要な段階らしく、まるで人柱扱いのようだ。

現状、ネットにある記事はほぼ全てが既存のstoryboardを使用したアプリ作成方法だ。

すごく簡単なことでも、英語のサイトをあさったりして習得していかなければならず、なかなか厳しいところもある。

一応、身銭を切って書籍やらUdemyやらを試してみたので最後にまとめて紹介する。

Swift / SwiftUI 教材レビュー

3日目にしては相当の量を試したので、以下にまとめていく。

Swiftに関する書籍

情報源として一番体系的にまとまっているが、完全に一方通行なので、習得は時間がかかる。辞書的なものを買うのが吉と思う。

詳解Swift

詳解 Swift 第5版
SBクリエイティブ
¥3,267(2020/06/14 07:08時点)

Swiftの言語自体の仕様についてはかなり細かく書いてある。

初学者がこれのみを通読してマスターするには少し重すぎる本だが、序盤の1/4くらいだけ読んで、あとは詰まったら辞書的に使うのが良いと思う。個人的には、今後ちゃんとやっていくなら必携。

SwiftUI徹底入門

SwiftUI 徹底入門
SBクリエイティブ
¥2,950(2020/06/14 07:08時点)

数少ないSwiftUIについて書かれた本。Swiftの言語仕様自体にはほぼ触れられておらず、SwiftUIで使用できるビューの構築方法や、頻出のパーツ類について図とコード付きで解説されている。

タピオカミルクティーを注文するための、サンプルアプリ制作に沿って解説されており、非常に分かりやすい。公式の英語チュートリアルを頑張って読み解く時間も気力もないのあればかなりオススメ。

辞書的にも読みもの的にも使える。個人的には、さらっとだけ全体に目を通しておいて、のちのち必要な部分(実装の仕方を調べたいとき)が出てきたらこの本で探すのが効率が良いと思う。

Swiftに関するUdemy

肝心のSwiftUIについて事細かに解説されているビデオレクチャーはまだないようだ。(出たばかりのSwiftUIについて台本を書いて動画を何十時間分も撮影するのはかなり時間がかかるだろう)

一方で、少し古新聞になるとはいえ、iOSアプリ開発の全体像を動画を見ながら手を動かして習得していくことで、かなりの速度で学びを深められると思う。

タナイ
タナイ

1点だけ言うことがあるとすれば、時間効率を高めるため、動画は2倍速再生をデフォにして学ぶことをオススメ。

【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

storyboard主体で、プログラミングの完全未経験者に向けて、変数やクラスなどについても極めてわかりやすい例え話を使って解説している。

序盤は可能な限りコードに触れず、全体的な理解を促したりと初心者にこそオススメできる講座。後半はアプリ課金の実装方法など、ある程度は難易度を担保してくれており、簡単すぎて中身が薄いというありがちなパターンにもならないようにしている。

逆に、少しプログラミング経験がある人にとっては、かなりの基礎から解説されるため序盤は少し退屈すぎるように感じるかもしれない。逆に言うとそれだけわかりやすく解説していると言うことだが。

このコースの詳細はこちら

SwiftUIによるiOS 13アプリ開発入門

Apple公式のSwiftUIチュートリアルを途中まで日本語訳しながら解説しているレクチャー。

公式チュートリアルは英語なので、苦手な人はこの動画で日本語解説を聞きながら実際にチュートリアル相当のコードを書いていくのはあり。というのもチュートリアルは公式が出しているだけあって網羅的に必要事項が学べるようになっているからだ。

このコースの詳細はこちら

Swiftに関するブログ・ネット記事

もう夜も遅いので、参考になったページをいくつか列挙して終わりにする。

タナイ
タナイ

結論としては、上で紹介した2冊を手がかりに、Udemyの解説でstoryboardに実装されているUIを自力でSwiftUIに実装し直すように頑張ればそこそこのものを作る力がつくのではないかと思う。

詳解 Swift 第5版
SBクリエイティブ
¥3,267(2020/06/14 07:08時点)
SwiftUI 徹底入門
SBクリエイティブ
¥2,950(2020/06/14 07:08時点)
未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp

コメント

タイトルとURLをコピーしました