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
The Rails Doctrine Decade
koic
2
490
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
120
setup-vp GitLab対応の裏側
naokihaba
0
150
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
620
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
mrbgem 三角測量 開発
ogom
0
200
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
440
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
13
6.5k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
130
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.1k
速習iPhone Duo対応
yuukiw00w
2
960
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Chasing Engaging Ingredients in Design
codingconduct
0
340
The Pragmatic Product Professional
lauravandoore
37
7.5k
Believing is Seeing
oripsolob
1
240
Accessibility Awareness
sabderemane
1
230
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
720
Making Projects Easy
brettharned
120
6.8k
Mobile First: as difficult as doing things right
swwweet
225
10k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
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