質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.80%

業務で開発するiOSアプリではまだSwiftUIを使わない方がいいのか

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,546

score 50

プログラミングの質問ではなく恐縮です。

研修でSwiftによるアプリの開発を行ってから1年経過し、初めて正式に業務としてiOSアプリを開発する案件に携わらせていただくことになりました。
1年の空白期間もあり、現在Swiftを復習しているのですが、これからのことを考えてSwiftUIの入門書籍を見ながら勉強しています。
これからはこのSwiftUIがどんどん発展していくのだろうと思いますが、今業務で開発するならまだSwiftUIは使わない方がいいのでしょうか。
まだ詳細を調べたわけではありませんが、UIKitと組み合わせてUIを作ることもできると目にしました。
私が経験があるのはストーリーボードを使った開発のみです。

もし今iOSアプリの開発の業務を行うならば、皆さんはSwiftUIを使用しますか。
ご意見利かせて頂けると助かります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2020/12/25 11:35

    複数のユーザーから「問題・課題が含まれていない質問」という意見がありました
    teratailでは、漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。
    「編集」ボタンから編集を行い、質問の意図や解決したい課題を明確に記述していただくと回答が得られやすくなります。

  • hoshi-takanori

    2020/12/25 12:00

    要件次第ですが、古い iOS への対応が必要なら諦めざるを得ないでしょうね。いわゆる SwiftUI 1.0 で iOS 13 以降が必要ですし、今年の WWDC で発表された新機能 (SwiftUI 2.0) は iOS 14 以降が必要なので。

    キャンセル

  • Haruto513

    2020/12/25 12:03

    アドバイスありがとうございます。貴方のコメントで、まだ使われるiOS端末の詳細なども知らずに質問したことに気づきました。もう少し話が進んでから、どちらを採用するか考えたいと思います。

    キャンセル

回答 2

+4

ターゲットとする OS のバージョン次第というのはもっともなのですが、別の視点から。

業務用で SwiftUI は使えるのか否か、という問題については、使えるのではないかという回答になると思います。

クックパッドあたりは SwiftUI を開発フレームワークに入れていますので、何かしらの場面で使っていることは推測できます。

一方、実際にSwiftUIの書籍も出版されている方が参加されたオンライン座談会では、「本格的に使われ始めるのは4年くらい先ではないか」という話も出ていました。

こういう状況から考えると、積極的に新技術に取り組みたい、あるいは取り組む余力のある開発チームは SwiftUI を使い知見を増やすでしょうし、いまある技術で取り組みたい、あるいは余力のないチームであれば従来の UIKit ベースの開発になるのではないでしょうか。

しかし、もっとも重要なのは、「SwiftUI を使いたいのであれば、Swift の文法 + αを確実に押さえておかなければならない」という点にあるかと思います。

たとえば、SwiftUi だとプロパティラッパーという機能(@State@Environment@EnvironmentObject@ObservedObject@StateObject など)をフル活用することになると思いますが、これは SwiftUI の基礎となる Swift の文法や参照型・コピー型の正しい理解なくして使いこなすのは難しいのではないかと思います(あくまで主観ですが)。

巷には SwiftUI に関する本はちらほら出ていますが、現行の内容だと「写経はできた。で、それから先は?」という印象しか得られない書籍も少なくありません(もちろん、前述のプロパティラッパーなどについて詳細に、かつ実験的なコードで記述された書籍なども出始めています)。

ということで、UIKit と従来のモデル構造(MVCやMVVCなど)について十分理解を深めてから、SwiftUI に移行するのでも遅くはないし、その方が最終的には確実ではないかというのが私の意見です。


もし、近隣に大型の書店があって、3タイトルくらい SwiftUI の書籍があるのであれば、それらをみくらべてみて、できそうな書籍一冊に挑戦し、なにが課題なのか把握するのも、もちろん悪くないと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

ターゲットiOSによります。
新しいフレームワークのため、
レガシーiOSに対応する案件なら、
使えないか、処理を分けるなどの仕組みが必要になります。

私が経験があるのはストーリーボードを使った開発のみです。

これもピンキリなので、これだけではなんとも言えません。
ストーリーボードでも、オートレイアウトバリバリ使いまくってるのであれば、
コードレベルでの実装力は疑ってしまいますし、
オートレイアウトや、ストーリーボード配置のUIを使っていたとしても、コードで動的に配置を調整に挑戦したことあるか、で大分レベルが違います。
(個人的にはオートレイアウトはクソシステムなので、早々に撤廃すべきと思ってます)

なので、勉強はせど、
ターゲット・案件によってはまだ導入はできないかもよ、が真だと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.80%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る