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
390
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
180
Other Decks in Education
See All in Education
WaPEN_Asial2024.pdf
asial_edu
0
410
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
500
#英語力ランキング批判:EF-EPI,TOEFLスコア,英語教育実施状況調査
terasawat
0
530
脳卒中になってしまった さあ、どうする
japanstrokeassociation
0
320
Skynet to Schoolnet
draycottmc
0
160
Epithelium Flashcards
ndevaul
0
970
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
760
JavaScript - Lecture 6 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
week12@tcue2024
nonxxxizm
0
680
CompTIA Security+ SY0-601 Resumo
mariliarochas
2
2.5k
技術を楽しもう/enjoy_engineering
studio_graph
1
400
ACT FAST 20240830
japanstrokeassociation
0
230
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
Six Lessons from altMBA
skipperchong
26
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Measuring & Analyzing Core Web Vitals
bluesmoon
0
27
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
664
120k
[RailsConf 2023] Rails as a piece of cake
palkan
50
4.8k
Fireside Chat
paigeccino
32
3k
Designing for humans not robots
tammielis
249
25k
RailsConf 2023
tenderlove
29
870
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化 に活用できそう
ご清聴ありがとうございました