Submit Search
Spring + Gradle + Kotlin W8LT#5
6 likes
1,629 views
Junpei Matsuda
Spring + Gradle + KotlinでWebアプリを作ってみたかった
Technology
Read more
1 of 21
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
More Related Content
PDF
Sprocketsを捨てたい
Masato Noguchi
PDF
Yohoushi
Naotoshi Seo
PDF
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
PDF
RailsのRailから解放される始めの一歩
Masato Noguchi
PPT
Neo4j Profile Export/Import Tool
Masahiro Satake
PPTX
名古屋アジャイル#33 就活体験談~世間はつらいよ~
WhiteKirby No6
PPTX
入門系の本を一冊も読まずにデータサイエンスに入門してみる
Masayuki Sakamoto
PDF
mod_perlで動くアプリをどう置くか #hachiojipm
鉄次 尾形
Sprocketsを捨てたい
Masato Noguchi
Yohoushi
Naotoshi Seo
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
RailsのRailから解放される始めの一歩
Masato Noguchi
Neo4j Profile Export/Import Tool
Masahiro Satake
名古屋アジャイル#33 就活体験談~世間はつらいよ~
WhiteKirby No6
入門系の本を一冊も読まずにデータサイエンスに入門してみる
Masayuki Sakamoto
mod_perlで動くアプリをどう置くか #hachiojipm
鉄次 尾形
Viewers also liked
(18)
PDF
Kotlinのwebフレームワーク探訪
豊明 尾古
PDF
Application Developer Festival 2015 LT
Junpei Matsuda
PPTX
れれれのGitおぢさん - git rerere #w8lt
Junpei Matsuda
PPTX
Try to Write A Better Commit Message
Junpei Matsuda
PDF
初心者大歓迎! Webアプリを作ってみよう!
淳平 豊田
PDF
PRML2.3.8~2.5 Slides in charge
Junpei Matsuda
PDF
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
PPTX
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
PPTX
Spring boot劇的ビフォーアフター
orekyuu
PDF
もう一度Kotlinの話をしよう #ndsmeetup4
Yukiya Nakagawa
PPTX
はじめてのSpring Boot
なべ
PDF
Spring Framework勉強会
Masakazu Matsushita
PDF
Spring Day 2016 springの現在過去未来
Yuichi Hasegawa
PDF
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Java女子部
PDF
Spring Bootをはじめる時にやるべき10のこと
心 谷本
PPTX
Server Side Kotlin
yy yank
PDF
Kotlin as an AltJS
Shinya Mochida
PDF
Spring bootでweb 基本編
なべ
Kotlinのwebフレームワーク探訪
豊明 尾古
Application Developer Festival 2015 LT
Junpei Matsuda
れれれのGitおぢさん - git rerere #w8lt
Junpei Matsuda
Try to Write A Better Commit Message
Junpei Matsuda
初心者大歓迎! Webアプリを作ってみよう!
淳平 豊田
PRML2.3.8~2.5 Slides in charge
Junpei Matsuda
Kotlinで快適Android開発 #W8lt
Junpei Matsuda
Spring starterによるSpring Boot Starter
Ryosuke Uchitate
Spring boot劇的ビフォーアフター
orekyuu
もう一度Kotlinの話をしよう #ndsmeetup4
Yukiya Nakagawa
はじめてのSpring Boot
なべ
Spring Framework勉強会
Masakazu Matsushita
Spring Day 2016 springの現在過去未来
Yuichi Hasegawa
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Java女子部
Spring Bootをはじめる時にやるべき10のこと
心 谷本
Server Side Kotlin
yy yank
Kotlin as an AltJS
Shinya Mochida
Spring bootでweb 基本編
なべ
Ad
Spring + Gradle + Kotlin W8LT#5
1.
Spring Gradle Kotlin でWebアプリケーションを作ってみてる W8LT#5 @ふぁっとだるま
2.
もういらない気がしてきた • 松田 淳平
(だるま,デブ,酒クズ) • 東工大 佐伯研M2 • Java, Kotlin,シェル芸 • twitter:@fat_daruuuuma, github:jmatsu
3.
発端 • 某講義のページがRails1だか2で動いている • 最低限の機能しかないので不便 •
講義中小課題提出がメール • メール用の管理ツールも古い • 今後のこと(あと数年?)も考えるとちょっと不安 → 新しいものを作るしかない (๑•`ㅂ•́)✧و
4.
検討 • Rails4 • つまらない •
現在のサーバーを汚すのは避けたい • Play1.x (一回作りました) • 助教氏「なんで2.xじゃないの」 • 僕「それな」 • Play2.x • sbt「ぶおおおんwwww・・・(フリーズ」 • 本当に消えて欲しい
5.
検討(続) • Play1.xでいいやん! • バグが見つかる •
設計が汚い • Java7で書かれている(重要) • 用意した自動設定の書式を忘れた(最重要) • 作り直すにも, • Lambdaがないとやる気になれない • Play2.xは重すぎてやる気になれない
6.
そうだ、Kotlinにしよう • 目的等をガン無視して手段から入る最低な発想
7.
Kotlin • 静的型付オブジェクト指向のJVM言語 • intelliJで有名なJetBrains社が作成(現在OSS化) •
Javaと相互完全運用 • Lambdaやら諸々が標準装備 7 ♡
8.
検討(続続) • あ、KotlinでPlay1.xって動くんかな!? → 祈りが足りず動く方法を見つけられない •
KotlinでPlay2.xなら!? • Gradle → 祈りが足りず終了 • Sbt → まあ動きはしたけど重すぎ却下 • Kotlinでなんかないかな!? • 勉強会で @yy_yank さんがSSに触れてたぞ! • http://www.slideshare.net/yyyank/server- side-kotlin-49030491 • Spring Bootが現実的っぽい?
9.
Spring Boot • Spring
frameworkの各コンポーネントを簡単に 使えるようごにょごにょしたもの • Controllerレイヤーに関するコンポーネントだけ, とか色々選択しながら利用することが可能 • Not XML-based configuration. • Java/Annotation-based Configuration! 9 ♡
10.
つまり 10 ♡ ♡
11.
11 ♡
12.
じゃなくて 12 ♡
13.
13 ♡
14.
14 ♡ 接着剤
15.
要件(?)を全て満たしている(???) • Rails4 • つまらない →
楽しい! • 現在のサーバーを汚すのは避けたい → one jarなので汚れない! • Play1.x (一回作りました) • 助教氏「なんで2.xじゃないの → この議論が不要!!! • 僕「それな」 → それな • Play2.x • sbt「ぶおおおんwwww・・・(フリーズ」 → Gradleなので問題ない(?) • 本当に消えて欲しい → 使わない!
16.
利用物 • Controller layer •
Spring Boot Starter(SBS) Web • Model layer • mongoDB via SBS • View layer • Thymeleaf via SBS • Security component • SBS Security 16
17.
構築は超簡単 • Gradleでひな形を作成 • Kotlinの設定 •
Kotlin pluginを追加 • compileにKotlinのstdlibを追加 • Spring Bootの設定 • Spring Boot pluginを追加 • compileに必要なコンポーネントを追加 • springBoot内でmainClassを記述 • 以上.一瞬で終わる.下は最小構成 • https://github.com/jmatsu/SpringBootWithKotlinSample 17
18.
つまずいた点 • KotlinのIntやStringがSerializableじゃない • このままじゃmodelのIDに使えない!! •
ネット情報「Converterってのがあってな?」 • 僕「Configクラスで追加すればええんやな?」 • Configクラスでinjectionがエラーになる orz • @Value( ${spring.data.mongodb.database} ) • Kotlinだと変数展開と判定 → CE • Raw stringにしても無理 • ラップして回避 • E.g. data class SInt(body: Int): Serializable 18
19.
Spring Boot w/
Kotlinの利点 • Null安全 && Let等による構造化が強すぎる • API部分で冗長になりがちな記述に対して良い • スコープが制限されるのでレイヤー違反を減らし やすい • Accessorが生えるので,PropertyはViewから そのままアクセス可能 • import A as B が神すぎてヤバい 19
20.
Spring Boot w/
Kotlinの欠点 • View側ではKotlinは使えない • Javaから呼び出すときの記法に従う必要がある • そのままじゃ拡張メソッドは使えない • Kotlin部分はHotDeployできない・・・ • 拡張メソッドを使える余地が大きすぎる • 各自が勝手に拡張するとひどいことになりそう • Android開発時よりも,冗長な部分の解決策が広 そうな感触 20
21.
課題 • 有用性は大いにあるけど,HotDeployがないのは つらい • 現状の規模ならビルドは十分に早いけども •
Webフレームワーク用Kotlinライブラリが必要 • Kotlin人口 • はよAndroid界の標準になって欲しいな!!!1 21
Download