【FY2021 4Q】スマホアプリ開発の技術調査報告

はじめに

こんにちは。 IT エンジニア部の川口です。

スマホアプリ開発の技術について、弊社にカルチャーフィットするかどうかを 検討したので紹介します。

今までの記事はこちらです。

注意

  • 2021/09/30 時点での情報を元に考えた
  • FY2021 3Q からの変更点のみ 太字 で記載している
  • その他の注意は FY2021 2Q と同様である

技術戦略表

今までと同様、スマホアプリ開発で使う技術を 4 つの分類に分けました。

f:id:mti-techblog-writer:20211001165642p:plain

凡例は FY2021 2Q と同様です。

iOS

開発言語

Stable Experimental Neutral Deprecated
Swift (5.4 以上) Swift (5.5 以上) - Objective-C
Swift (5.4 未満)
  • Swift
    • GitHub Actions や Azure Pipelines などの CI サービスで Xcode 12.5 以上を利用できるようになったため、5.4 系を使うのがいい
    • 5.5 がリリースされたので使ってもいいが、Xcode 13 が安定しているかは未調査である
      • async/await は非常に魅力的な機能なので、問題なければ積極的に使っていきたい

UI フレームワーク

Stable Experimental Neutral Deprecated
UIKit
SwiftUI
- - -
  • SwiftUI
    • iOS 15 がリリースされ、iOS 13 のサポートを終了するアプリが増えてくるので、業務で使ってもいいと考える
    • 正式リリースから 2 年経ち、業務で採用している他社のプロジェクトが増えてきて、実績も十分にある

Android

開発言語

Stable Experimental Neutral Deprecated
Kotlin (1.5.0 以上) - - Java
Kotlin (1.5.0 未満)
  • FY2021 3Q から変更なし

UI フレームワーク

Stable Experimental Neutral Deprecated
XML
Jetpack Compose
- - -
  • Jetpack Compose
    • 正式リリースされた
    • 安定版がリリースされたので業務で使ってもいいと考える

クロスプラットフォーム

Stable Experimental Neutral Deprecated
Xamarin.Forms (5.0 以上)
C# (.NET Standard 2.1 以上)
MAUI Xamarin Native
Uno Platform
Xamarin.Forms (5.0 未満)
C# (.NET Standard 2.1 未満)
- - Flutter -
- - React Native -
- - KMM -

技術選定

iOS と Android の両方で宣言的 UI フレームワークの安定版が使えるようになったため、業務でも必要に応じて採用したいです。
Xamarin.Forms は iOS 15 のベータ版でクリティカルな不具合 *1 が発生したこともあり、今後も使い続けるか不安が残ります。 前回伝えた通り、バインディングライブラリの更新速度が遅い課題もあります。

おわりに

スマホアプリ開発における技術戦略の紹介でした。

少しでも参考になれば幸いです。
逆に適切でない箇所などがありましたら、何らかの形でご指摘いただけると嬉しいです。

採用情報

現在弊社が募集している職種の一覧です。

js01.jposting.net

興味がありましたらぜひご応募ください。
一緒に働けることを楽しみにしています!