精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Kotlin Native新增Objective-C互操作能力以及對WebAssembly的支持

責任編輯:editor004

作者: Sergio De Simone

2017-12-01 11:31:05

摘自:INFOQ

根據JetBrains技術主管Nikolay Igotti的介紹,Kotlin Native 0 4已經可用于為iOS和macOS開發原生應用。新版的另一個新功能對象固定(Object pinning)

根據JetBrains技術主管Nikolay Igotti的介紹,Kotlin/Native 0.4已經可用于為iOS和macOS開發原生應用。此外該版本還為WebAssembly平臺提供了實驗性支持。

Kotlin/Native對iOS/macOS開發的支持,關鍵在于實現了與Objective-C的互操作性。JetBrains目前已經發布了一個非常簡單的演示應用,該應用使用Kotlin編寫,已發布至Apple Store和Google Play。

下列代碼片段展示了訪問iOS框架的方式:

import kotlinx.cinterop.*import platform.Foundation.*import platform.objc.*import platform.osx.*fun readResource(resourceName: String): ByteArray { val filePath = NSBundle.mainBundle.pathForResource(resourceName, ofType = null) val fileData = NSData.dataWithContentsOfFile(filePath!!) ?: throw Error("failed reading resource $resourceName") return fileData.bytes!!.readBytes(fileData.length.toInt())}

這一切都是通過新的platform實現的,并通過庫實現了對底層操作系統接口的訪問。借此便可以使用提供了POSIX OS層的平臺執行各類操作,如調用fopen、fread等。以前與底層平臺的互操作則需要專門生成的Interop Stub。

新版的另一個新功能對象固定(Object pinning),主要是為了簡化通過C API使用Kotlin對象的方式,借此可以確保通過C API消費的對象能夠鎖定到內存中。

Kotlin/Native現已開始支持WebAssembly,因此可以通過Kotlin開發基于瀏覽器的應用。但根據Igotti的介紹,由于瀏覽器支持方面的局限,這種支持目前依然是實驗性質的。

在工具方面,調試功能現已支持在運行時檢查大部分變量。此外同樣重要的是,還通過一個新的插件讓CLion可以支持Kotlin/Native。

Kotlin/Native是Kotlin的最新成果,可用于將最初僅僅基于JVM的語言Kotlin編譯為無需虛擬機即可運行的原生庫。因此該技術非常適合諸如iOS等平臺以及嵌入式設備等不能或者無法運行虛擬機的環境。Kotlin/Native目前已經可以支持Windows、Linux、macOS、iOS、Android和WebAssembly。

閱讀英文原文:Kotlin Native Adds Objective-C Interop, WebAssembly Support

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 海阳市| 夹江县| 光山县| 潍坊市| 都江堰市| 江门市| 陆河县| 监利县| 石棉县| 全州县| 滨海县| 盐山县| 稻城县| 林西县| 汶川县| 镇宁| 德化县| 丹东市| 平顶山市| 平谷区| 聊城市| 张家川| 根河市| 杭州市| 昌邑市| 桐乡市| 天镇县| 阳原县| 乌兰县| 罗江县| 渑池县| 佳木斯市| 综艺| 临沂市| 焉耆| 漳平市| 陇西县| 滦平县| 东光县| 宁河县| 迁西县|