Registration info |
参加枠1 Free
FCFS
|
---|
Description
概要
Dependency Injection(DI)をコアとしたScalaライブラリ「Airframe」のMeetupです。
アジェンダ
時刻 | 内容 |
---|---|
19:00〜 | 開場 |
19:30〜 | 「Airframeを使ったScala開発のベストプラクティスとデザインパターン」@taroleo |
20:00〜 | ディスカッション |
21:00 | 閉会 |
会場ではピザ、ドリンクをご用意しております。
背景
Airframe https://wvlet.org/airframe はScalaによるアプリケーション開発を簡単にするための「道具」をオープンソースにしたものです。2016年からスタートしたプロジェクトで、少しずつ現在の形に整理して、現在ではArm Treasure Data社内でより複雑なScalaアプリケーションを構築する際に欠かせない構成要素(building block)となっています。
今回、Airframeを使ったアプリケーション開発のメリット、コーディングの様子を実感していただくため、Airframe Meetup #1を企画するに至りました。
Airframeを開発したのは、Google Guiceなど既存のDependency Injection(DI)ライブラリがScala用に設計されておらず非常に使いにくいためでした。DIとは、オブジェクトの構築をコード中に手書きで行う代わりに、DIフレームワークに任せることで、プログラマの手間を省き、モジュールの組み替えを容易にする仕組みです。
Airframeを使って各種プロジェクトの開発を進めていくうちに、アプリケーションの設定、リソース管理、サービスのmix-in、部分的なDIによるファクトリーの構築など、Scalaの新しいデザインパターンともいうべき知見も生まれてきました。必要最小限のコンポーネントの組み合わせでテストを書けるようになるだけではなく、冗長なオブジェクトの受け渡しの記述をAirframeに任せることで、コードを対象ロジックのみに絞って簡潔に記述できるようになり、開発に集中できることはもちろん、タスクの分業もしやすくなるメリットが明らかになってきました。
今回のMeetupではそのようなデザインパターンを紹介していき、Airframeの開発者とざっくばらんに意見交換を行える場としたいと考えております。