譯自《Using Kotlin for Server-side Development》
Kotlin非常適合開發(fā)服務(wù)器端應(yīng)用程序作谭,允許編寫簡(jiǎn)潔明了的代碼,同時(shí)保持與現(xiàn)有基于Java的技術(shù)堆棧的完全兼容性和平滑的學(xué)習(xí)曲線:
- 表現(xiàn)力 :Kotlin的創(chuàng)新語言功能奄毡,如支持類型安全的構(gòu)建器(type-safe builders )和委托屬性 (delegated properties)折欠,可幫助構(gòu)建功能強(qiáng)大且易于使用的抽象。
- 可擴(kuò)展性 :Kotlin對(duì)協(xié)同程序(coroutines )的支持有助于構(gòu)建服務(wù)器端應(yīng)用程序吼过,擴(kuò)展到擁有適度硬件要求的大量客戶端锐秦。
- 互操作性 :Kotlin與所有基于Java的框架完全兼容,可以讓您保持熟悉的技術(shù)棧盗忱,同時(shí)獲得更現(xiàn)代化的語言的優(yōu)勢(shì)酱床。
- 遷移 :Kotlin支持逐步遷移大型代碼庫從Java到Kotlin。 您可以開始在Kotlin中編寫新代碼售淡,同時(shí)將系統(tǒng)的較舊部分保留在Java中。
- 工具 :除了一般的IDE支持之外慷垮,Kotlin還為IntelliJ IDEA Ultimate插件提供框架特定的工具(例如Spring)揖闸。
- 學(xué)習(xí)曲線 :對(duì)于Java開發(fā)人員,Kotlin入門很容易料身。 包含在Kotlin插件中的自動(dòng)化Java到Kotlin轉(zhuǎn)換器有助于實(shí)現(xiàn)第一步汤纸。Kotlin Koans通過一系列互動(dòng)練習(xí)提供了語言的主要功能的指南。
使用Kotlin進(jìn)行服務(wù)器端開發(fā)的框架
Spring 使用Kotlin的語言功能提供更簡(jiǎn)潔的API (more concise APIs)芹血,從版本5.0開始贮泞。 在線項(xiàng)目生成器(online project generator )允許在Kotlin中快速生成一個(gè)新項(xiàng)目。
Vert.x是在JVM上構(gòu)建反應(yīng)式Web應(yīng)用程序的框架幔烛,為Kotlin提供了專門的支持(dedicated support) 啃擦,包括完整的文檔 (full documentation)。
Ktor是由JetBrains構(gòu)建的Kotlin本機(jī)Web框架饿悬,利用協(xié)同程序?qū)崿F(xiàn)高可擴(kuò)展性令蛉,并提供易于使用和慣用的(idiomatic)API。
kotlinx.html 是一種可用于在Web應(yīng)用程序中構(gòu)建HTML的DSL。 它可以作為傳統(tǒng)模板系統(tǒng)的替代品珠叔,如JSP和FreeMarker蝎宇。
持久化的可用選項(xiàng)包括直接JDBC訪問,JPA以及通過其Java驅(qū)動(dòng)程序使用NoSQL數(shù)據(jù)庫祷安。 對(duì)于JPA姥芥, kotlin-jpa編譯器插件(kotlin-jpa compiler plugin )使 Kotlin編譯的類適應(yīng)框架的要求。
部署Kotlin服務(wù)器端應(yīng)用程序
Kotlin應(yīng)用程序可以部署到支持Java Web應(yīng)用程序的任何主機(jī)汇鞭,包括Amazon Web Services凉唐,Google Cloud Platform等。
要在Heroku上部署Kotlin應(yīng)用程序虱咧,您可以按照官方的Heroku教程 (official Heroku tutorial)熊榛。
AWS Labs提供了一個(gè)示例項(xiàng)目(sample project ),顯示了使用Kotlin編寫AWS Lambda函數(shù)腕巡。
使用服務(wù)器端的Kotlin的用戶
Corda是一個(gè)開源的分布式分類帳平臺(tái)(ledger platform)玄坦,由各大銀行支持,完全用Kotlin建立绘沉。
JetBrains帳戶(JetBrains Account) 煎楣,負(fù)責(zé)JetBrains整個(gè)許可證銷售和驗(yàn)證過程的系統(tǒng)由100%的Kotlin編寫,自2015年以來一直在使用车伞,沒有重大問題择懂。
下一步
- 使用Http Servlet創(chuàng)建Web應(yīng)用程序(Creating Web Applications with Http Servlets )以及使用Spring Boot創(chuàng)建RESTful Web服務(wù)(Creating a RESTful Web Service with Spring Boot)教程將向您展示如何在Kotlin中構(gòu)建和運(yùn)行非常小的Web應(yīng)用程序。
- 要更深入地介紹該語言另玖,請(qǐng)查看本網(wǎng)站上的參考文檔(reference documentation)和Kotlin Koans 困曙。