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
690
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
1k
Other Decks in Education
See All in Education
The Task is not the End: The Role of Task Repetition and Sequencing In Language Teaching
uranoken
0
310
Power Automate+ChatGPTを使ってエンジニア教育を改善してみた #RPALT
masakiokuda
0
150
Ch4_-_Partie_2.pdf
bernhardsvt
0
100
AWS Well-Architected Labを活用してつよつよAWSエンジニアになろう!!! #jawsug_tokyo
masakiokuda
0
310
OCIでインスタンス構築してみた所感
masakiokuda
0
160
(説明資料)オンラインゆっくり相談室
ytapples613
PRO
0
250
Info Session MSc Computer Science & MSc Applied Informatics
signer
PRO
0
130
(モブ)エンジニアが伝えるアウトプット活動のススメ!! #カンリーLT
masakiokuda
2
250
Web Search and SEO - Lecture 10 - Web Technologies (1019888BNR)
signer
PRO
2
2.6k
Web からのデータ収集と探究事例の紹介 / no94_jsai_seminar
upura
0
150
Data Representation - Lecture 3 - Information Visualisation (4019538FNR)
signer
PRO
1
2.2k
新人研修の課題と未来を考える
natsukokanda1225
0
1.4k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
200k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Producing Creativity
orderedlist
PRO
344
40k
Thoughts on Productivity
jonyablonski
69
4.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
Typedesign – Prime Four
hannesfritz
41
2.5k
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化 に活用できそう
ご清聴ありがとうございました