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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Taro Nagasawa
October 02, 2017
Programming
5k
1
Share
黒べこ本の話 + Ktor試してみた #m3kt
どこでもKotlin #2(
https://m3-engineer.connpass.com/event/65588/)で発表したスライドです
。
Taro Nagasawa
October 02, 2017
More Decks by Taro Nagasawa
See All by Taro Nagasawa
Android開発者のための Kotlin Multiplatform入門
ntaro
0
1.5k
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.4k
#Ubie 狂気の認知施策と選考設計
ntaro
13
14k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.2k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.6k
Kotlinでサーバサイドを始めよう!
ntaro
1
1k
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
3k
Kotlin Contracts #m3kt
ntaro
4
4.4k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
560
Other Decks in Programming
See All in Programming
의존성 주입과 모듈화
fornewid
0
160
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
340
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
460
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
180
2026年のソフトウェア開発を考える(2026/05版) / Software Engineering Scrum Fest Niigata 2026 Edition
twada
PRO
19
9.5k
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.2k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
How Swift's Type System Guides AI Agents
koher
0
320
AIと共に生きる技術選定 2026
sgash708
0
120
書き換えて学ぶTemporal #fukts
pirosikick
2
330
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
440
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
110
Featured
See All Featured
Believing is Seeing
oripsolob
1
120
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.7k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
360
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
390
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Making the Leap to Tech Lead
cromwellryan
135
9.8k
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かなぁ
• まだベータ版なので今後が楽しみ ◦ コントリビュートするチャンス!
ご静聴 ありがとうございました