Kotlinのサーバーサイドどうなんよ?というのを個人的に思っていることを書きます。
また、以前に発表した内容のアップデートをしたく、このブログエントリを書いています。
Kara is dead
以前にかわいいKotlin勉強会でServer Side Kotlinというスライドで発表をしました。
で、これをまだたまに見てらっしゃる人がいるので
一点訂正したいのですが、2016/06月現在、Karaはオススメしません。
この当時(2015-06-05なので丁度一年ぐらい前か…!)、状況からしてwasabiとKaraが有力で、
Karaの方がJetBrainsが肩入れしている印象があったため
このスライドでもオススメしてみたのですが、
読みが外れてそれ以降、wasabiとKaraはあまり進歩してません。
特にKaraは全然何も動いてないように見える。
地道にforkして開発してる人がひとりいる感じが昔からしてるんですが、
なかなかここから進化するように思えない。
一方でwasabiは結構フレームワークとしてのデザインが完成形になっていて
MavenやGradleなどのビルドツールで依存性の解決が出来る
(セントラルにちゃんと上がっている)ため
こっちの方が実用に耐えると思います。
Spring Bootの台頭
最近はといえば、
Kotlinに限らず、Java界隈でもなのですが、
Spring Boot勢力が勢いを増してきました。
それに加え、SPRING INITIALIZRによるKotlinの標準サポート
などもあり、SpringのチームとしてもKotlinウェルカムな感じです。
KotlinのSpring Boot利用に関してはこのあたりを参照してください。
Kotlin で Spring Boot アプリを書く
Spring boot劇的ビフォーアフター
直近の困りどころはフィールドインジェクションやコンストラクタインジェクションの際に
インジェクションが(気をつけないと)うまくいかないとかそういう系です。
そのあたりは今後のSpring MVCのバージョンアップによりSpring MVC自体のDIのやり方が変わることで
解消される予定です。たしかアノテーションをつけずにコンストラクタインジェクション出来るようになるみたいな話をどこかで見かけたような。
(makingさん周辺をググれば多分見つかるはず。。。見つかったら記載します。)
その他のサーバーサイドなやつ
ということで、なんだまたSpringかよっていう気持ちにもなったりならなかったりしますが、
他にはこんなものがあるので使ってみてくださいぜひ。
vertx風。まぁこれはwasabiと網羅してる部分はそんなに変わらない。たしかこの人もJetBrainsの中の人です。
Fuel。同上。
ktor。これ結構面白そうなんですよね。websocketとかもできるし組み込みサーバーも色々選べる。
詳しくはサンプルをみてください!面白いですよ!
https://github.com/Kotlin/ktor/tree/master/ktor-samples
ORM、テスティング
kuery、タイプセーフなSQLライブラリ。
Exposed。JetBrainsが作ってる。SQLのDSLライブラリ。
kotliquery。なぜだかscalikejdbcぽさある(?)
spek。ベーコン。
expekt。BDDっぽいやつ。
knit。ニットと読むらしい。たろうさんのやつ。
mockito-kt。Mockitoのやつ。
hamkrest。hamcrestのやつ。
はい、ということでウダウダ言いたかっただけです!!
満足!
手堅く行くならSpring Boot。あとはktorとwasabiもHTTP周りなら大丈夫。フルスタック的なことは出来ない。
テスティングフレームワークやORMはお好みで!という感じです。
1 件のコメント:
こんばんは。
kotlin、どれだけ使われているか気になりますね。
コメントを投稿