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
Gemini in Android Studio 使ってますか?
Search
satoryo56
June 25, 2024
Education
0
550
Gemini in Android Studio 使ってますか?
satoryo56
June 25, 2024
Tweet
Share
More Decks by satoryo56
See All by satoryo56
STORES Tech Conf 2024 “New Engineering” - 複数のScrollViewが連動!STORES レジ でスプレッドシート風UIを実装しました
satoryo56
0
870
Other Decks in Education
See All in Education
脳卒中になってしまった さあ、どうする
japanstrokeassociation
0
1.1k
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
【COPILOT無料セミナー】エンゲージメントと自律性の高いプロジェクト型人材育成に向けて~プロジェクト・ベースド・ラーニング(PBL)という選択肢~
copilot
PRO
0
190
ThingLink
matleenalaakso
28
3.8k
Medidas en informática
irocho
0
380
20241004_Microsoft認定資格のFundamentals全部取ってみた
ponponmikankan
2
370
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
Nodiレクチャー 「CGと数学」講義資料 2024/11/19
masatatsu
1
250
認知情報科学科_キャリアデザイン_大学院の紹介
yuyakurodou
0
140
Adobe Analytics入門講座【株式会社ニジボックス】
nbkouhou
0
23k
XML and Related Technologies - Lecture 7 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
Repaso electricidade e electrónica
irocho
0
210
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Agile that works and the tools we love
rasmusluckow
328
21k
Visualization
eitanlees
146
15k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Optimizing for Happiness
mojombo
376
70k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Transcript
Ebisu.mobile #6 Gemini in Android Studio 使ってますか?
自己紹介 2 佐藤 亮輔 さとう りょうすけ @satoryo056 STORES レジ・STORES 予約 Android /
iOS エンジニア エンジニア歴 ・Android 約 7 年(2017.4〜) ・iOS 約 1 年(2023.5〜)
Google I/O 2024 いかがでしたか? 3 引用
Gemini in Android Studio 4
Gemini in Android Studio 使ってますか? 5 もう使っているという方は ぜひコメントしてください ✋ ハッシュタグ
#ebisu_mobile もお願いします! まだ使っていない方は 今日のお昼ごはんをコメントしてくださいね 🍚
Gemini in Android Studio 6
Gemini in Android Studio でできること 7 ▪ チャット機能 ⚫ 自由形式でAndroid開発に関する質問ができる
⚫ 具体的なソースコードの生成を依頼できる ▪ ワンクリック操作 ⚫ ファイルの作成ができる ⚫ 生成したソースコードをコピーしたり既存のコードに挿入できる ▪ その他 ⚫ ソースコードの分析・コメント追加ができる ⚫ エラーのトラブルシューティングができる など
初見でsatoryoが思ったこと 8 確かに便利そうだけど 今まで Android Studio で使っていた Github Copilot と変わらなくない?
初見でsatoryoが思ったこと 9 みんなもそう思いませんか?
初見でsatoryoが思ったこと 10 思いますよね?
初見でsatoryoが思ったこと 11 そう、思うんですよ。
ということで 12 Gemini in Android と Github Copilot を対決させてみました⚔
Gemini vs Github Copilot 13 ▪ 今回の戦場 ⚫ Android Studio
Preview Koala ▪ 対決の内容 ⚫ チャット機能を使用 ⚫ コード生成の速度を測定
Gemini vs Github Copilot 14 ▪ チャットに入力する文章(お題) Jetpack Composeを使用したActivityを1つ作りたい。 任意の単語を50要素持った配列を縦型のリストで表示したい。
最初に、リストは10件だけ表示します。 その後リストの一番下までスクロールが完了したら10件追加で表示したい。
Gemini vs Github Copilot 15
Gemini vs Github Copilot 16
Gemini vs Github Copilot 17 生成できたのはいいけど実際にビルドできるの?
Gemini で生成したコード 18 ▪ ビルド結果 ⚫ 正常にビルドできた! ⚫ 追加ロードの処理も だいたいよさそう
Gemini で生成したコード 19
Github Copilot で生成したコード 20 ▪ ビルド結果 ⚫ エラーでビルドできず ⚫ onScrollStateChanged
が LazyColumn に存在しない? ⚫ おそらくRecyclerViewのメソッド
Github Copilot で生成したコード 21
ここまでの感想 22 ⚫ Gemini のコード生成が速い & 正常にビルドできる! ⚫ Github Copilot
との棲み分けが今後どうなるか気になる
Gemini in Android Studio を社内で使う場合 23 プロダクトのコードを Gemini サーバに送信するのは セキュリティ的に良くないかも
Gemini in Android Studio を社内で使う場合 24 ⚫ 学習に利用されないように Do not
use context from any project に設定する
Gemini in Android Studio を社内で使う場合 25 ⚫ .aiexclude をプロジェクトに追加して学習に使わせないようにする
Gemini in Android Studio を社内で使う場合 26 ⚫ コード分析など一部の機能では Gemini サーバへ送信するか聞かれるので注意
Gemini in Android Studio を社内で使う場合 27 プロダクトコードだとを最大限活用するのは厳しそう... サーバに送信しない方法で何かに利用できないかな
Gemini in Android Studio を社内で使う場合 28 ▪ Kotlin化の推進 ⚫ Javaのソースコードを
Kotlin へ変換する ⚫ 既存機能でもあるが、複雑なロジックを変換するのに便利かも ⚫ (逆に Kotlin から Java へ変換することもできた)
Gemini in Android Studio を社内で使う場合 29 ▪ Jetpack Compose化の推進 ⚫
AndroidView (.xml) で書かれたコードを Jetpack Compose へ変換する ⚫ ConstraintLayout も Column などに変換できた
まとめ 30 ⚫ コード生成の速さ・正確さは Github Copilot より良さそう ⚫ 社内で使用する場合は学習に使われないように設定しておくこと ⚫
新規コード生成だけでなく Kotlin化 や Jetpack Compose化 に活用できそう
ご清聴ありがとうございました