AndroidライブラリのAPI、本当に「使いやすさ」まで考えられていますか? 機能実装に集中するあまり、利用者の視点が抜け落ちてしまうことは少なくありません。 本セッションでは、まさにそうした経験を共有します。登壇者がUIや画面遷移も含む社内認証ライブラリ開発で直面したのは、「良かれと思って設計したAPIが、実は利用側アプリのアーキテクチャやDI戦略と相性が悪かったり、ドキュメントを読み込まないと理解しづらいものだった」という現実。これこそが「作り手の論理」と「利用者のニーズ」のギャップでした。この教訓を元に、利用者にとって本当に使いやすいインターフェイスとは何か、そしてそれを実現するための具体的な設計プラクティスやコード例を、Android開発の現場目線で提案し、皆さんが明日から試せる実践的なヒントを持ち帰っていただくことを目指します。 # 主なトピック ・なぜインターフェイス設計にこだわるのか: ・失敗談から学ぶ、使いやすいライブラリが開発体験にもたらす影響。 ・利用者フレンドリーなAPI設計の実践: ・アプリのアーキテクチャとの調和: 様々なアプリ構成(MVVM、MVI、Jetpack等)に馴染む設計と、通信層(OkHttp/Retrofit等)との柔軟な連携。 ・UIと画面遷移を含むライブラリのカプセル化: 社内認証ライブラリ実例から、UIやナビゲーション機能を持つライブラリをアーキテクチャ非依存でカプセル化し、アプリと連携させる工夫を深掘りします。 ・DI戦略を尊重する: 利用側DI(Hilt/Koin等)を妨げず、UIを持つライブラリにも対応可能なDI非依存設計の勘所と実践。 ・依存関係をシンプルに保つ: 公開APIの型選択とサードパーティ依存を隠蔽するテクニック。 ・Kotlinらしさを活かす: Kotlinの言語機能(拡張関数、DSL等)で、安全かつ直感的なAPIを作るアイデア。 ・Gradleモジュールと依存関係の整理: apiとimplementationの使い分けで、依存関係の見通しを改善。 ・継続的に改善されるライブラリのために: ・効果的なKDoc、サンプルアプリ、チームでの保守、利用者フィードバックの活用法。 このセッションが、皆さんがAndroidライブラリを開発・改善する上で、利用者にとって本当に「使いやすい」インターフェイスとは何かを改めて考えるきっかけとなり、明日からご自身のプロジェクトで試せる具体的なヒントやアイデアを持ち帰っていただくことを目指します。
mkeeda Cybozu, Inc. Android Engineer
・AndroidライブラリのAPI設計に課題を感じ、その使いやすさを本気で向上させたい開発者 ・UIや画面遷移を含む複雑な機能をライブラリ化する際の、実践的なカプセル化やアプリ連携のノウハウを知りたい方 ・Kotlinを活かした、よりモダンで保守性の高いライブラリ設計の具体的なヒントやアイデアを求めている開発者 ・チームで開発・利用するライブラリの品質とメンテナンス性に責任を持つ、または関心のある開発者