どちらでも
AI 初級者

Android開発者のためのローカルAI入門:Gemma3nとKotlinで作る実用的なAI内蔵アプリ

monaka_12 こたろう

クラウドAPIに依存しない、デバイス上で動作するローカルAIアプリケーションの開発手法を解説します。GoogleのGemma3nモデルを使用し、テキスト・画像・音声に対応したマルチモーダルAIアプリをKotlinで構築する具体的な実装パターンを紹介します。

セッションでは、Android Studio+Kotlin環境でのGemma3nセットアップから、実際のチャットアプリケーション実装まで、重要なコードポイントを説明します。プライバシー保護、オフライン動作、レスポンス速度最適化など、実用アプリに必要な技術的課題とその解決策も深掘りします。

従来のクラウドAI開発との違いや、ローカルAIの限界と可能性についても議論し、参加者がすぐに自分のプロジェクトで試せる具体的な実装例とベストプラクティスを共有します。AI初心者から経験者まで、Kotlinでの新しい開発体験を一緒に探求しましょう。

どちらでも
Kotlin言語・プログラミング 初級者

AndroidとiOSのアーキテクチャの歴史と進化 〜プラットフォーム横断で見る設計思想の変遷〜

monaka_12 こたろう

ターゲット
・アーキテクチャの歴史を復習したい人
・最近Android,IOSに触れ、昔の歴史を加味してアーキテクチャを理解したい人

概要
参加者の中には最近Androidエンジニアになった方や学生の方々も多いのではないでしょうか。
そんな方々に向けた、今までの歴史を振り返り、アーキテクチャの理解度を上げるためのセッションです。
初期からのアーキテクチャの主要な部分をAndroid,IOS横断で遡り、現状のMVVM,TCA,Fluxなどの思想の分かれ方の理解を深めます。

テーマ理由
・宣言的UI普及により、アーキテクチャが転換期であるため
・他の方のセッションで最先端のアーキテクチャ考察があると考え、前提となるセッションがあった方が良いと考えたため。

1
ショート(20分)
ツール/エコシステム 中級者

KDocとDokkaでいい感じのドキュメンテーション生活を送る

n_seki_ uwaseki

ライブラリについて知りたい場合、APIドキュメントを読めば手早くライブラリのインターフェイスを俯瞰することができます。
Kotlinで実装されたライブラリも例外ではなく「いい感じのAPIドキュメント」が公開されています。
例) OkHttp https://square.github.io/okhttp/5.x/okhttp/okhttp3/

実はKotlinではDokkaというライブラリを使うことで「いい感じのAPIドキュメント」をかんたんに作成することができます。

このセッションでは実際に業務で得た知見を中心に、Kotlinコードのドキュメンテーションに用いられるKDocの文法を紹介し、そこからDokkaがどのような公開用ドキュメントを生成できるのか解説します。

ライブラリ利用者のことを考えた、いい感じのドキュメンテーションの方法を一緒に学んでいきましょう!

1
ショート(20分)
Android 初級者

間違いを未然に防ぐ Kotlin 設計パターン入門

tsumuchan_jp つむちゃん

Kotlin を用いたプロダクト開発で以下のようなうっかりミスを経験したことはありませんか?

  • メソッドに Int 型の引数が2つあり、引数の順番を間違えて渡してしまった
  • enum や sealed class の when 式で分岐漏れが発生した
  • 本来参照してはいけないモジュールのクラスをいつの間にか参照していた

Kotlin の型システムや修飾子を正しく活用することで、こうした「うっかりミス」や「設計上の逸脱」をそもそも発生させない設計が可能です。

本セッションでは、Kotlin の型システムや修飾子(internal, private など)を活用し、間違いを事前に防ぐ手法を紹介します。

2
採択
ショート(20分)
AI 初級者

AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド

nishimy432 nishimy

私たちは、レガシーコードのリファクタリングを通じてKotlinが持つ強力な言語特性を最大限に活かすための要素を模索し、「Kotlinらしいコードとは何か」という本質的な問いに向き合ってきました。

本セッションでは、AIを強力なパートナーとして活用し、単に動くコードを生成するだけでなくレガシーコードを「Kotlinらしい」真にモダンなコードに置き換える実践的なアプローチを深掘りします。

特に重要なのが、高品質な「Kotlinらしいコード」を生成させるための効果的なプロンプトです。本セッションでは、実際に試行錯誤を通じて得られた効果的な対話の例や、改善点、そしてそれによって生成されたコードの比較を具体的に示します。これにより、参加者の皆様が自身のプロジェクトでAIを用いてコードを刷新する際の実践的なヒントとノウハウを提供し、コードを生まれ変わらせる一助となることを目指します。

