[譯]KotlinConf2017概要

KotlinConf2017概要

kotlin1.2 RC

主題演講的第一個重要聲明是發佈Kotlin 1.2 Release Candidate。此版本中的新功能包括對多平臺項目的實驗支持,容許您在面向JVM和JavaScript的模塊之間共享代碼,以及多種語言改進,包括對註解中的數組字面值的支持。有關1.2中的新功能的更多信息,請查看Kotlin 1.2 Beta公告博客文章。html

如今編譯器拒絕使用早期版本的Kotlin 1.2編譯的二進制文件; 您將須要使用此版本從新編譯它們。使用Kotlin 1.0.x或1.1.x編譯的代碼固然與本版本的編譯器徹底兼容。前端

儘管協程仍被標記爲實驗功能,但咱們想澄清這種狀態的確切含義。協程徹底能夠在生產環境中使用,咱們在本身的開發中使用它們,而且咱們沒有遇到任何重大問題。咱們保持實驗狀態的緣由是它使咱們有能力迭代設計。請注意,即便咱們對API進行了更改,當前的API仍將被支持,即便它被標記爲已被棄用,咱們將提供必要的遷移工具。根據咱們目前的計劃,在kotlin1.3中將刪除協程的實驗狀態。react

如今是咱們要求你幫忙的時候了。儘管咱們在內部和JetBrains的其餘團隊進行了大量的測試,但現實世界的範圍遠遠大於咱們所能接觸到的。所以,請給Kotlin 1.2 RC一個嘗試你本身的項目,讓咱們知道若是你遇到任何問題。您的幫助對於確保順利的最終發佈相當重要。
告訴你們去試試看git

Kotlin / Native iOS支持

咱們宣佈的下一個大新聞是支持使用Kotlin / Native的iOS開發,做爲Kotlin / Native 0.4的一部分發布。這個支持還處於早期階段,但它仍然在這裏,這是咱們在全部平臺上啓用Kotlin開發的重要一步。github

爲了顯示可能的事情,咱們寫了兩個應用程序併發布到App Store:web

spinner示例應用GitHub)是使用OpenGL構建了一個簡單的遊戲。它在iOS和Android(play store)上運行,大多數代碼在兩個版本之間共享。iOS版本有幾個附加功能,如遊戲中心集成。
KotlinConf appstore(GitHub上)展現了本次會議的日程安排,與UIKit的內置全機iOS UI。
這兩個示例應用都是開源的,您可使用它們做爲模板,在純Kotlin中構建本身的跨平臺移動應用。npm

Kotlin / Native IDE支持

固然,開發任何語言都須要一個IDE,因此從今天開始,Kotlin / Native有了IDE支持。
咱們如今正在爲Cion C / C ++ IDE的CLion發佈Kotlin / Native插件的初始預覽版本。該插件支持CMake做爲構建系統。它包括IntelliJ IDEA的Kotlin插件的全套代碼編輯功能,以及初步支持項目建立,測試和調試。編程

image

要嘗試插件,請安裝CLion 2017.3 EAP並在JetBrains插件列表中搜索「Kotlin / Native」。後端

在接下來的日子裏,咱們將發佈一個單獨的博文,其中包含了關於插件及其功能的更多細節。固然,CLion插件只是Kotlin IDE支持的一小步,敬請關注明年的進一步公告!api

Ktor 0.9

服務器端開發也是咱們的多平臺項目的關鍵部分。如今咱們宣佈本身承擔這一部分:Ktor的0.9版本,這是一個很是棒的基於異步協程的Web框架,它基於Kotlin創建起來。

Ktor已經在JetBrains和社區內的許多項目中使用,如今咱們相信它是構建很是高性能Web應用程序的堅實基礎。查看ktor.io 的快速入門指南,嘗試一下,讓咱們知道你的想法,因此咱們可使它更好的1.0版本。

使用React和Kotlin建立現代Web應用程序

對於Web前端開發與科特林,今天最大的新聞是發佈官方kotlin-wrappers React.js,以及 create-react-kotlin-app,用於建立使用React.js kotlin現代Web應用程序工具箱。使用create-react-kotlin-app,您能夠生成並當即開始在客戶端應用程序中工做,而不用擔憂項目設置和構建配置,使用靜態類型語言的優勢和JavaScript生態系統的強大功能。

要開始使用,請運行npm install -g create-react-kotlin-app查看入門指南

多平臺項目演示

爲了展現咱們的多平臺項目中的全部內容如何組合在一塊兒,咱們已經構建了一個使用咱們技術棧的最新技術的應用程序:KotlinConf應用。它由如下組件組成:

後端使用Ktor ;
web端應用使用React.js和Kotlin React包裝器;
Android應用使用Anko和Android架構組件;
iOS應用(上面提到)使用UIKit。

後端,web端應用程序和Android應用程序共享代碼使用Kotlin多平臺項目技術。對於異步編程,全部組件都使用協程。爲了在服務器和客戶端之間交換數據,咱們使用全新的kotlinx.serialization庫

你會發現這些源代碼是很寶貴的技術,你也能夠在本身的工做中使用。

學習kotlin

隨着Kotlin發展,愈來愈多的人對學習語言感興趣。爲了使這更容易,咱們發佈了一個新版本的EduTools插件,容許經過解決您最喜好的IDE中的交互式練習來學習Kotlin。新版本增長了對Android Studio的支持(之前僅支持IntelliJ IDEA),幷包含用於構建本身的課程的新UI。

將來方向

至於語言的將來發展,咱們此時的主要目標是在Kotlin支持的平臺之間實現更好和更普遍的代碼重用。咱們計劃使用相同的API擴展全部平臺上可用的庫,以包括I / O,網絡,序列化,日期處理等。

在編譯器中,咱們的主要重點是1.3將保持內部變化,而不是外部可見的語言特性。內部更改將實現更好的性能,改進的類型推斷,爲全部目標平臺生成更有效的代碼,以及更好地響應IDE插件。咱們但願咱們仍然能夠經過一些不錯的新語言功能來改善發行版本,可是咱們目前尚未做出任何承諾。

讓咱們kotlin!

我的公衆號

相關文章
相關標籤/搜索