秋のLT大会 2020 Online にて発表
サーバーサイドKotlin秋のLT大会 2020 Online
View Slide
自己紹介HN: マヤミト会津大学26期 (学部3年)Zli 現代表GitHub: https://github.com/yt8492好きな言語: Kotlin, Java, Scala趣味: Kotlin, 同人音声, VTuberポートフォリオ: https://yt8492.com/Twitter: yt8492
Kotlinでできること- JVM- Javaでできること全般- Android- サーバーサイド(Ktor, Spring Boot, etc...)- JS- Webフロント- Node.js- Native
今日はKotlinのサーバーサイドフレームワークを紹介していきます
今日はKotlinのサーバーサイドフレームワークを紹介していきません
今日はKotlin/JSでサーバーサイド開発をする話をします
サーバーサイドKotlin/JS秋のLT大会 2020 Online
そもそもKotlin/JSとは- KotlinをJSにトランスパイルする技術- JSのライブラリも利用可能- Kotlinで型定義を書けばJSのコードに型を付けられる- Webフロントエンドの開発もNode.jsでサーバーサイドの開発もできるトランスパイル
kotlinx-nodejsKotlin公式が提供しているKotlin向けNode.jsラッパーライブラリhttps://github.com/Kotlin/kotlinx-nodejsNodeのAPIのKotlinの型定義を提供している(が、まだexperimentalなため不完全な模様)TypeScriptの型定義をKotlinの型定義に変換するDukatというツールで生成されている
簡単なサーバーを書いてみようゴール: HTTPリクエストを送ったらurlとmethodが返される簡単なサーバーを立てる
プロジェクトのセットアップIntelliJ IDEAでKotlin/JS for Node.jsの新規プロジェクトを作成
プロジェクトのセットアップKotlinバージョン: 1.4.0build.gradleの依存にkotlinx-nodejsを追加し、ターゲットをnodejsにする
サーバーのコード
起動&実際にリクエストを叩いてみる
できた
感じたこと良かった点- 起動が爆速- 意外と普通にできてしまった問題点- Nodeのhttpパッケージだけで本格的にサーバーサイド開発するのはキツい- get("/hoge") { ... } みたいに書けたほうがよさそう (expressみたいに)- DBを扱うライブラリが現状なさそう
次回予告Kotlin/JSのサーバーサイドフレームワーク作ってみた
開発中!
リンク集kotlinx-nodejshttps://github.com/Kotlin/kotlinx-nodejs今回のもう少し細かい解説https://qiita.com/yt8492/items/1271b30ecd26f5ca0efb開発中フレームワークhttps://github.com/yt8492/indikate過去のLT資料https://speakerdeck.com/yt8492