3
採択
ショート(20分)
Webバックエンド/サーバサイド 中級者

累計5000万DLサービスの裏側 - LINEマンガのKotlinで挑む大規模Server-side ETLの最適化

omelette_alpaca Akito Ono

LINEマンガは累計5000万ダウンロードを超え、日々多くのユーザーにレコメンデーションを提供しています。 一見シンプルなバッチ処理も、この規模になると、億単位のデータを高速に連携する必要があるなど、全く別の課題が生まれます。 私たちは、これらの大規模データ処理を、Kotlinで実装したETLバッチパイプラインで支えています。

本セッションでは、この大規模ETLシステムの構築で直面している課題と、改善に向けたリアルな試行錯誤を共有します。

本セッションのポイント:

  • 大規模データ処理における現実的な課題
  • Kotlin Coroutines/Channel/Flowを用いた様々なトライ&エラー
  • 失敗と成功から得られた実践的な指針

実サービスの試行錯誤を通じて見えてきた、Kotlinによる大規模データETLのリアルをお伝えします。

3
ショート(20分)
Android 中級者

RFC 9457 に準拠した Kotlin エラーハンドリング入門

tick_taku77 tick-taku

モバイルアプリ開発において API など外部サービスとの連携は不可欠な要素です。
しかし、その連携で避けて通れないのがエラーハンドリングであり、より堅牢で保守性の高いアプリケーションを構築する鍵となるのが RFC によって標準化されたエラー表現の活用です。
RFC 9457 "Problem Details for HTTP APIs" は、エラー情報を構造化された形で交換するためのチーム間における「共通言語」を提供してくれます。
この RFC 9457 に準拠した API のエラーハンドリングについての Android/Kotlin における実装例を紹介します。

内容

  • RFC とは?
  • RFC 9457 に定義されるフォーマットの紹介
  • Kotlin, OkHttpClient, Retrofit, Dagger を用いたエラーハンドリング
1
ショート(20分)
Webバックエンド/サーバサイド 初級者

JetBrains AIを味方に:Server Side Kotlin開発の生産性を加速させる実践知

kroyeeg Ogawan

サーバーサイドKotlin開発において、JetBrains AI(Junie + AI Assistant)は設計・実装・調査・ドキュメント整理など、あらゆる開発フェーズを加速できます。
私自身、導入前は3日かかっていたタスクが1日で終わるといった生産性向上を実感しています。

一方で、「動作が重い」「使いこなせない」といった声も少なくなく、ツールの性能以前に「どのように使うか」が共有されていない現状を感じています。

本セッションでは、JetBrains AIを日常開発にどう組み込み、JunieとAI Assistantをどう使い分けているかを実例とともに紹介します。
試したが合わずに離脱した方にも、再挑戦のヒントを提供します。

5
どちらでも
Kotlin言語・プログラミング 初級者

Kotlinと向き合いながら見えてきた、UI実装の思考と言語間のつなぎ目

fumiyasac 酒井文也

2020年にAndroid/Kotlinの開発をゼロから始めて以降、モバイルアプリ開発に向き合う中で、iOS(Swift)とAndroid(Kotlin)の違いと向き合いながら、両者の実装・設計思想に触れる機会を多く得てきました。

本セッションでは、Kotlinを軸としつつ、iOSとの比較を通じて得られた「UIやレイアウトの設計に対する考え方の違い」や「言語間の共通点・相違点から得られる学び」を事例ベースで紹介します。

また、業務で得たインプットをどのように実装や設計に落とし込んでいったか、初学者からある程度応用できるレベルに至るまでに意識していたポイントや、実務で活きた視点についてもお話しします。

iOS/Android両プラットフォームに関わる方や、これからKotlinやAndroidアプリ開発に取り組もうと考えている方にとって、実践のヒントとなるような内容をお届けします。

1
どちらでも
Webバックエンド/サーバサイド 中級者

内部動作を理解してハイパフォーマンスなサーバサイドKotlinアプリケーションを書こう

ternbusty Ayako Hayasaka

本セッションでは、主にSpring Bootアプリケーションについて、性能を左右する 同期・非同期 / Blocking・Non-Blockingの挙動を、syscallレベルまで掘り下げた解析と負荷試験の実測値を交えて解説します。

内容

  • I/O待ちでOSスレッドブロックを避けるにはどんな選択肢があるか
  • CoroutineとSpring WebFluxやVirtual Threadを併用するとどのような挙動になるのか
  • Spring Boot×Kotlinで避けるべき、性能に影響を与えるBad Practiceは何か
  • Pure Kotlinな他フレームワークの性能上のメリット・デメリットは何か

対象者

  • 各種フレームワーク、Virtual Threadの内部動作を理解したい方
  • 適切な技術選択のための判断基準を得たい方
