- Kotlin進階實戰
- 沈哲 易龐宙編著
- 642字
- 2022-07-27 18:28:00
1.1.2 Kotlin的特性
Java 8的發布距今已有6年多,筆者在寫完本書時Java 16也快要發布了。然而在當下,只有少數的Java開發者使用了Java 11及以上版本,絕大多數Java的后端開發者還停留在使用Java 8的時代。
當然,這里有很多因素:一方面,需要考慮到系統的穩定性、遷移的成本和性價比,因為Oracle已經對JDK的商業用途進行了收費;另一方面,從Java 9開始,相對于之前的版本變化就比較大了,并不是所有的第三方庫都升級到Java 9、Java 11,因此兼容性也是需要考量的重要因素。面對這些情況,作為開發者其實還有一個不錯的選擇——使用Kotlin來編寫后端服務。
碰巧,筆者所在的團隊正好使用Kotlin作為主力的后端語言。我們用到了Kotlin大量的特性,包括函數式編程、空類型設計、智能的類型推斷、延遲加載、DSL、協程等。之所以選擇Kotlin,是因為其上手簡單,近乎完美地支持Java及其現有的主流開源框架(Spring 5對Kotlin也非常友好),代碼簡潔直觀、可讀性強,新手熟悉成本低。
另外,Kotlin的這些特性幫助我們解決了很多實際問題,例如:
· 高階函數和Lambda表達式,進一步復用代碼和簡化代碼。
· 空類型設計、Elvis表達式以及Scope Functions幫助開發者杜絕空指針的出現。
· 使用by lazy的延遲加載,在默認情況下是線程安全的。
· DSL能夠讓代碼更加清晰,對人類也更加友好。
· 協程省去了在傳統多線程并發機制中線程切換帶來的線程上下文切換、線程狀態切換、Thread初始化的性能損耗,大幅度提高了并發性能。
· Kotlin支持JDK 1.6+,因此在移動端使用Kotlin不必擔心兼容性的問題。谷歌也推薦使用Kotlin開發Android原生App。
因此,我們部門的大多數后端服務、App,甚至桌面工具都采用Kotlin或者部分使用Kotlin進行開發。
- Learning RabbitMQ
- VMware vSphere 6.7虛擬化架構實戰指南
- Java游戲服務器架構實戰
- Java加密與解密的藝術
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- 差分進化算法及其高維多目標優化應用
- 軟件架構:Python語言實現
- QGIS By Example
- Linux:Embedded Development
- Babylon.js Essentials
- 從0到1:HTML5 Canvas動畫開發
- ActionScript 3.0從入門到精通(視頻實戰版)
- QlikView Unlocked
- Microsoft HoloLens By Example
- 趣學數據結構