Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
iOS開発におけるCopilot For XcodeとCode Completion / co...
Search
Fuya Yamada
December 17, 2024
Programming
3.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
Fuya Yamada
December 17, 2024
More Decks by Fuya Yamada
See All by Fuya Yamada
Pathを活用してSwift Chartsの限界を超えろ / create-graph-using-path
fuyan777
2
1.7k
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
440
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
390
setup-vp GitLab対応の裏側
naokihaba
0
150
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
120
JRuby: Past, Present, and Future
headius
0
220
カツオ、ご期待ください
suneo3476
0
140
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
140
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.8k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
590
How to make the Groovebox
asonas
2
2.5k
Ethics towards AI in product and experience design
skipperchong
2
410
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Mind Mapping
helmedeiros
1
390
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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