Slide 1

Slide 1 text

サーバーサイドKotlin 秋のLT大会 2020 Online

Slide 2

Slide 2 text

自己紹介 HN: マヤミト 会津大学26期 (学部3年) Zli 現代表 GitHub: https://github.com/yt8492 好きな言語: Kotlin, Java, Scala 趣味: Kotlin, 同人音声, VTuber ポートフォリオ: https://yt8492.com/ Twitter: yt8492

Slide 3

Slide 3 text

Kotlinでできること - JVM - Javaでできること全般 - Android - サーバーサイド(Ktor, Spring Boot, etc...) - JS - Webフロント - Node.js - Native

Slide 4

Slide 4 text

Kotlinでできること - JVM - Javaでできること全般 - Android - サーバーサイド(Ktor, Spring Boot, etc...) - JS - Webフロント - Node.js - Native

Slide 5

Slide 5 text

今日はKotlinのサーバーサイド フレームワークを紹介していきます

Slide 6

Slide 6 text

今日はKotlinのサーバーサイド フレームワークを紹介していきます

Slide 7

Slide 7 text

今日はKotlinのサーバーサイド フレームワークを紹介していきません

Slide 8

Slide 8 text

Kotlinでできること - JVM - Javaでできること全般 - Android - サーバーサイド(Ktor, Spring Boot, etc...) - JS - Webフロント - Node.js - Native

Slide 9

Slide 9 text

Kotlinでできること - JVM - Javaでできること全般 - Android - サーバーサイド(Ktor, Spring Boot, etc...) - JS - Webフロント - Node.js - Native

Slide 10

Slide 10 text

今日はKotlin/JSでサーバーサイド開発をす る話をします

Slide 11

Slide 11 text

サーバーサイドKotlin/JS 秋のLT大会 2020 Online

Slide 12

Slide 12 text

そもそもKotlin/JSとは - KotlinをJSにトランスパイルする技術 - JSのライブラリも利用可能 - Kotlinで型定義を書けばJSのコードに型を付けられる - Webフロントエンドの開発もNode.jsでサーバーサイドの開発もできる トランスパイル

Slide 13

Slide 13 text

kotlinx-nodejs Kotlin公式が提供しているKotlin向けNode.jsラッパーライブラリ https://github.com/Kotlin/kotlinx-nodejs NodeのAPIのKotlinの型定義を提供している(が、まだexperimentalなため不完全な模 様) TypeScriptの型定義をKotlinの型定義に変換するDukatというツールで生成されている

Slide 14

Slide 14 text

簡単なサーバーを書いてみよう ゴール: HTTPリクエストを送ったらurlとmethodが返される簡単なサーバーを立てる

Slide 15

Slide 15 text

プロジェクトのセットアップ IntelliJ IDEAでKotlin/JS for Node.jsの新規プロジェクトを作成

Slide 16

Slide 16 text

プロジェクトのセットアップ Kotlinバージョン: 1.4.0 build.gradleの依存にkotlinx-nodejsを追加し、ターゲットをnodejsにする

Slide 17

Slide 17 text

サーバーのコード

Slide 18

Slide 18 text

起動&実際にリクエストを叩いてみる

Slide 19

Slide 19 text

できた

Slide 20

Slide 20 text

感じたこと 良かった点 - 起動が爆速 - 意外と普通にできてしまった 問題点 - Nodeのhttpパッケージだけで本格的にサーバーサイド開発するのはキツい - get("/hoge") { ... } みたいに書けたほうがよさそう (expressみたいに) - DBを扱うライブラリが現状なさそう

Slide 21

Slide 21 text

次回予告 Kotlin/JSのサーバーサイドフレームワーク 作ってみた

Slide 22

Slide 22 text

開発中!

Slide 23

Slide 23 text

リンク集 kotlinx-nodejs https://github.com/Kotlin/kotlinx-nodejs 今回のもう少し細かい解説 https://qiita.com/yt8492/items/1271b30ecd26f5ca0efb 開発中フレームワーク https://github.com/yt8492/indikate 過去のLT資料 https://speakerdeck.com/yt8492