swift

アプリ開発未経験はswiftUIとstoryboardのどっちから始めるべきか?

アプリ開発ってまず何から手をつけたらいいの?
storyboardとswiftUIのどっちからやったらいいかわからない...

こんにちは、趣味でアプリ開発を学んでいるなべやまです。

swiftUIが2019年に発表されましたね。説明文には”より優れたAppを、より少ないコードで。”と書かれており、とても魅力的な文章に見えます。

ではアプリ開発未経験者はswiftUIとstoryboardのどちらから始めれば良いのでしょうか?

私の結論はstoryboardです

どうせなら新しい方のswiftUIの方がいいのでは?

きっとそう思う方が多いと思います。ここからは私なりの結論の理由を述べていきますね。

自己紹介

  • プログラミング自体初めての初心者だった
  • 独学で4ヶ月半、毎日2時間半でiosアプリをリリース

私がstoryboardをオススメする理由5点

理由1:swiftUIのコードは少ないが簡単ではない

ここは著者がswiftUIとstoryboardの両方を使ってみての意見です。

swiftUIの説明にはさっき述べた通り”より優れたAppを、より少ないコードで”と書かれています。確かにその通りで、いろいろなコードがわかりやすくて直感的にコードがかけると思います。超初心者からするとめちゃめちゃ助かりますね。

しかし、コードが少ないからと言って簡単という意味ではありません

考えてみれば当たり前ですが、より少ないコードというのはそれだけ多くの意味が含まれているということ。

例を挙げると「レベチ」。これは「レベルが違う」という意味で、3文字に7文字の意味が含まれます。

理由2:swiftUIがまだ発展途中

swiftUIは2019に発表されたばかりでとても新しい技術です。そのためswiftUIは不完全な所も多く、どうしても思った通りにできないことが多いです。

例えばTextView。これは改行できる文字欄です。著者のアプリにも使われています。言い換えればメモスペースですね。

しかし、これは用意されていません(2020/9)。

つまりメモ欄はswiftUIでは簡単に使うことができません。

もし使うとなればstoryboardで使うUIKitをラップしてSwfitUIで使えるようにViewとして渡します。はっきり言ってこれは超初心者ができる難易度ではありません。

他にもオリジナルアプリを作ろうとすれば必ずと言っていいほど不都合が生じます。そしてその不都合の解決方法は簡単にはわかりません。何故なら情報がほとんどないから。

超初心者はかなり時間を費やします。

理由3:swfitUIはある一定レベルを超えると進まない

swiftUIの書籍もだいぶ揃ってきたように思われます。

ですがどうでしょう?

先ほど言った通り書籍を終わった後にオリジナルアプリを作ろうとすると必ず不都合が生じます。しかも書籍を学んだ程度では太刀打ちできないレベルの不都合が。

そのため超初心者はある一定レベルを超えると全然進みません。情報がそこまで多くないんですよね。

簡単な情報は大量にありますが、難しくなればなるほど無くなっていきます。時が経つにつれてどんどん情報が増えていくことに期待しましょう。

理由4:storyboardはライブラリが豊富

ライブラリって何?

ライブラリとは他の人が作った機能を簡単に自作アプリに取り込めるというもの。

例えばモダンなデザインやアニメーションとかですね。作成時間が短縮できますし、自作するよりもクオリティが高くなります。

ただ、これらのライブラリはまだswiftUIに対応していないものが多く、storyboardの方が豊富。

対応していない場合は自分で手間をかけて作るor諦めるしかありません。

理由5:Udemyの最強コースがstoryboard

Udemyとは一度買ったら永遠に使えるオンライン教材です。そして私が書籍を4つ買った後に見つけたものです。

結論から言って初心者は100%みた方がいいです。自分の友達がswiftを始めるなら絶対に教えます。

その講座とはYutaさんの”【iOS14対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp”というもの(私はiOS13も購入済み)。この講座が最強過ぎるのですが、storyboardを使った教材でした。

swiftUIで学んでいた自分はかなり後悔しましたね。

正直3000円の書籍よりも何倍も量が多いですし、わかりやすいです。

本当にわかりやすいの?回し者とかじゃない?あんまり信じられないな...

こう思っている方は書籍から始めてみてください。書籍をやった後にUdemyをやれば「UdemyのYutaさんのほうがわかりやすいな」と思うので。書籍で挫折したらどうぞ笑。

効率性&基礎力の観点からしても最強です。

≫UdemyのYutaさんのコースが最強すぎる【超初心者は絶対に受講した方が良い】

現在(2021/11/13)YutaさんがUdemyでBANをされ、購入することができません。
そのため、今すぐ始めたい方は他の講座がおすすめ。私も他の講座を購入したことがありますし、Udemyは動画媒体なので凄くわかりやすいですよ。

storyboardもswiftUIも言語はswift

最初は勘違いしてしまいがちですが、言語はどちらを選んでもswiftです。

そのためstoryboardで学んだことはswiftUIでも活かせることが多く、また逆も然り。「swiftUIの方が新しいから古いのはちょっと...」と心配する必要性は皆無です。

実際私はswiftUIでアプリ開発をしましたが、ある程度理解すると「あっこれはswiftUIでいうこのパーツのことか!」「このように記述すれば同じ動きをするな」とUdemyのYutaさんのコースを見ていると気づきました。

言語が一緒なので基本的な書き方は同じなんですよね。なので「一方を選んだらもう戻れない」と重く捉える必要はないですよ。

私の結論はstoryboardだけど、swiftUIで始めても全然大丈夫!
自分が買った教材が扱っている方を選ぼう!

まとめ

以上、ここまで”未経験がアプリ開発を始めるならどちらが良いか”についてでした。

そこまで神経質になる必要はありませんが、始めるなら有益な情報が多いstoryboardの方がおすすめです。

やはり情報が多いとスキルアップの速度も違いますし、何かと不都合が起きた時に答えを見つけやすいんです。「teratail」と言うQ&Aサイトでもstoryboardの方が上級者が答えやすいですね。

新しいことを見つけたりするのは先人たちに任せましょう。初心者では到底太刀打ちできないので。

共に良いアプリ開発ライフを!

「UdemyのYutaさんのコースを学びたい」という人は方は以下から進んでください!

現在(2021/11/13)YutaさんがUdemyでBANをされ、購入することができません。
そのため、今すぐ始めたい方は他の講座がおすすめ。私も他の講座を購入したことがありますし、Udemyは動画媒体なので凄くわかりやすいですよ。

-swift