- Swift 6 と最新のiOSアプリ開発では LLMベースのツール の活用度が著しく低く、Android(Kotlin、Compose、Cursor活用)と比べて 生産性の格差 が大きく広がっている
- Androidチームは最新機能を古いOSまでサポートしながら高速に開発できる一方、iOSチームは最新のSwift 6構文や機能制約、フレームワークのサポート不足により 生産性低下 と コードベース移行の負担 を経験している
- LLMがSwift 6の新しい並行性モデル(concurrency)と複雑なパターンを理解できず、LLMのコード自動化・高速化能力 が制限されている
- Swift 6の導入自体は一部の開発者には前向きに評価されているが、LLMツールとの 互換性不足 が問題として指摘されている
- Android、Compose、CursorなどGoogleエコシステムの 後方互換性と開発者フレンドリーなアプローチ が際立つ一方、Swift/Apple側のフレームワーク、API更新速度への不満が続いている
Swift 6とLLM時代の開発生産性
iOS vs Android 開発生産性の体感
- 筆者は小規模なiOSチームでSwift 6を用いて新しいアプリを開発中であり、小規模なAndroidチームと 同時に開発 を進めている
- Androidチームは Kotlin、Compose、Cursor の活用により 高速な開発と最新機能対応 が可能で、2019年発売のAndroid 10まで幅広く対応している
- iOSチームは iOS 16(2022) 以上しかサポートできず、最新のSwift 6導入によってObservable、ジェネリック parameter packs などさまざまな機能制約を経験している
Swift 6とLLMの不調和
- Swift 6における 大規模な文法・フレームワーク変更 がLLM(大規模言語モデル)支援の時期と重なり、LLMがSwift 6の新しい concurrency システムを うまく扱えない
- コードを自動生成または推薦するLLMツール(例: ChatGPT、Claude、Cursorなど)は、Swift 6関連のデータやパターンを十分に学習できておらず、正確なコード生成に限界 が生じている
- 開発者はLLMが正しく理解できない部分を手動で文脈説明したり、ルールを追加したりして補わなければならず、生産性低下 と反復作業を招いている
コミュニティの意見と経験
- 一部のiOS開発者は AndroidのAPI後方互換性、Compose UIの完成度、Cursorツール などに 羨望 を示している
- Swift 6導入は誤った選択だったという意見もあるが、実際には新しいパターンと学習の必要性を認めつつも、コードの表現力と品質 が高まったという前向きな評価も存在する
- Appleの主要フレームワークがまだ Swift 6の並行性(concurrency)体系 に合わせて十分に更新されておらず、GCDとの混用などにより コードの複雑性 と 生産性低下 を経験したという共有がある
- 一部のチームはSwift 6導入を先送りし、既存コードベースとの互換性問題の解決を優先している
AndroidとAppleエコシステムの違い
- Androidは 新しいAPIの後方互換(Backport)方針 により開発者生産性を強化し、長年の欠点(断片化、デバイスごとのバグなど)を克服しつつある
- 一方Appleは プライベート/制限付きAPI と遅い更新方針により、開発者が繰り返し類似機能を自ら実装しなければならない負担がある
- Compose、Cursorなど AI・自動化ツール導入 により、Android開発の生産性はさらに速く向上している
- iOS、Swift開発者はLLM活用が難しい時期に、開発トレンドの変化 と キャリア上の立ち位置 への不安を感じるケースが増えている
結論と実務上の示唆
- Swift 6自体の革新性とコード表現力は高く評価されるが、LLM・AIコーディングツールの限界 により、当面は 手作業と反復的な説明 が避けられない
- 迅速な開発と最新機能活用が必要なプロジェクトでは、Android + Compose + Cursor の組み合わせの生産性が圧倒的である
- Appleがフレームワークおよびツールエコシステムの更新を迅速に進めない限り、Swift 6導入の現場では 生産性低下とLLM活用の限界 を受け入れなければならない
3件のコメント
全体的にはその通りだと思いますが、MLXでローカルモデルをApple Siliconデバイス上で少し動かしてみた立場からすると、100%同意するのは難しいですね。
ちなみに、モデル開発時に
mlxへ移植しなければならない負担もありますし、mpsを有効化しても体感では CPU より計算が少し速い程度なので、まだ不便です。ああ…つらい、痛いところを突かれた…