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

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

モバイルアプリエンジニアはFlutterに手を出すべきか? そこらへんの生存戦略

Flutter、伸びてきてます。
数はReactNativeとFlutterを比較しています。Flutterというのは普通に英単語のようなので、Flutterが登場する2017年を基準に補正しています。今年になってようやくReact Nativeを抜き去り、今は少し落ちつたようです。

これは国内でも似たような感じです。

 

f:id:otihateten3510:20201028001902p:plain

 

それでも「React Nativeくらい」レベル

React Nativeの手を出さなかったモバイルアプリエンジニアは、Flutterに手を出す理由がさほどないと思います。
エージェントにも聞いてみましたが、やはりFlutter案件はまだ多くない上に安めらしいです。
ハイブリッドアプリを使うんですからそりゃそうですよね。

 

もちろん自社が採用したらやって良いと思う

一社に所属しているエンジニアと、何社とも取引するフリーランスエンジニアとでは状況がまるで違います。Flutterを採用して1案件あたりの単価を下げ数をさばくという営業方針を会社が取るのであればそれについて行って良いと思います。
まあ会社辞める時ちょっと大変ですけど。それ言ったらRxSwiftしかやってない人とかいましたし。

 

フリーランスの場合は少し慎重さが必要です。

 

おおよそのモバイル案件比率

大体こんな感じです。
iOS案件が100あったら、大体Android案件も100あります。日本特有ですねこれ。
そのうち20くらいがハイブリッド案件で、最近はFlutterが徐々に増えてきています。
残りの80のうち、15くらいが特殊な案件です。例えばRxSwiftを使ってるとか。何かこだわってるやつです。

f:id:otihateten3510:20201028002811p:plain

私が攻めてるのはメインボリュームである「普通のiOS案件」です。
特殊なiOS案件は単価が高いですが色々と無理だと悟りました(詳細は省く)

ハイブリッド案件を狙うのは基本的に悪手

上の図を見てほしいんですが、ハイブリッドの領域を取ろうとするのはAndroidエンジニアとiOSエンジニアの両方です。
注意が必要なのは、
普通のAndroid案件:普通のiOS案件:ハイブリッド案件=65:65:20
だということです。
ちょっと図があれですが、見かけでは大きいように見えて、狙うエンジニアの数からしたらめっちゃ少ないんです。
自ずと需要と供給の関係でエンジニア的には美味しくないですよね。

 

ハイブリッド案件を狙うメリット

それでも狙う理由があります。

  • 基本小規模 → ベンチャーや立ち上げフェーズ → リモート開発
  • Flutter案件が大きくなってきた時、iOSエンジニアは重宝されそう?
  • ハイブリッド卒業する時にネイティブ開発者として関われるかも?
  • 1案件が小さく、色んな案件に関われるかも?

これのどこらへんがメリットなんだろう?と我ながら思うんですが。

私は諸事情で現在フルリモート開発をしていまして、その関係でハイブリッドに手を出すべきなのかなぁと悩んでいます。
フルリモート可な案件にFlutter多いんですよね

また、いずれフルネイティブにしたいと考えてるような場合、おそらくそのままスライドで仕事を取れるでしょう。まあレアケースな気もしますけど。

 

iOS出身のFlutter使いって少なそう

あと私がFlutterに興味を持った理由の一つにこれがあります。

FlutterはGoogle由来ですから、自ずとAndroid出身者が多いと予想されます。プロジェクトでもAndroidファーストでアプリをリリースしたいという時にどうせならとFlutterを選択するケースがあるんじゃないでしょうか?iOSファーストの場合は普通にiOSファーストでやると思います。私が今やってる3つの案件のうち2つはiOSファーストです。Android版まだ出ません。

逆に考えれば、iOSの知識を持ってるFlutter使いってレアなんじゃないでしょうか?予想ですけど。ハイブリッドと言ってもSwift触るところも出てくるらしいですから、Flutter案件でFlutterエンジニアを2人3人抱えるというフェーズではiOS出身者が欲しくなると思います。

 

とりあえず

まあ全部予想だし勘なんですけどね

誰か情報交換しませんか?

 

とりあえず来年に向けて少し勉強してみようと思います。流石にiOS9年Android2年やってるんで理解できないなんて事ないと思うんですが・・・RxSwiftはダメでしたが・・・