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
3k
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
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
120
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
250
r2-image-worker
yusukebe
1
150
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
4
2.2k
詳細の決定を遅らせつつ実装を早くする
shimabox
1
920
CSC305 Lecture 14
javiergs
PRO
0
250
CSC305 Lecture 13
javiergs
PRO
0
400
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
120
外接に惑わされない自システムの処理時間SLIをOpenTelemetryで実現した話
kotaro7750
0
230
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
600
contribution to astral-sh/uv
shunsock
0
590
Private APIの呼び出し方
kishikawakatsumi
2
750
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
A Tale of Four Properties
chriscoyier
161
23k
Embracing the Ebb and Flow
colly
88
4.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Building Adaptive Systems
keathley
44
2.8k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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