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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Fuya Yamada
December 17, 2024
Programming
1
3.1k
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.5k
Other Decks in Programming
See All in Programming
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
670
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
260
AgentCoreとHuman in the Loop
har1101
5
210
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
590
Python札幌 LT資料
t3tra
7
1.1k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
440
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
170
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
組織で育むオブザーバビリティ
ryota_hnk
0
160
AI時代の認知負荷との向き合い方
optfit
0
130
GISエンジニアから見たLINKSデータ
nokonoko1203
0
200
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
0
120
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
200
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
[SF Ruby Conf 2025] Rails X
palkan
0
730
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
67
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
88
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
The Mindset for Success: Future Career Progression
greggifford
PRO
0
230
Abbi's Birthday
coloredviolet
1
4.6k
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