Web App with Kotlin
みんなで学ぶ★LT会 vol.02
もくじ
● 自己紹介
● Kotlinとは
● 作ってみる
○ つくるもの
○ サーバー
○ クライアント
● まとめ
自己紹介
喜多 @ Techfirm Inc.
● 大学 → 専門学校 → 新卒入社
● 人生で一番書いてるのは多分TypeScript
● 猫を飼いたい
● Twitter: huruikagi
Kotlin とは
すごいぞKotlin
● プログラミング言語
● Javaの実行環境(JVM)上で動く
● Androidの公式開発言語として採用
● IntelliJ IDEAのJetBrains社謹製
● 実用主義 / 簡潔 / 安全 / 相互運用性
● 名前がかわいい
うれしいところ
● Java書けたらほぼそのまんまの考え方でも使える
● 他の言語で実績がある機能を積極的に採用
● 読みやすさ重点
● 本当にJavaを呼べるしJavaから呼べる
具体的な言語仕様とか
● 静的型付け
● Null安全
● 型推論
● スマートキャスト
● 高階関数
● デフォルト引数
● 名前付き引数
● data class
● 不変・共変総称型
● val (再代入禁止)
● if 式
● when 式
● プロパティ
● classはデフォfinal
● 拡張関数
● 演算子オーバー
ロード
● ラムダ記法
● デリゲート
● dynamic
● range構文
● String テンプレート
● ヒアドキュメント
● lazy / lateinit
● 読取専用Collection
● Optional Chaining
● object (singleton)
● Coroutine
● DSL
だいたいみんなうれしい
調べよう
つくってみよう
つくるもの
みんな大好きTODOアプリ
Spring Framework (Boot)
● Spring5からKotlinをサポート
● Spring InitializrでKotlinが選べる
● Kotlin向けのAPIも入っている
● Kotlin側からもSpring向けにプラグインを開発
→ なかよし
ほか
● データベース接続はMyBatis
● とりあえずH2 Database
● シンプルなREST API
Initializr
エントリポイント
データクラス
SQL叩くところ
ルーティングするやつ
ついでにThymeleaf用コントローラ
Kotlin * Spring さわってみた感じまとめ
● Javaとだいたい同じ感覚で書ける
● でもJavaよりもすっきり書ける
● 詰まりポイントはほぼない
○ 無さ過ぎて逆にネタとして困る やるだけ
ソースコードはGitHubに置いてます
LT中では説明仕切る時間がないので
気になる人は見てね
https://github.com/Huruikagi/kotodo
オマケ
クライアントサイドは Kotlin/JS で書いた 書きたい
KotlinはコンパイルターゲットにJavaScriptを選べる
(webブラウザ用のdom apiもある)
サーバ・クライアントをフルスタックにKotlinできるぞ!
下調べしてある程度方針は立てたけど
作る時間がなかったので懇親会中にモブプロする人募集中

KotlinでWebアプリ開発