首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android平台的Swift—Kotlin

Kotlin用于JavaScript: 使用kotlinc-js编译器Kotlin代码转换为JavaScript(不是Kotlin或标准库的代码编译时会被忽略),Kotlin中提供了一些标准库用于JS...基于Kotlin/Native的一款游戏源码:https://github.com/jetbrains/kotlinconf-spinner --------- 二、开发平台项目 Kotlin 平台项目允许你将相同的代码编译到多个目标平台...● 平台模块 平台模块可以依赖在指定平台上可用的任何模块与库 (包括对于 Kotlin/JVM 平台的 Java 库与 Kotlin/JS 平台JS 库)。...但是一些亮点的特性包含协程和平台都处于试验和开发阶段。并不能吸引除Java,Android之外的更多开发者加入(JS平台使用的人并不多)。 2、与Java的交互性,让它能够依赖Java成长。...如果之后Kotlin平台等实验室特性上有所突破的话,绝对会吸引更多的开发者。

3.4K90
您找到你想要的搜索结果了吗?
是的
没有找到

初窥 Kotlin 1.2 的跨平台特性

尽管跨平台特性目前只支持 Jvm 和 JavaScript,但随着 Native 的快速迭代,相信在不久的将来,Kotlin 的跨平台特性将会很快支持全平台,彼时,Kotlin 真正作为一门成熟的跨平台语言出现在大家面前...我们知道,Kotlin 可以编译成 Jvm 字节码运行在 Java 虚拟机上,也可以编译成 JavaScript 运行在浏览器、Node 等 JavaScript 环境中,甚至可以编译成机器码,直接运行在机器本地环境中...,也就是说,如果一份代码不依赖各个平台特有的 Api,理论上它就可以编译成上述三个平台代码中的任何一个,简单来说,Kotlin 的跨平台就是这样的逻辑。...我的跨平台代码想要使用平台相关特性,怎么办? ? 上图是 Kotlin平台工程的一个基本结构。...Js 版本的 Date: actual class Date { private val jsDate = kotlin.js.Date() actual fun getTime() =

55610

Kotlin 一统天下?KotlinNative 开始支持 iOS 和 Web 开发

该版本引入了一系列新功能,包括对平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享代码,以及多项对语言方面的改进 —— 包括支持在注释中使用数组字面量。...虽然对 iOS 开发的支持仍处于早期阶段,但确实已经实现了,这是在所有平台使用 Kotlin 进行开发的重要一步。...React.js 的官方 Kotlin 封装工具。...此外,还有一个名为 create-react-kotlin-app 的工具集 —— 通过 Kotlin 使用 React.js 创建现代 Web 应用。...内部的改变能提高性能、改进类型推断、为所有目标平台生成更高效的代码,以及带来更好的 IDE 插件响应能力。 关于 Kotlin/Native 说了这么Kotlin/Native 到底是什么?

1.4K20

Kotlin 推出新功能:无需同时了解 Kotlin 和 JavaScript

Kotlin 在 2017 Google 发表声明后总被当成是安卓专用开发语言,但实际上,Kotlin 正在积极地向平台语言演进,即“通用型语言”。...而 Kotlin 社区也紧跟着这样的趋势发展,出现了愈来愈多的库、框架来支持平台,如 Arrow、Okio、Apollo 等在新版本中都支持了平台开发。...如果 Compose for Web(Android 上使用平台版 Jetpack Compose)能够用 Kotlin/Wasm 代替 Kotlin/JS 来完美执行基于 Canvas 的像素渲染...Deleuze 预测,像 Rust/C/C++ 这样的语言主要用于生产 Wasm 组件(强调效率,只为非共享方法提供极小、甚至干脆不提供运行时);而 Kotlin/Wasm 这类能利用 WasmGC...有趣的是,只需要提供 WASI 平台中的特定部分,就能使用 Kotlin平台库(例如 kotlinx-datetime 或 Okio)。

1.5K20

是时候使用Kotlin编程了

Kotlin可以代码编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。...跨平台开发 平台支持 Kotlin的不仅仅用于Java,还可以使用它进行web js和iOS开发,所以市面上之前说Kotlin是一款基于JVM的语言是不准确的。...3,Kotlin用于JavaScript 使用kotlinc-js编译器Kotlin代码转换为JavaScript(不是Kotlin或标准库的代码编译时会被忽略),Kotlin中提供了一些标准库用于JS...Kotlin Native Kotlin Native是一种Kotlin源码编译成不需要任何VM支持的目标平台二进制数据的技术,编译后的二进制数据可以直接运行在目标平台上,它主要包含一个基于LLVM的后端编译器的和一个...平台支持 2.3.2 平台环境搭建 2.3.3 特定平台申明 2.3.4 标准库支持 2.3.5 JVM特性 2.3.6 JavaScript特性支持 2.4小结 第3章 Kotlin快速入门 3.1

3.2K10

JetBrains 发布了 Kotlin Multiplatform 的首个稳定版本

Kotlin/Native 使用 MinGW(适用于 Windows 的 GCC 工具链)和 Android NDK 编译成适用于 macOS、iOS、Linux、Windows 的独立可执行文件。...Kotlin/JS Kotlin 转换为 JavaScript。Kotlin Wasm 仍处于实验阶段,可编译成 WebAssembly。...expect 关键字声明标记为将与用actual关键字标记的代码匹配,actual关键字可能是特定于平台的。...JetBrains 建议仅对平台 API 使用 expect/actual,其他情况使用普通接口。...去年,谷歌通过 引入 其他一些 Jetpack 库的“实验预览”,表达了对 Kotlin Multiplatform 的一些支持,这些库不是用于生产的,而是用于“在针对 Android 和 iOS 应用程序的平台项目中使用这些

16620

Kotlin极简教程(第一章 Kotlin简介)

它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。支持与Java,Android 100% 完全互操作。...Kotlin 具有很多下一代编程语言1静态语言特性:如类型推断、范式支持、可空性表达、扩展函数、模式匹配等。...分别是文件编译成.class字节码文件和运行文件。 我们来看一下kotlinc的命令: #!...然后使用Gradle java、kotlin插件: apply plugin: 'java' apply plugin: 'kotlin' 当然,如果我们同时想使用Groovy语言也是可以的,加上如下的一些配置...org.jetbrains.kotlin:kotlin-stdlib-jsKotlin JS执行环境依赖。 我们可以通过Gradle项目的依赖树看出kotlin-stdlib-jre8依赖 ?

2K70

移动跨平台开发深度解析

不同的是,在 JS Framework 层的最后,web 平台和 Native 平台,对 Virtual DOM 执行的解析方法是有区别的,在渲染真实 UI 的时候调用的接口也不同的。...开发者首先可在本地像编写 web 页面一样编写一个 app 的界面,然后通过命令行工具将之编译成一段 JavaScript 代码,生成一个 Weex 的 JS bundle;同时,开发者可以生成的 JS...web 页面,这个页面和移动应用使用相同的页面源代码,但被编译成适合Web展示的JS Bundle,通过浏览器里的 JavaScript 引擎及 Weex SDK 运行起来的。...Dom 线程解析 Json 数据,得到对应的 WxDomObject,然后创建对应的WxComponent 提交 Render 。 Render在原生端最终处理处理渲染任务,并回调里JS方法。...总的来说它主要负责是:管理Weex的生命周期,解析JS Bundle,转为Virtual DOM,再通过所在平台不同的API方法,构建页面;进行双向的数据交互和响应。

3.4K20

Kotlin中的一些技巧与迂回操作分享

我们这里讲的Kotlin,就是一门以这个Котлин岛命名的现代程序设计语言。它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。...解决方法当然是使用 lateinit: lateinit var a: () - Unit a = { println("1551"); a() } a() // 打印出很多1551 更进一步:匿名...Lambda 表达式的递归 正统的「Lambda演算」里面的函数全部都是匿名函数,需要使用「不动点组合子」实现递归: // 这是kotlin-js val z = { f: dynamic - {...(读者可以思考一下为什么这里我给了 Kotlin-js 的例子是而不是 Kotlin-jvm(逃 阻止编译器添加对非空类型的函数参数的 NullCheck 总所周知,当一个函数的参数是非空类型时,Kotlin...传递编译器参数的方法使用IDEA调用编译器的情况: Project 设置:File – Settings – 找到 Kotlin Compiler – Additional command

68810

闲聊 Kotlin-Native (0) - 我们为什么应该关注一下 Kotlin Native?

Kotlin 在 Android & iOS 上共享逻辑 用 Kotlin平台特性,其实我们完全可以抽象出一套 UI 框架,用相同的 API 在不同的平台使用各自的 UI 控件。...我注意到最近关于 Rust 写前端的文章尤其,其实就是因为 Rust 支持编译成 WASM 跑在支持它的浏览器上,Kotlin-Native 又何尝不可呢。...客观的讲,平台相关的绝大多数 API 经过几轮大规模迭代,已经进入较为稳定的状态,之所以还称为 alpha,估计是部分平台的周边支持例如 kotlin-js 的 dukat 还在快速迭代当中。...平台的重大意义在于 Kotlin 生态的建立。...这一点只要是习惯了使用 Kotlin 开发 Android 应用的开发者,一般来讲问题不大。语法上 Kotlin 不管是在哪个平台,包括 Kotlin-js,差异几乎可以忽略。 C 语言背景。

2.9K30

Kotlin 1.4 现已发布,专注于质量和性能

下面是一些最近使用 Kotlin 开发的优秀软件示例: 服务器端:Atlassian、Adobe、ING Bank; Android:Google Home、Duolingo、Zomato; 平台移动端...这个新向导为您提供了一个创建和配置不同类型的 Kotlin 项目的地方,即使使用更复杂的结构(例如平台项目),也可以轻松上手。...您可以在“通用”代码中使用标准库,“通用”代码是指在不同的平台(即 Android 与 iOS 或 JVM 与 JS)之间共享的代码。我们逐步扩展通用库,并向其添加或引入缺少的功能。...Kotlin Multiplatform 让 Kotlin 成为出色的平台解决方案是我们的首要任务之一。...我们继续开发 Kotlin 库格式 Klib,这种格式在后台用于共享平台库。

1.8K30

Kotlin十周年:Kotlin 1.5稳定版发布——2021年第一个大版本更新有何亮点?

据介绍,新的编译器与 Kotlin/Native 和 Kotlin/JS 编译器共享统一的管道和业务逻辑,因此 Kotlin 团队可同时为所有平台实现大多数功能、优化和错误修复。...Kotlin/Native 改进 - 针对 Linux 和 iOS 应用程序的更快的调试编译 Kotlin/JS 的改进 - 更多 JS 库迁移到新的 Kotlin/JS IR 编译器 Kotlin.../JVM 改进:新的默认 JVM IR 编译器 Kotlin/Native 改进:针对 Linux 和 iOS 应用程序的更快的调试编译 Kotlin/JS 的改进:更多 JS 库迁移到新的 Kotlin...(Kotlin/Native)、用于构建 Web 应用程序的 Kotlin for JavaScript(Kotlin/JS)以及用于 Java 平台Kotlin for JVM(Kotlin/JVM...使用 IntelliJ IDEA 和 Android Studio 的开发者应该会看到一个通知,提醒他们 Kotlin 将自动更新到 1.5.0。用户也可以手动更新。

81230

名词小解

层叠样式表 ----------------------------------------------------------------------------- JavaScript(js...这使得在 IDE 中开发的代码能够利用已有的机制来构建,从而尽可能的减少了在新环境中使用所受的干预,哪怕与那些没有安装 Kotlin 插件的开发人员一起合作项目也没有问题。...Kotlin 插件在当前版本的 IntelliJ 和 Eclipse 中均已能使用。     Kotlin,类似 Xtend 一样,旨在提供一种更好的 Java 而非重建整个新平台。...Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。...它快速、可靠并且可通过简单的API扩充,Perl/Python等解释器编译到服务器中。   同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。

77100

Kotlin 1.2 有哪些值得关注的点?

引子 Kotlin 1.2 的发版节奏越来越快了。从 16 年 2 月 19 日发布 1.0 到 17 年 3 月 14 日发布 1.1,这次只花了半年的时间,厉害了。...看图就知道,这个跨平台的思路其实与 C++ 跨平台的思路很像,我们只写通用逻辑来跨平台,至于一些与平台交互紧密的部分,使用相应的 Native 代码完成就好了。...例如我要写一个图像识别的算法实现,这个算法是通用的,也基本上不依赖平台的 API,我就把它写到 Common 这个模块当中,那么你可以选择把我这个模块的代码编译成 Java 虚拟机字节码,或者 js,甚至将来的机器码...所以在 1.2 当中,Kotlin 启用了一对儿关键字: expect 和 actual ,方便通用模块使用平台模块中提供的平台相关的实现,这里就不具体展开啦。...安装 1.2 插件之后,我们发现 IntelliJ 开始允许大家创建 Kotlin DSL Gradle 工程,这意味着,Kotlin DSL 作为 Gradle 的脚本语言已经可以正式在生产环境中使用

43120

K2 编译器是什么?世界第二高峰又是哪座?

正是因为这个原因,出现了一系列的高级语言与编译器,显著简化了编程体验 编译器的作用就是源代码输出为机器码或者目标代码 如上所示,Kotin编译器可以Kotlin代码编译成jvm字节码,除此之外,Kotlin...编译器也可以Kotlin代码编译成javascript或者llvm bitcode 总得来说,Kotlin编译器目前有3个目标平台,jvm,javascript,native,它们都有着不同的格式,...,Kotlin可以源代码编译成3个平台的目标代码,因此也有着3个不同的编译器后端,为不同的目标平台转换语法树和信息 上文提到,编译器后端包括一个可选的中间代码生成器,在Kotlin刚开始开发时,为了加快开发速度...因此Kotlin团队在开发Native后端时引入了IR 可以看到Native后端遵循了龙书的经典方法生成中间代码的阶段和基于IR生成目标代码的阶段分离,这一设计的目的是考虑到IR将来可能可以在不同的后端之间复用...如上图所示,K2编译器主要包括两个部分,新后端与新前端,其中新的Jvm后端与Js后端已经正式发布了(Native后端一开始就引入了IR),而新的编译器前端还在开发中 新的编译器后端 可以看出,新的编译器后端都使用

74140

今天Kotlin 1.3正式发布:支持协程和平台组件Kotlin 开发者社区

,此外,Kotlin 的跨平台功能将为 Android 和 iOS 应用程序等组件之间共享业务逻辑,服务器也可以与 Web 和移动客户端共享逻辑,而且平台库让日常的开发变得便捷。...详情请阅读:https://kotl.in/coroutines Kotlin / Native Beta Kotlin / Native 使用 LLVM Kotlin 源代码编译为独立的二进制文件...详情请阅读:https://kotlinlang.org/docs/reference/native-overview.html 平台项目和工具 Kotlin 团队称,能在所有平台上运行是 Kotlin...虽然 Kotlin平台功能仍处于试验阶段,但 1.3 版本算是向前迈出了一大步。 Kotlin 1.3 还附带了一组平台库,涵盖了 HTTP、序列化和协同管理等日常任务。...编写平台代码最简单的方法是依赖这些库,你还可以创建自己的平台库,特定平台的依赖项包装到通用 API 中。

1.3K20
领券