Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
黒べこ本の話 + Ktor試してみた #m3kt
Search
Taro Nagasawa
October 02, 2017
Programming
1
4.7k
黒べこ本の話 + Ktor試してみた #m3kt
どこでもKotlin #2(
https://m3-engineer.connpass.com/event/65588/)で発表したスライドです
。
Taro Nagasawa
October 02, 2017
Tweet
Share
More Decks by Taro Nagasawa
See All by Taro Nagasawa
Android開発者のための Kotlin Multiplatform入門
ntaro
0
530
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.2k
#Ubie 狂気の認知施策と選考設計
ntaro
13
13k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.1k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.4k
Kotlinでサーバサイドを始めよう!
ntaro
1
950
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
2.6k
Kotlin Contracts #m3kt
ntaro
4
3.9k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
470
Other Decks in Programming
See All in Programming
Introduction to kotlinx.rpc
arawn
0
750
バッチを作らなきゃとなったときに考えること
irof
2
480
Ça bouge du côté des animations CSS !
goetter
2
130
楽しく向き合う例外対応
okutsu
0
570
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
200
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
100
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
280
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
380
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
130
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
830
Featured
See All Featured
Statistics for Hackers
jakevdp
797
220k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Side Projects
sachag
452
42k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Docker and Python
trallard
44
3.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
Building Applications with DynamoDB
mza
93
6.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
The Pragmatic Product Professional
lauravandoore
32
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
黒べこ本の話 + Ktor試してみた 2017-09-28 どこでもKotlin #m3kt 長澤太郎 @ngsw_taro
自己紹介 • 長澤 太郎(たろーって呼んでね) • @ngsw_taro • エムスリー株式会社 • ディズニーが大好き!
エムスリーは 国内最大規模の 医療情報プラット フォームを開発・ 運営しています。 エンジニア募 集中!
祝☆新刊 10/6発売
概要 • 「Kotlin Webアプリケーション」 • リックテレコム社 • 10/6発売 • 284ページ
• 3部構成 • 3,000円(税別)
第1部 • Kotlin言語について詳解 • Kotlinの概要と誕生の背景 • 開発環境の紹介、構築方法 • 文法と言語機能 •
Javaとの相互運用性 • Kotlin ver1.1について
第2部 • 簡単なWebアプリケーションの開発 ◦ TODOリスト ◦ DBを持たない ◦ 画面を持たない(REST API)
• Spark Framework
第3部 • ちょっと本格的なWebアプリ開発 ◦ TODOリスト ◦ DBを持つ(インメモリ、ファイル) ◦ 画面を持つ(Thymeleaf) ◦
テスト ◦ Heroku • Spring Boot
Re:VIEW ソースファイル PDF, TXTにビルド 編集さん メール 執筆環境 PDFを読む TXTを読む
Kotlinについて 詳しい スピード重視 かなり詳しい 特徴 Kotlinについて詳しい解 説(私の書き下ろし) Androidアプリ開発での 活用方法を解説。 Webアプリケーションの
開発にKotlinを使う。 Web初心者でも読み進め られる内容。Kotlin 1.1の 一部機能や文法について も解説。 これさえ読めばKotlin博 士になれるレベル。 Androidなどの応用につ いてはあまり言及されて いない。 どの本を読めばいいのか?
Ktor試してみた
Ktorとは • KotlinのためのWebマイクロフレームワーク • 非常に薄く、余分な機能は3rdパーティ任せ ◦ ロギング、永続化、テンプレートエンジン、DI ◦ サーブレットコンテナ: Tomcat,
Jetty, Netty • DSL ◦ ラムダ(特に拡張関数としてのラムダ)を多様 ◦ 宣言的にプログラムを組み立てる • ノンブロッキング ◦ 複雑な非同期プログラミングをコルーチンで
Hello World fun main(args: Array<String>) { embeddedServer(Netty, 8080) { routing
{ get("/hello") { call.respondText("Hello, world") } }.start(wait = true) } }
Hello World fun main(args: Array<String>) { embeddedServer(Netty, 8080) { install(Routing)
{ get("/hello") { call.respondText("Hello, world") } }.start(wait = true) } }
Ktorの主要な登場人物 • Application • ApplicationCall • ApplicationFeature
ところで • 「黒べこ本」で扱う題材 ◦ TODOリスト Spark Framework ◦ TODOリスト Spring
Boot • 購入者特典 ◦ 各ソースファイル一式 ◦ 導入のための解説動画
TODOリスト Ktorバージョンを公開しました https://github.com/ntaro/todolist-ktor
ちょっとだけ触ってみた所感 • Sparkと比べると癖がある ≒ 学習コスト高め? • すでに用意されているAPIを触る分には、コルーチンを意識す る必要はなさそう • 業務で使うならSpringかなぁ
• まだベータ版なので今後が楽しみ ◦ コントリビュートするチャンス!
ご静聴 ありがとうございました