はじめに
こんにちは。 IT エンジニア部の川口です。
スマホアプリ開発の技術について、弊社にカルチャーフィットするかどうかを 再 検討したので紹介します。
今までの記事はこちらです。
注意
- 2021/09/30 時点での情報を元に考えた
- FY2021 3Q からの変更点のみ 太字 で記載している
- その他の注意は FY2021 2Q と同様である
技術戦略表
今までと同様、スマホアプリ開発で使う技術を 4 つの分類に分けました。
凡例は 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 | - |
- Uno Platform
- MAUI が 2021 年 11 月に正式リリースされるため、Uno Platform を採用するメリットが減る
- https://github.com/dotnet/maui/wiki/FAQs#when-will-net-maui-be-available
技術選定
iOS と Android の両方で宣言的 UI フレームワークの安定版が使えるようになったため、業務でも必要に応じて採用したいです。
Xamarin.Forms は iOS 15 のベータ版でクリティカルな不具合 *1 が発生したこともあり、今後も使い続けるか不安が残ります。
前回伝えた通り、バインディングライブラリの更新速度が遅い課題もあります。
おわりに
スマホアプリ開発における技術戦略の紹介でした。
少しでも参考になれば幸いです。
逆に適切でない箇所などがありましたら、何らかの形でご指摘いただけると嬉しいです。
採用情報
現在弊社が募集している職種の一覧です。
興味がありましたらぜひご応募ください。
一緒に働けることを楽しみにしています!