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

本記事は エムティーアイ Advent Calendar 2021 の 25 日目の記事です。
昨日は @mmbtsAO さんで Azure AD B2C 構築のつまずきポイント でした。

はじめに

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

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

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

注意

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

技術戦略表

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

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

iOS

開発言語

Stable Experimental Neutral Deprecated
Swift (5.5 以上) Swift (5.5.2 以上) - Objective-C
Swift (5.5 未満)
  • Swift
    • Xcode 13.2(Swift 5.5.2)で Swift Concurrency が iOS 13.0 以上にバックデプロイされた *1 ので、積極的に使ってもいいと考える
      • ただ Swift Concurrency は学習コストが高く、まだ発展途上なので、プロジェクト毎に採用時期などを検討すべき

UI フレームワーク

Stable Experimental Neutral Deprecated
UIKit
SwiftUI
- - -
  • FY2021 4Q から変更なし

Android

開発言語

Stable Experimental Neutral Deprecated
Kotlin (1.5.0 以上) Kotlin (1.6.0 以上) - Java
Kotlin (1.5.0 未満)
  • Kotlin
    • 1.6 系がリリースされた *2 ので、特別な事情がない限りは 1.6 系の最新バージョン(2021/12/24 現在は 1.6.10)を使うべき
    • Jetpack Compose の最新バージョンである 1.0 系は Kotlin の 1.6 系と互換性がない *3 ので、その場合は 1.5 系を使う

UI フレームワーク

Stable Experimental Neutral Deprecated
XML
Jetpack Compose (1.0.0 以上)
- - -
  • Jetpack Composeのバージョンについて、1.0.0以上を使うよう明記した

クロスプラットフォーム

Stable Experimental Neutral Deprecated
Xamarin.Forms (5.0 以上)
 .NET Standard (2.1 以上)
 C# (8.0 以上)
Xamarin.Forms
 .NET (5.0 以上)
 C# (9.0 以上)
MAUI
 .NET (6.0 以上)
 C# (10.0 以上)
Xamarin Native
Uno Platform
Xamarin.Forms (5.0 未満)
 .NET Standard (2.1 未満)
 C# (8.0 未満)
- - Flutter -
- - React Native -
- - KMM -
  • MAUI
    • .NET 6 *4 と C# 10 *5 は 2021/11 に正式リリースされたが、MAUI は延期された
      • 2021/12/24 現在、まだ正式リリースされていない
  • Xamarin.Forms
    • 最後の最新リリースから 2 年間サポートされる *6
      • 少なくとも 2023/11 までは問題なく使える
      • それまでに .NET 6 + MAUI に移行する必要がある
    • C# の規定のバージョン *7 について、.NET Standard 2.1 が C# 8.0、.NET 6 が C# 10 なので、それ以上を使うよう明記した
    • .NET Standard は C# 9.0 以上に対応していなく、使うには .NET 5 または .NET 6 を導入する必要がある *8
      • ただ Visual Studio App Center が .NET 5 や 6 に対応していない *9 ので、積極的には使いづらい

技術選定

Swift Concurrency が iOS 13 以降にバックデプロイされたため、検討した上で業務でも導入したいです。
Xamarin.Forms はサポート終了と MAUI の正式リリースが見えてきたので、移行の計画を本格的に考える必要があります。

おわりに

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

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

以上 エムティーアイ Advent Calendar 2021 の 25 日目の記事でした。

Advent Calendar 2021 完走!

Merry Christmas 🎄✨

本記事でエムティーアイ Advent Calendar 2021 は終了です。
5 年振りに開催したのですが、全枠埋まって完走できたので非常に嬉しいです。

Advent Calendar の作成を許可してくれた弊社、業務で忙しい中執筆してくれた同僚、そして読んでくださったみなさま、本当にありがとうございました。
おかげで楽しい 25 日間となりました。
エモい記事や技術に特化した記事など様々であり、一読者としても楽しかったです。

詳細な感想や振り返りは別記事で書きたいと思っています。

ではみなさま、よいクリスマスを!🎂

採用情報

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

js01.jposting.net

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