一、Kotlin的缺點(diǎn)
1、編譯速度較慢:Kotlin比Java編譯速度要慢很多。這也是Kotlin開發(fā)者們正在努力改善的領(lǐng)域之一。
2、招聘的 Kotlin 專業(yè)人員更少:盡管 Kotlin 非常受歡迎,但今天在這個(gè)領(lǐng)域仍然只有少數(shù)程序員可用。毋庸置疑,每個(gè)想要使用 Kotlin 的移動(dòng)應(yīng)用程序開發(fā)人員都應(yīng)該深入了解它。不幸的是,在 Kotlin 領(lǐng)域仍然很難找到真正有經(jīng)驗(yàn)的專家。
3、學(xué)習(xí) Kotlin 的資源有限:盡管大多數(shù)開發(fā)人員越來越多地轉(zhuǎn)向 Kotlin,但全球可用的開發(fā)人員社區(qū)有限。它導(dǎo)致在應(yīng)用程序開發(fā)過程中學(xué)習(xí)編程語言和解決不同查詢的資源受到限制。
4、仍與Java不同:雖然Kotlin可以與Java互操作,但是它仍然是一種獨(dú)立的編程語言。Kotlin有時(shí)需要使用自己獨(dú)特的解決方案和技巧,對(duì)于Java程序員來說需要再學(xué)習(xí)和適應(yīng)Kotlin的語法和規(guī)則。
二、Kotlin的優(yōu)點(diǎn)
1、最大限度地提高了團(tuán)隊(duì)的生產(chǎn)力
Kotlin 是一種基于 Java 的編程語言。它可以消除Java的繁瑣和過時(shí)。除了是一種清晰、緊湊和高效的語言之外,Kotlin 還以擁有直觀簡(jiǎn)潔的語法而自豪。
因此,Kotlin 可以最大限度地提高整個(gè)開發(fā)團(tuán)隊(duì)的整體生產(chǎn)力。使用 Kotlin 編寫和部署新代碼所需的時(shí)間非常少。它還可確保更輕松的大規(guī)模代碼可維護(hù)性。
2、與現(xiàn)有的Java代碼協(xié)調(diào)
Kotlin 的編程語言在 Java 中具有互操作性。它與Java和許多其他相關(guān)框架和工具一致。這使得切換到 Kotlin 成為可能。如果你的產(chǎn)品不能只用 Kotlin 編寫,這兩種編程語言可以很容易地同時(shí)使用。
3、可以輕松維護(hù)
Kotlin 對(duì)許多 IDE 都有出色的支持,包括 Android studio 和許多其他 SDK 工具。這有助于最大限度地提高開發(fā)人員的整體生產(chǎn)力,因?yàn)樗梢赃B續(xù)處理他們已經(jīng)習(xí)慣的工具包。
4、bug更少
有了更清晰、更緊湊的代碼庫,Kotlin 沒有犯錯(cuò)的余地。它還在生產(chǎn)中提供了更穩(wěn)定的代碼。編譯器可以在編譯時(shí)跨度內(nèi)識(shí)別每個(gè)可能的錯(cuò)誤,沒有任何麻煩。因此,它使 Kotlin 成為 Java 的更安全替代品。
5、更可靠
與許多其他傳統(tǒng)編程語言不同,Kotlin 是更成熟的語言。Kotlin 于 2011 年成立。從推出的那一刻起,Kotlin 在發(fā)布最終版本之前就經(jīng)歷了多個(gè) Beta 和 Alfa 階段。最新版本與其以前的幾個(gè)語言版本反向兼容。
6、很容易學(xué)習(xí)
Kotlin 旨在增強(qiáng) Java 的功能,而不僅僅是重寫它們。移動(dòng)應(yīng)用程序開發(fā)人員在處理 Java 時(shí)掌握并獲得的所有技能也可以應(yīng)用于與 Kotlin 相關(guān)的每個(gè)項(xiàng)目。
7、結(jié)合了函數(shù)式和過程式編程
目前,有一堆編程范式,它們被廣泛使用。每個(gè)編程范式都有其優(yōu)點(diǎn)和缺點(diǎn)。因此,當(dāng)不缺乏過程編程具有零優(yōu)勢(shì)的場(chǎng)景時(shí),功能方法可能會(huì)遇到許多困難,這些功能方法可以更有效。為了拼寫出較好的結(jié)果,Kotlin 結(jié)合了函數(shù)式和過程式編程的優(yōu)點(diǎn)。
三、Kotlin是什么
Kotlin 是一個(gè)基于 JVM 的新的編程語言,由 JetBrains 開發(fā)。它可以編譯成 Java 字節(jié)碼,也可以編譯成 JavaScript,方便在沒有 JVM 的設(shè)備上運(yùn)行。Kotlin 已正式成為 Android 官方支持開發(fā)語言。
Kotlin 從一開始推出到如今,已經(jīng)有六年,2016 年官方正式發(fā)布為數(shù)不多的穩(wěn)定版本,發(fā)展簡(jiǎn)史如下:2011 年 7 月,JetBrains 推出 Kotlin 項(xiàng)目;2012 年 2 月,JetBrains 以 Apache 2 許可證開源此項(xiàng)目;2016 年 2 月 15 日,Kotlin v1.0(名列前茅個(gè)官方穩(wěn)定版本)發(fā)布;2017 Google I/O 大會(huì), 宣布 Kotlin 已正式成為安卓開發(fā)官方支持開發(fā)語言。
Kotlin 具備類型推斷、多范式支持、可空性表達(dá)、擴(kuò)展函數(shù)、模式匹配等諸多下一代編程語言特性。Kotlin 的編譯器 kompiler 可以被獨(dú)立出來并嵌入到 Maven、Ant 或 Gradle 工具鏈中。這使得在 IDE 中開發(fā)的代碼能夠利用已有的機(jī)制來構(gòu)建,可以在新環(huán)境中自由使用。
延伸閱讀1:Kotlin設(shè)計(jì)目標(biāo)
創(chuàng)建一種兼容Java的語言:
讓它比Java更安全,能夠靜態(tài)檢測(cè)常見的陷阱。如:引用空指針讓它比Java更簡(jiǎn)潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實(shí)現(xiàn)。讓它比非常成熟的競(jìng)爭(zhēng)對(duì)手Scala語言更加簡(jiǎn)單。