首屆官方舉辦的Kotlin 專題會議 KotlinConf 于昨天正式開幕,來自世界各地約 1200 名與會者齊聚舊金山,在這場盛大的 KotlinConf 大會主題演講中,Kotlin 的首席語言設(shè)計師 Andrey Breslav 公布了一系列與 Kotlin 緊密相關(guān)的重大發(fā)展成果
首屆官方舉辦的Kotlin 專題會議 KotlinConf 于昨天正式開幕,來自世界各地約 1200 名與會者齊聚舊金山,在這場盛大的 KotlinConf 大會主題演講中,Kotlin 的首席語言設(shè)計師 Andrey Breslav 公布了一系列與 Kotlin 緊密相關(guān)的重大發(fā)展成果,我們不妨關(guān)注一下 ——
Kotlin 1.2 RC
首先宣布了 Kotlin 1.2 RC 版(即 1.2 首個候選發(fā)行版)。該版本引入了一系列新功能,包括對多平臺項目的實驗性支持 —— 允許開發(fā)者在針對 JVM 和 JavaScript 的模塊之間共享代碼,以及多項對語言方面的改進 ——包括支持在注釋中使用數(shù)組字面量。更多關(guān)于 1.2 版本新功能的內(nèi)容,點此查看。
此外,值得關(guān)注的就是協(xié)程這個特性了。雖然協(xié)程仍然被標記為實驗性狀態(tài),但官方特意說明了這里“實驗性”代表的含義。官方表示協(xié)程已經(jīng)完全準備好用于生產(chǎn)環(huán)境,他們也已使用協(xié)程進行開發(fā),而且也沒發(fā)現(xiàn)在使用當中出現(xiàn)任何重大問題。之所以仍保持實驗性狀態(tài),是為了能夠?qū)?Kotlin 繼續(xù)進行設(shè)計迭代。根據(jù)目前的計劃,Kotlin 1.3 將會刪除協(xié)程的實驗性狀態(tài)。
Kotlin/Native 對 iOS 開發(fā)的支持
另外一個重大消息就是 Kotlin/Native 已支持用于開發(fā) iOS 應(yīng)用,這也將是Kotlin/Native 0.4 的特性之一。雖然對 iOS 開發(fā)的支持仍處于早期階段,但確實已經(jīng)實現(xiàn)了,這是在所有平臺上使用 Kotlin 進行開發(fā)的重要一步。
官方還特意展示了利用 Kotlin/Native 開發(fā)的兩款應(yīng)用(Spinner app(GitHub)、KotlinConf app(GitHub)),它們都可以運行于 iOS 和 Android 平臺。Android 和 iOS 平臺共享了不少代碼,其中包括大多數(shù)圖形處理、聲音播放和用戶輸入響應(yīng)代碼。
兩款應(yīng)用都已開源,你可以將它們作為模板,僅使用 Kotlin 構(gòu)建自己的跨平臺移動應(yīng)用。點此可了解其中一款應(yīng)用。
IDE 對 Kotlin/Native 的支持
Kotlin/Native 也將迎來 IDE 的支持。官方表示首先將在 C/C++ IDE CLion 中試用該功能,目前正在發(fā)布一個名為 Kotlin/Native plugin for CLion 的插件,該插件支持使用CMake 作為構(gòu)建系統(tǒng)。其中包含來自 IntelliJ IDEA 的 Kotlin 插件中全部代碼編輯功能集,同時初步支持項目創(chuàng)建、測試與調(diào)試等操作。
使用 React 和 Kotlin 創(chuàng)建現(xiàn)代 Web 應(yīng)用
對于使用 Kotlin 進行 Web 前端開發(fā)的開發(fā)者,Andrey Breslav 在大會上還公布了另外一個重大消息 —— 正式發(fā)布了針對 React.js 的官方 Kotlin 封裝工具。此外,還有一個名為create-react-kotlin-app 的工具集 —— 通過 Kotlin 使用 React.js 創(chuàng)建現(xiàn)代 Web 應(yīng)用。
使用 create-react-kotlin-app,可讓開發(fā)者無需費心于項目設(shè)置和配置構(gòu)建這些工作,能專注于快速開始客戶端應(yīng)用開發(fā),同時體會到靜態(tài)類型語言的優(yōu)勢以及由 JavaScript 生態(tài)系統(tǒng)帶來的強大配套資源。詳情點此了解。
未來的發(fā)展方向
Kotlin 語言的未來發(fā)展方向主要是在 Kotlin 支持的平臺之間實現(xiàn)更好、更廣泛的代碼重用。官方表示計劃通過使用同一 API 以擴展全部平臺上的可用庫資源集合,其中涵蓋 I/O、網(wǎng)絡(luò)、序列化以及日期處理等。
編譯器方面,1.3 版本仍集中關(guān)注內(nèi)部層面的變更,而不是外部可見的語言特性。內(nèi)部的改變能提高性能、改進類型推斷、為所有目標平臺生成更高效的代碼,以及帶來更好的 IDE 插件響應(yīng)能力。
關(guān)于 Kotlin/Native
說了這么多,Kotlin/Native 到底是什么?Kotlin/Native 能將 Kotlin 編譯成機器碼,目前還處于技術(shù)預(yù)覽版階段,離商用估計還需要至少一年的時間。
Kotlin/Native 不是 Jni 的概念,它不僅僅是要與底層代碼比如 C、C++ 交互,而且還要繞過 JVM 直接編譯成機器碼供系統(tǒng)運行。這說明了什么?Kotlin 準備扔掉 Java 這根拐杖了。
第一次看到 Native 這個名字或許會很自然地想到 Jni,Kotlin 跑在 JVM 上面,使用 Jni 與底層代碼交互。不過詳細深入研究后可以發(fā)現(xiàn),Kotlin 開發(fā)團隊的野心不可小覷,Java 誕生這么多年,也沒有涉足過編譯成除 Java 虛擬機字節(jié)碼以外的字節(jié)碼的事情,Kotlin 才這么年輕,不得不說十分具有革命性。
所以如果有人再問你什么是 Kotlin,你應(yīng)該回答,Kotlin 是一門很厲害的靜態(tài)語言(而不是之前常說的 Kotlin 是一門運行在 JVM 之上的靜態(tài)語言)。反正你能想到的,Kotlin 的開發(fā)團隊都想干。
時鐘撥回到到五個月前,2017 年 5 月 17 日 Google I/O 大會第一天,谷歌宣布 Kotlin 成為 Android 開發(fā)的官方支持語言。有了 JetBrains 和 Google 的背書,自此,對于“Kotlin 即將取代 Java ”的聲音從未停止過。上個月,我們也曾發(fā)表過一篇題為“Kotlin 將超越 Java 成為 Android 開發(fā)的第一語言?”的資訊,文中提到,Realm 公司調(diào)查報告給出的預(yù)測表示,“到 2018 年底,在 Android 開發(fā)領(lǐng)域,Kotlin 將超越 Java,成為開發(fā) Android 應(yīng)用的第一語言。”
不過,再看回在 KotlinConf 大會中官方已公布的關(guān)于 Kotlin 的發(fā)展成果和未來方向,Kotlin 的目標可能并不是撼動常青藤 Java 在 Android 開發(fā)領(lǐng)域中的地位,他們的征途或許是星辰大海。
參考:https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote-recap/
新聞熱點
疑難解答
圖片精選