Swift勉強法について
ブログを始めたおかげか、先日勉強法についての質問をツイッターにて頂きました。
既にITエンジニアの方で、今回アプリエンジニアにジョブチェンジしたいので効果的な勉強法を伺いたいとのことです。質問をブログ記事にする許可を頂きましたので、私なりの回答をここで書かせていただきます。
※ 前提として、勉強法には好みや相性が大きいと思っています。自分に合う方法を探る参考程度にお読みください。
1.体系的にSwiftを学習したいとなったときに、おすすめのサイト・書籍はありますか?
質問2にて書きますが、実際に作るものの参考書として使うことが私は多いです。
DMの回答では私が持っている本や利用したサイトを紹介したのですが、実際に書店にいって選んだ方が良いかも知れません。
選ぶポイントについては
・自分で手を動かしやすいもの
・Swift4以降のもの
・軽く読んでみて読みやすいもの
・理解しにくい部分が分かりやすいもの(クラスとは、メソッドとは、Storyboardの使い方、AutoLayout、Delegate、クロージャ)
などを選ぶと良いと思います。
サイトは一応挙げるなら
Appleの公式とか
https://developer.apple.com/documentation/uikit/views_and_controls
日本語ならSwiftサラリーマンさんとかですかね。
2.今になって思う、こうすれば良かったみたいな勉強方法はありますか?
実際に作ってみることが一番だと思います。作っていて分からないところというのは大抵仕事でもぶつかる課題なので、そこを解決することは業務にも役立ちます。
サイトや本はぶつかった時の参考書として、その部分を探して使うのが効果的だと感じています。
作る上でのコツは、ぶつかった問題点は後回しにして、とりあえず進めることです。
例えば「iPhone画面左上の”戻る”ボタンの文字を消したいけどできない」という課題ができたとしたら、それをメモなり、issueなりに書いておきます。
メモの書き方は「どうしたいか」「現状はどうなっているか」「何を試したか」「参考になりそうなサイトのリンクを貼る」など、次回の作業が捗る情報を書きます。スクリーンショットを貼れるとなお良いです。こうすることで
・とりあえず目標まで辿り着きやすくモチベが維持できる
・外だしした物が終わると達成感がある
・進捗の状況が掴みやすい
・人と仕事するときも、他のメンバーに任せやすくなる
といったメリットがあります。
それじゃ何を作るのが良いか?という問題なんですが、自分が使いたいアプリを作るとモチベが保ちやすくオススメです。
それがなければ世に出てる有名なアプリや、アップル純正アプリのUIを模倣するのが良いかと思います。
またAppStoreのリリース作業はなかなか面倒で、求人に「リリースまで行ったことがある」と書かれるケースもありますので、リリースまで行うと尚良いです。
最初の頃は業務面談などで、iOS経験年数で不安に思われることもあると思います。その時に「こんなの作れますよ!」と実際に見せるものがあると印象が変わります。
あと、分からないものはググる癖をつけること。
3.フォローしておくべき情報メディア等はありますか?
・いいなと思ったQiita記事を書いている人のツイッターを探してフォローする
いいQiita記事を書いている人のツイッターはiOS関連の発言も多く、学びも多いです。
・QiitaのSwiftランキング
https://qiita.com/hikarut/items/6138e8e406da17f5b67c
沢山いいねがついている記事は今ホットな話題であったり、丁寧に書かれた記事だったりしますのでオススメです。
・GIZMODE
https://www.gizmodo.jp/tag/enterprise/apple/apple_product/ios/
「○○かも」なんて記事もありますけど、最新の話を読めたりもします。
・発表スライド集
https://qiita.com/applideveloper/items/996387a22e79e66bfe5b
初学者には少しハードルが高いかもしれませんが、普段聞けない情報が手に入ったりするのでためになります。