質問: プログラミングの質問ではなく恐縮です。 研修でSwiftによるアプリの開発を行ってから1年経過し、初めて正式に業務としてiOSアプリを開発する案件に携わらせていただくことになりました。 1年の空白期間もあり、現在Swiftを復習しているのですが、これからのことを考えてSwiftUIの入門書籍を見ながら勉強しています。 これからはこのSwiftUIがどんどん発展していくのだろうと思いますが、今業務で開発するならまだSwiftUIは使わない方がいいのでしょうか。 まだ詳細を調べたわけではありませんが、UIKitと組み合わせてUIを作ることもできると目にしました。 私が経験があるのはストーリーボードを使った開発のみです。 もし今iOSアプリの開発の業務を行うならば、皆さんはSwiftUIを使用しますか。 ご意見利かせて頂けると助かります。
回答: ターゲットとする OS のバージョン次第というのはもっともなのですが、別の視点から。 業務用で SwiftUI は使えるのか否か、という問題については、使えるのではないかという回答になると思います。 クックパッドあたりは SwiftUI を開発フレームワークに入れていますので、何かしらの場面で使っていることは推測できます。 * たとえばクックパッドの募集要項 一方、実際にSwiftUIの書籍も出版されている方が参加されたオンライン座談会では、「本格的に使われ始めるのは4年くらい先ではないか」という話も出ていました。 こういう状況から考えると、積極的に新技術に取り組みたい、あるいは取り組む余力のある開発チームは SwiftUI を使い知見を増やすでしょうし、いまある技術で取り組みたい、あるいは余力のないチームであれば従来の UIKit ベースの開発になるのではないでしょうか。 しかし、もっとも重要なのは、「**SwiftUI を使いたいのであれば、Swift の文法 + αを確実に押さえておかなければならない**」という点にあるかと思います。 たとえば、SwiftUi だとプロパティラッパーという機能(`@State`, `@Environment`, `@EnvironmentObject`, `@ObservedObject`, `@StateObject` など)をフル活用することになると思いますが、これは SwiftUI の基礎となる Swift の文法や参照型・コピー型の正しい理解なくして使いこなすのは難しいのではないかと思います(あくまで主観ですが)。 巷には SwiftUI に関する本はちらほら出ていますが、現行の内容だと「写経はできた。で、それから先は?」という印象しか得られない書籍も少なくありません(もちろん、前述のプロパティラッパーなどについて詳細に、かつ実験的なコードで記述された書籍なども出始めています)。 ということで、UIKit と従来のモデル構造(MVCやMVVCなど)について十分理解を深めてから、SwiftUI に移行するのでも遅くはないし、その方が最終的には確実ではないかというのが私の意見です。 もし、近隣に大型の書店があって、3タイトルくらい SwiftUI の書籍があるのであれば、それらをみくらべてみて、できそうな書籍一冊に挑戦し、なにが課題なのか把握するのも、もちろん悪くないと思います。