asken テックブログ

askenエンジニアが日々どんなことに取り組み、どんな「学び」を得ているか、よもやま話も織り交ぜつつ綴っていきます。 皆さまにも一緒に学びを楽しんでいただけたら幸いです! <br> 食事管理アプリ『あすけん』 について <br> https://www.asken.jp/ <br>

AndroidエンジニアがAIを使ってiOS開発にチャレンジした話

はじめに

こんにちは。Androidエンジニアの佐藤です。

普段はAndroidアプリ開発を担当していますが、今期はAIの力を借りてiOS開発に本格的にチャレンジしました。

結果として、前期は全く対応しなかったiOS開発に関して、今期は約20件ほどの開発を対応し、最終的にはiOSのリリース作業まで任せてもらえるようになりました。

今回は、Androidエンジニアである私が、どのようにAI(主にClaudeCodeを使用)を活用し、専門外のiOS開発に取り組んだのか、その過程で得られた知見やリアルな実情についてご紹介します。

挑戦した背景

まず、そもそもなぜAndroidエンジニアの私がiOS開発をさせてもらえたのかについてです。

今期は、iOSの重たい案件が並行で進んでおり、経験豊富なiOSエンジニアがそちらに集中していました。

その結果、小型のタスクがなかなか進められない状況であり、「それならAIを活用しながら挑戦してみよう」という機会が生まれた、という背景があります。

私自身も、iOS開発にチャレンジしたい気持ちをもっていたので、「それであれば!」ということで、チャレンジさせてもらうことになりました。

AIは万能ではない:最初の壁「環境構築」

まず、「AIを使えば、専門外のiOS開発も全て自動でやってくれるのでは?」と期待しがちですが、現実はそうではありませんでした。

最初の大きな壁は「開発環境の構築」です。

Xcodeのインストール、CocoaPodsやSwift Package Managerを使ったライブラリの依存関係の解決、プロジェクトのビルド設定など、これらはAIに丸投げできるものではなく、ドキュメント等を読みながら自力で進める必要がありました。

ただし、構築を進めていく中で発生する特定のエラー(「No such module 'X'」やビルド時のにわかには理解しがたいエラーメッセージなど)の調査と解決策の提示については、AIが非常に役立ちました。

AIと進める開発と品質担保

環境が整えば、いよいよ実装です。しかし、AIが生成したコードをそのままマージするわけにはいきません。品質をどう担保するかが次の課題でした。

1. コード品質とレビュー

私自身はiOS開発に精通しておらず、AIが生成したコードの細かなニュアンスや、Swift/iOSのベストプラクティスから外れた部分を適切にレビューすることは難しい状況でした。。 自信が持てない部分については、素直にチームのiOSエンジニアにレビューを依頼しました。

2. スモールスタートの重要性

この問題を軽減するため、まずは軽微な修正や小規模な機能追加から担当するようにしました。 タスクが小さければ、AIが生成するコードの差分も明確になります。

差分が小さいことで、AIの提案内容を自分でも理解・学習しながら進めやすくなり、レビューの負担も軽減できました。

コードに不安があるからこそ、丁寧な動作確認

AIが生成したコードは、一見正しく動いているように見えても、特定の条件下で意図しない動作をすることがあります。 「AIが書いたから大丈夫だろう」ではなく、「AIが書いた(し、自分も不慣れだ)からこそ不安だ」という意識を持ち、通常よりも入念に、仕様と照らし合わせながら動作確認を行うことを徹底しました。

Android/iOS両対応タスクでの相乗効果

私のチームでは、幸いにもAndroidとiOSの両方を私が担当させてもらえるタスクが多くありました。 この時、非常に効果的だった進め方があります。

  1. まず、得意なAndroidで先に仕様を固めながら実装する。
  2. 次に、そのAndroidの実装ロジックや設計をインプット(プロンプト)としてAIに与え、iOS版の実装を依頼する。

この「Androidの実装をインプットとする」アプローチは、AIがタスクの文脈やロジックを深く理解する助けとなり、生成されるiOSコードの精度が格段に上がったように感じています。

事例

「お問合せページの移行対応」というタスクがありました。 これは、アプリ内のお問合せページを新しい仕組みに移行するもので、WebViewの差し替えや、お問合せ時に送信する付加情報の変更といった、両OS共通の実装が必要でした。

従来であれば、Android担当とiOS担当がそれぞれステークホルダー(企画担当者)と仕様を調整し、実装後に動作をすり合わせる必要がありました。

しかし今回は、ステークホルダーとの仕様調整から実装までを私一人で集約することができました。

この「一人二役」の進め方には、大きなメリットがありました。

一人二役による生産性向上と、その限界

この取り組みによって、生産性にも変化がありました。

効率が上がった点

簡単なタスクであっても、仕様の細かな調整や、Android/iOS間での動作のすり合わせ、それぞれの動作確認は意外と時間を要します。従来は、この「すり合わせ」にAndroid担当者とiOS担当者間のコミュニケーションコストが発生していました。 これを一人で集約(Android実装 → iOS実装 → 両方の動作確認)することで、そのコストが削減され、チーム全体の効率が上がった面があります。

限界とリスク

ただし、この手法はあくまで「小さなタスク」だからこそ有効でした。 もしこれが重たいタスクだった場合、一人で両OSを実装するとコード量が膨大になり、レビューする側の負担が激増します。

結果として、レビューがボトルネックとなり、逆に全体の効率を落とすリスクがあると感じています。

まとめ

今回は、AndroidエンジニアがAI(ClaudeCode)の支援を受けてiOS開発にチャレンジした話をご紹介しました。

AIは万能ではなく、特に環境構築や最終的な品質担保には人間の介入が不可欠です。

しかし、スモールスタートを心がけ、Androidでの実装をインプットにするなどの工夫をし、チームの協力を得ることで、前期では全く開発しなかったiOSに関して対応できるようになり、リリース作業まで担当できるようになりました。

専門外の領域であっても、AIを「賢いアシスタント」として活用し、チームの理解を得ながら挑戦していくことは、個人のスキルアップとチームの柔軟性向上に大きく貢献すると感じています。

さらに、iOS開発の実務を通じて、Androidとは異なる独自の課題や開発プロセスを深く知ることができました。この知見は、OS間の分断を解消し、「モバイル」として最適な開発プロセスや品質向上を追求する上での共通基盤となると考えています。

最後に、何よりもチームメンバーの理解とサポートがあったからこそ、チャレンジしていけるものだと考えております。

本当にありがとうございました!

採用について

askenでは、Android・iOSどちらも開発したい!という想いをもったエンジニアを絶賛募集中です。

まずはカジュアルにお話しできればと思いますので、ぜひお気軽にご連絡ください!

https://hrmos.co/pages/asken/jobs

asken techのXアカウントで、askenのテックブログやイベント情報など、エンジニアリングに関する最新情報を発信していますので、ぜひフォローをお願いします!