4
ショート(20分)
ツール/エコシステム 中級者

kotlin-jupyterで広がるKotlinの世界 - インタラクティブな実行環境がもたらす新しい開発体験

toliner_ トリナー

Kotlinの開発環境として、IDEやエディタ以外の選択肢があることをご存知でしょうか?

本セッションでは、Jupyter Notebook上でKotlinを実行できる「kotlin-jupyter」を中心に、インタラクティブなKotlin実行環境の魅力と活用方法を紹介します。
kotlin-jupyterは、コードの実行結果をその場で確認しながら開発を進められる環境で、グラフやテーブルなどの視覚的な出力も簡単に扱えます。また、コードと実行結果を一つのドキュメントとして保存・共有できるため、チーム内での知見共有や技術検証の記録にも最適です。

主に取り扱う内容 (予定)
-各種環境でのkotlin-jupyterの導入方法や基本的な使い方

  • 実務での利用例を元にした、kotlin-jupyterの実践的な活用方法やその魅力
  • Kotlinのインタラクティブ実行環境の比較
1
どちらでも
Kotlin言語・プログラミング 中級者

モダンKotlinへのリファクタリング

chigichan24 chigichan24

過去に書いたその時にベストだったコードも、Kotlinの進化によって、今ではもっとスマートに書けるかもしれません。新しい機能の導入背景を知りながら、モダンKotlinに書き換えていきましょう。
このセッションでは、Kotlin 1.9以降に入った機能に触れつつ、主に以下のケースについてどう書き換えるかの具体的なユースケースを紹介していきます。

  • enumのentriesプロパティについて
  • より賢くなったsmart castについて
  • kotlin.timeパッケージ
  • when式でのguardコンディション
  • Non-local break

このセッションを、コードを書くとき・レビューするときに、なぜその機能が追加され、どのように使うことが推奨されているのか、という背景まで理解して、よりよいKotlinを書くきっかけにしましょう。私達の書くコードはもっとスッキリするはずです。

ショート(20分)
Kotlin Multiplatform/Compose Multiplatform 中級者

Androidプロジェクトを簡単にCross Platformプロジェクトに変えてみよう

Androidプロジェクトを簡単にCross Platformプロジェクトに変えてみよう(Kotlin Multi Platform)

Androidのみのプロジェクトを利用して簡単にIOSのアプリもビルドできるようにしてみよう。

Androidプロジェクトにいくつか準備ができていれば、意外と簡単にIOSにもリリースできます

どちらでも
Kotlinの活用事例(仕事や学業など) 中級者

大規模レガシーに挑む「-1→1」のKotlinマイクロサービス開発

hondaya14 本多康久

サービスのスケールに伴い負債を抱えた大規模なレガシーシステムでは、マイクロサービスの新規開発は0→1ではなく、負債を精算しつつ進める-1→1の開発です。
本セッションでは、共有DB、分解ではなく分散してしまったマイクロサービス群によって複雑化した環境での新規マイクロサービスの立ち上げにKotlinを採用し、
・data/value classを用いた効率的なドメインモデリングでのDDD
・copy()のvisibilityなどKotlinが持つ課題、また成長方向を見据えてのイミュータブルを軸にしたプログラミング
・Gradle Kotlin DSLによるマルチプロジェクトなクリーンアーキテクチャ
・マイクロサービス間の結合度合いを意識した段階的データ洗浄フローのアプリケーション実装
を通じて、Kotlinをなぜ選定したかどう活用したか、そして負債を解消する具体手法と知見を共有します。

2
ロング(40分)
Kotlin言語・プログラミング 中級者

失敗から学ぶCoroutine・Flowテスト実践講座

h5mtakada Masatoshi Takada

▪️背景
 「CoroutineやFlowのテストがうまく書けない」「期待した値が取れない」「テストが安定して成功しない」、これらはCoroutine・FlowのUnitテストに挑んだ開発者なら誰もが1度は直面する課題ではないでしょうか?

実際のコードでは、リトライ処理、Exception、複数Flowの合成といった、テストには複雑なケースが数多く存在します。

本セッションでは、プロダクション開発でよくある複雑な非同期処理を例に、安定したテストを書くための実践的な手法を紹介します。失敗するテストを出発点に、失敗の原因分析から修正方法までを解説します。

▪️具体的な内容:
・よくある失敗パターンから学ぶ

・時間を制御するテクニック

・Flowテストの基本と応用

・複雑な非同期ロジックに挑む 

・MockK×Coroutineの活用法

・テストしやすい設計へのリファクタリング

1
どちらでも
Webバックエンド/サーバサイド 中級者

ビジネス仕様をありのままにコードに翻訳する技術 - Kotlinに仕様漏れを見つけさせよう

