|
Kotlin 1.1 beta添加了JavaScript編譯,遠(yuǎn)程控制軟件,灰鴿子下載新版本的語(yǔ)言還包含對(duì)JVM,Android和JavaScript上的協(xié)同例程的實(shí)驗(yàn)性支持
![]()
JetBrains的靜態(tài)類(lèi)型語(yǔ)言的Kotlin本周增強(qiáng)了JavaScript和Java的1.1版本測(cè)試版本,在JVM和JavaScript上添加了JavaScript編譯和協(xié)同例程。
JavaScript編譯已經(jīng)在一個(gè)不完整的實(shí)驗(yàn)階段,即使建設(shè)者已經(jīng)有Kotlin的JavaScript野心幾年了。 JetBrains開(kāi)發(fā)商宣傳部副總裁Hadi Hariri表示:“標(biāo)準(zhǔn)庫(kù)中缺少很多東西,例如與軟件包系統(tǒng)正確的互操作不能生產(chǎn)。 “用1.1,有一個(gè)焦點(diǎn),使所有這一切都發(fā)生。
該語(yǔ)言現(xiàn)在已經(jīng)適當(dāng)?shù)刂С諮avaScript中的不同類(lèi)型的模塊,以及使標(biāo)準(zhǔn)庫(kù)部分與JVM兼容。編譯功能意味著開(kāi)發(fā)人員可以在JavaScript上使用Kotlin字符串,集合,序列,數(shù)組和其他核心API,以及JVM / Android,JetBrains的Kotlin的首席語(yǔ)言設(shè)計(jì)師Antony Breslav說(shuō)。 “許多流行的JS庫(kù)將通過(guò)類(lèi)型標(biāo)題(從DefinitelyTyped轉(zhuǎn)換),”Breslav說(shuō)。
JetBrains支持JavaScript的流行運(yùn)行時(shí)模塊系統(tǒng),以及webpack和其他重要工具。借助Kotlin 1.2及更高版本,JetBrains計(jì)劃改進(jìn)JavaScript工具。 “我們的目標(biāo)是使用Kotlin實(shí)現(xiàn)愉快的全棧開(kāi)發(fā),”Breslav說(shuō)。
beta還有對(duì)JVM,Android和JavaScript的協(xié)同例程(可以暫停和恢復(fù)的函數(shù))的實(shí)驗(yàn)性支持。這意味著開(kāi)發(fā)人員可以使用future / await,yield和類(lèi)似的編程模式。使用Kotlin的設(shè)計(jì),協(xié)同例程的實(shí)現(xiàn)是庫(kù)的一部分,而不是語(yǔ)言,意味著開(kāi)發(fā)人員不會(huì)被綁定到一個(gè)特定的編程范例或并發(fā)庫(kù)。
版本1.1中的類(lèi)型別名使開(kāi)發(fā)人員可以為類(lèi)型定義替代名稱(chēng)。這對(duì)于類(lèi)屬類(lèi)型(例如集合)和函數(shù)類(lèi)型非常有用。同時(shí),beta中的綁定可調(diào)用引用允許使用::運(yùn)算符來(lái)訪(fǎng)問(wèn)指向特定對(duì)象實(shí)例的方法或?qū)傩缘某蓡T引用。這以前是保留給lambdas。
編譯器插件的特點(diǎn)是使類(lèi)默認(rèn)打開(kāi),生成無(wú)arg構(gòu)造函數(shù),默認(rèn)情況下,并擴(kuò)展SAM(單一抽象方法)轉(zhuǎn)換。此外,刪除了對(duì)密封和數(shù)據(jù)類(lèi)的一些限制;開(kāi)發(fā)人員現(xiàn)在可以在同一個(gè)文件中定義一個(gè)密封子類(lèi)的子類(lèi),而不僅僅是密封類(lèi)的嵌套類(lèi)。數(shù)據(jù)類(lèi)可以擴(kuò)展其他類(lèi),并用于定義表達(dá)式的層次結(jié)構(gòu)“非常干凈,”JetBrains說(shuō)。 Verson 1.1棄用用于%運(yùn)算符的名稱(chēng)mod,并用名稱(chēng)ram替換它,該名稱(chēng)在語(yǔ)義上正確,并與類(lèi)似java.math.BigInteger的庫(kù)一致。
Kotlin在十年初就加入了JVM。最近,它已經(jīng)掌握了Tiobe語(yǔ)言的人氣指數(shù),在該名單上排名前100。它在本月排名第87。 Kotlin 1.1預(yù)計(jì)本季度將達(dá)到一般發(fā)布階段。
|
|