慶祝 Ktor 1.0 釋出,分享 JetBrains 日講稿及程式碼

jywhltj發表於2018-11-23

本文原發於我的個人部落格:https://hltj.me/kotlin/2018/11/22/ktorcn-update-jetbrains-day-slides.html。本副本只用於圖靈社群,禁止第三方轉載。

非常值得慶祝的是,Ktor 1.0 正式釋出了Ktor 中文站也已更新。

Ktor 是 JetBrains 官方出品的互聯應用框架。 使用該框架非常易於開發非同步的伺服器與客戶端,並且能夠充分利用 Kotlin 以及協程的優勢。

Ktor 中文站官方英文站的中文翻譯(目前還在翻譯中,歡迎組團一起)。 初學者可以從快速入門入手來學習與瞭解 Ktor,這一章大多數內容均已翻譯。

上週六,有幸在 JetBrains 開發者日上分享了《Ktor——Kotlin 多平臺非同步 Web 框架實踐》 ,這兩天也把講稿及相關 demo 整理了下。

講稿可在這裡下載:

連結: https://share.weiyun.com/5UqjtTc
密碼: eauq37

我猜你還想看 Benny 分享的講稿,傳送門在這裡:2018 JetBrains 開發者大會見聞

這份講稿比當天用的那份要新一些(其中的截圖也能看出是 11 月 20 日的),補充了當場提到但沒有在講稿中列出的 Ktor 適用場景: 多平臺專案,同時開發客戶端與服務端,比如同時開發 WebSocket 或者直接套接字通訊的客戶端與伺服器。

CallID 與 Call Logging MDC 的 demo 在這裡:

https://github.com/hltj/ktor-callid-demo

介面聚合服務 demo 在這裡:

https://github.com/hltj/kaggregator-demo

最後出場的這個是原打算在分享中講的開源縮圖服務 Kthumbor,終於完成了第一個可用版。服務框架使用 Ktor,100% Kotlin 開發,見下圖:

另外,在 Kthumbor 專案中採用了測試驅動開發的方式(其中測試框架使用的是 KotlinTest),先寫測試用例後寫實現。 目前只實現了最簡單的生成指定寬高內的縮圖的功能,後續還會實現放大、剪裁等功能,最終會實現一個生產級可用的縮圖服務。

Kthumbor 的原始碼在這裡:

https://github.com/hltj/kthumbor

歡迎反饋與交流。 需要說明的一點是,我並不想做純雷鋒,該專案採用 AGPL-3.0 協議釋出,因此可以用於商業目的,但是任何修改都需要以同樣協議(AGPL-3.0)開源出來。

關於分享中講到的點以及 Kthumbor 專案,有機會再展開來看。

相關文章