uryyyyyyy Koki Shibata

本セッションでは、ビジネス仕様をできる限りありのままにコードで表現(翻訳)するテクニックをKotlinを用いて解説していきます。

なぜビジネス仕様をありのままに表現したいのでしょうか?それは仕様や解決したい課題を正しく理解するためです。
自然言語で書かれたビジネス仕様は、どうしても曖昧な表現を含んだり、全てのシナリオが考慮されていなかったりします。その結果として出来上がったシステムは、仕様を考えた人(ドメインエキスパート)が想定していない挙動をしてしまうことがあるでしょう。

Kotlinの言語機能を活用してビジネス仕様をコードへ翻訳していくことで、現行の仕様では情報が不十分なときに、コンパイルエラーという形でKotlinが教えてくれるようになります。

最終的に出来上がったコードが、ドメインエキスパートが読んでも理解できるのが理想!

採択
ロング(40分)
AI 中級者

KoogではじめるAIエージェント開発

hiroaki08181359 hiro(Nosho Hiroaki)

KoogはAIエージェントを構築するためのライブラリです。
シンプルにLLMにアクセスできる一方、複雑なワークフローを構築することもできます。
Kotlin愛好者はKotlinの知識を活かせるほか、KMPの資産を活用して様々なアプリケーションを開発できます。
実際、私はKoogを利用して作業効率化のためのデスクトップアプリやCLIツールを開発しています。

いまこそKotlinの知識を活かしてAIエージェントを構築するチャンスです。
本セッションでは、まず基本的な概要と使い方をご紹介します。
その後、Koogの最大の特徴であるエージェントワークフローの構築方法を解説し、
その設計の考え方を具体的な事例を交えてご紹介します。

内容
・基本的な概要、他のフレームワークとの比較
・基本機能の使い方
・Strategy Graphsで複雑なワークフローを構築する方法
・ワークフローの設計の考え方

1
ショート(20分)
Kotlin言語・プログラミング 初級者

ライブラリがスラスラ読める!Kotlinステップアップ言語機能

hiroaki08181359 hiro(Nosho Hiroaki)

Kotlinは簡潔な言語であり、初学者でも基本的な文法は問題なく理解できると思います。

しかしライブラリやOSSの内部実装を読んでいると、普段自分では書かないような知らない文法が出てきて戸惑ったり、自分はKotlinの力を活かしきれていないのではと感じることもあるでしょう。

そこで本セッションでは、Kotlinをより深く知るために、押さえておきたいKotlinの言語機能を紹介します。
その際はコード例、図表、背景、使い所を交えながら分かりやすさを重視して解説します。

これらの機能を理解すれば、OSS等のコード読解やデバッグが容易になり、保守性・パフォーマンスの高いコードを書くための大きな助けとなるはずです。

内容
・ジェネリクス(in/outなど)
・インライン化(inline, reifiedなど)
・委譲(Delegation)
など

1
ショート(20分)
Kotlin言語・プログラミング 中級者

Kotlin Java相互理解: デコンパイルで探る動作 の仕組み

Yuki Matsuura

Kotlinでは、val / var、sealed class、suspend 関数、when 式など、Javaにはない独自の構文が存在します。では、それらが実際にどのように動作しているのか、Javaに変換されたコードで確かめたことはありますか?

このセッションでは、KotlinのコードをJavaにデコンパイルして比較することで、言語仕様の裏側を一緒に読み解いていきます。

取り上げるトピック例:
・val と var の違いは、Javaではどう表現される?
・sealed class の継承制限はどのように実現されている?
・suspend 関数の正体は?
・when 式はJavaでどう書き換えられる?
・Kotlinの List / MutableList の中身は何者?

2
ロング(40分)
ツール/エコシステム 上級者

もっとKotlinを乗りこなす!CompilerとIDEで拡張する新しいToolingの世界

kitakkun_pb kitakkun

Kotlin Compiler Pluginはコード中間表現の改変によって新しい言語パラダイムをもたらし、IntelliJ Pluginはツール拡張によって開発者を支援します。両者を組み合わせれば、もう1段階上の開発体験を作り出すことができます。

本セッションでは、IDEを経由してアプリ状態を巻き戻す、back-in-time-pluginを題材に、コンパイラ拡張とIDE拡張を組み合わせて、ユニークなToolingシステムを構築する実践的な例を紹介します。

アジェンダ:
・back-in-time-pluginのアーキテクチャ
・FIR/IR拡張による状態の追跡・巻き戻し
・IDEとアプリの連携方法
・Compiler PluginのIDEサポートの現在地

一見魔法に見える機能も、分割してみると単純な機能の組み合わせです。皆さんも大好きなKotlinで、魔法使いになってみませんか?

2