IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→法人化(今年))

実務におけるSwiftUI,Combine登場の影響(随時更新)

QiitaなんかではSwiftUIやCombineが活発で注目されています。
iOS界隈はAndroidやWebに比べて一歩慎重に進行しているらしく、先進的な人にとってはそれがもどかしいようです。

 

私はどちらかと言えばアーリーマジョリティーで、先進的なものを少し毛嫌いするタイプです。明らかに悪影響も見えてしまうので。
そこで実務的にどういうふうになるか?という観点で、分かり次第メモしていこうと思います。
(現状は大して調べられていません。半日程度)

 

 

SwiftUIを使うために必要な環境

Xcode11以上(2019/09/08時点でbeta)
iOS13以上(今月リリース)
MacOS10.15(2019/09/08時点でbeta)

 

Macは任意ですが、一部使用に制限が出るようです。
私はMacOSをbetaにすると仕事に影響が出そうなので諦めました。

 

iOS13以上は必須要件

つまり、iOS12を切れるアプリじゃないと使えないです。
2019/09/08時点で少し調べてみましたが

Twitter iOS11以上
Facebook iOS9以上
Yahoo iOS11以上
LINE iOS10以上

まあここらへんですよね。
多くのアプリでSwiftUIが使えるのはおそらく2年〜4年後です。iOS15か16の頃。
Swift2から4にあがるまで2年くらいなので、そういうイメージですね。
割と長いので慌てる必要はないです。

じゃあ勉強するにはどうすればいいか?といえば
iOS13以降のアプリを作るしかないです。

StoryboardとSwiftUIは混合できるか?

できるようです。
既存プロジェクトにSwiftUIを含めることもおそらく可能ですが、最低バージョンがiOS13以上でないとエラーになります。

 

多くのプロジェクトではSwiftUIとStoryboardのブリッジになる

約束された未来です。
Androidの方も今そういう感じですね。
SwiftとObjective-Cとのブリッジみたいなイメージでしょうか?
SwiftUIで覚えなければならないことが割と多いので、非常に高コストな期間が2021年〜2025年くらいまで続くと思います。
そういうとこやぞ。

新しくiOSを始める人はSwiftUIだけ覚えればいい?

まだNOです。
これが許されるのは2021年以降の新規案件くらいですね。

 

Storyboard,Xibは消滅する?

これはまだわかりません。
例えばObjective-Cはほとんど成りを潜めましたが、Xibはまだ生きています。

3年くらいで答えは出るでしょう。

 

 

一旦まとめ

先進的な人にあてられて慌てて勉強する必要は無いですが、スイッチングに関しては戦略的に動けるようにしておきたいですね。
私は本格的に覚えるのは来年にしようと思います。

それにしても新しく覚える人は何世代分の知識を覚えなきゃならないんでしょう?また参入障壁が高くなってませんか?

あと主流の方法がガンガン変更される中で、独自路線で作ろうとするのはやっぱり危険ですね。自己満足のために苦しむだけです。巨人の肩を信じましょう。

ちなみに私がSwiftを触り始めたのは2.2からだったと思うのですが、一番盛り上がっていたのはSwift1の頃でしたね。世間の加熱と実務には乖離があるので怖いです。