Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS開発におけるCopilot For XcodeとCode Completion / co...
Search
Fuya Yamada
December 17, 2024
Programming
1
2.8k
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
Fuya Yamada
December 17, 2024
Tweet
Share
More Decks by Fuya Yamada
See All by Fuya Yamada
Pathを活用してSwift Chartsの限界を超えろ / create-graph-using-path
fuyan777
2
1.4k
Other Decks in Programming
See All in Programming
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
4
590
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
120
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
210
AIともっと楽するE2Eテスト
myohei
9
3.1k
Understanding Kotlin Multiplatform
l2hyunwoo
0
120
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
740
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
40
15k
Hack Claude Code with Claude Code
choplin
8
2.8k
AIのメモリー
watany
11
960
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
250
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
7.4k
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
320
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
720
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
YesSQL, Process and Tooling at Scale
rocio
173
14k
BBQ
matthewcrist
89
9.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
4 Signs Your Business is Dying
shpigford
184
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Become a Pro
speakerdeck
PRO
29
5.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
850
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Transcript
iOS開発における Copilot For XcodeとCode Completion 株式会社ZOZO ブランドソリューション開発本部 / WEARフロントエンド部 iOSブロック
山田 楓也 | Fuya Copyright © ZOZO, Inc.
© ZOZO, Inc. Today’s Goal Copilot For XcodeとXcode16のCode Completionの コード補完機能を比較し、現時点の補完力の報告
© ZOZO, Inc. アジェンダ • 各ツールの説明 ◦ Copilot for Xcode
◦ Xcode16のCode Completion • iOS開発における補完力 3番勝負 ◦ 新規でコードを追加するケース ◦ テストコードを追加するケース ◦ AppleのSDKを扱うケース 3
© ZOZO, Inc. • 主な機能 ◦ コード補完 ◦ Swift や
Objective-Cに対応 ◦ 複数行の候補 GitHub Copilot for Xcode(GitHub Copilot) 4 GitHub Copilot code completion in Xcode is now available in public
© ZOZO, Inc. Xcode16のCode Completion(Code Completion) • SwiftとApple SDK専用の補完モデル ◦
macOS Sequoiaにする必要 5 Apple empowers developers and fuels innovation with new tools and
© ZOZO, Inc. 前提 - 業務PCだとSequoiaにできない都合上 新規でアプリを作るシチュエーションを想定 - 優劣を決めるわけではありません iOS開発における補完力
3番勝負 6 • 新規でコードを追加するケース • テストコードを追加するケース • AppleのSDKを扱うケース
© ZOZO, Inc. • ViewとStoreで構成されるアプリを実装するケース 1.新規コード追加 7 アイドルグループのリスト View:アイドルグループ名を表示 Store:状態を管理
© ZOZO, Inc. • Store内で下記のメソッドを加えたい ◦ 追加 ◦ 削除 ◦
更新 1.新規コード追加 8 現状のStoreの実装 実現したい実装を コメントして提案してもらう
© ZOZO, Inc. 1.新規コード追加 • 追加メソッドの結果:ほぼ同じ実装 ◦ 一部冗長な実装が含まれている(Code Completion) 9
GitHub Copilot Code Completion
© ZOZO, Inc. 1.新規コード追加 • 削除、更新メソッドの結果:差が出た ◦ コメントしなくても、文脈を読んで勝手に提案(両者) ◦ 正しく記述されていない(Code
Completion) 10 GitHub Copilot Code Completion
© ZOZO, Inc. 1. 新規でコードを追加するケース 11 ※ 個人差 / バージョン影響あり
GitHub Copilot
© ZOZO, Inc. • プレゼンテーションロジックのテストコードを追加 2. テストコードを追加するケース 12 アイドルグループのリスト Formatter:アイドル名を大文字変換
© ZOZO, Inc. 1.新規コード追加 • テストコードの結果:差が出た ◦ Formatterの実装内容をうまく汲み取れていない (Code Completion)
13 GitHub Copilot Code Completion
© ZOZO, Inc. 2. テストコードを追加するケース 14 ※ 個人差 / バージョン影響あり
GitHub Copilot
© ZOZO, Inc. • URLSessionでHTTPリクエストを非同期で送信するケース ◦ URLRequestを作成するところから開始 3. Apple特有のSDKを扱うケース 15
GitHub Copilot
© ZOZO, Inc. • HTTPリクエストの実装結果:ほぼ同じように実装 ◦ 一発で提案してくれた(Code Completion) 3. Apple特有のSDKを扱うケース
16 GitHub Copilot Code Completion
© ZOZO, Inc. • ボタンの実装結果:両者とも期待していない提案 ◦ 間違いではないがモダンな実装ではない(GitHub Copilot) ◦ 近いが文法的に間違い(Code
Completion) 3. Apple特有のSDKを扱うケース 17 GitHub Copilot Code Completion ※ UIButton.Configurationで詳細を設定する必要がある
© ZOZO, Inc. • 新規でコードを追加するケース • テストコードを追加するケース • AppleのSDKを扱うケース 3番勝負の結果
18 GitHub Copilot GitHub Copilot 引き分け ※ 個人差 / バージョン影響あり
© ZOZO, Inc. 株式会社ZOZO ブランドソリューション開発本部 / WEARフロントエンド部 / iOSブロック 山田
楓也 | Fuya AIに全て任せられる 時代が来ないかな
© ZOZO, Inc. https://wear.jp/ 20 • あなたの「似合う」が探せるファッションコーディネートアプリ • 1,700万ダウンロード突破、コーディネート投稿総数は1,400万 件以上(2024年9月末時点)
• コーディネートや最新トレンド、メイクなど豊富なファッション 情報をチェック • AIを活用したファッションジャンル診断や、フルメイクをARで試 せる「WEARお試しメイク」を提供 • コーディネート着用アイテムを公式サイトで購入可能 • WEAR公認の人気ユーザーをWEARISTAと認定。モデル・タレン ト・デザイナー・インフルエンサーといった各界著名人も参加
© ZOZO, Inc. • Xcodeでも生成AIを活用したCopilotが利用可能 • 現時点では、GitHub Copilotの方が補完力は優勢 • 今後、業務で積極的に活用して効率を上げたい
Conclusion 21
None