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

Swift vs. Kotlin 漫谈系列之类与继承

Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),《Kotlin vs. Swift漫谈》系列就是他们在互相切磋是的语录。...Swift: 是的,Swift 便捷初始化器需要去调用指定初始化器来完成初始化。听说你们可以用构造函数的参数定义类的属性。 Kotlin: 哟,?。...这是因为 var 本质上是声明了一个 setter 方法。 Swift: Swift 中储值属性不能覆盖,只能覆盖父类的计算属性,同样需要加上 override 关键字,不过属性覆盖用的不是很多。...在 Kotlin 中,如果一个类它的直接超类继承相同成员的多个实现(由于接口函数可以有实现),它必须覆盖这个成员并提供其自己的实现。...这是因为 var 本质上是声明了一个 setter 方法。 此外,我们还可以在类的主构造函数的参数也可以同样实现属性覆盖。

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

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

官方在这方面也是非常努力的, 1.4 预览版就开始都支持 Swift 调用 suspend 函数了,我倒是很期待 Android Studio 直接开发 iOS 的事儿。...平台特性的持续优化 1.4-M2 开始支持结构化平台特性,也就是大佬们经常提到的 HMPP。...平台的重大意义在于 Kotlin 生态的建立。...如果是开发一款与 Android 共享部分代码的 iOS 应用来实践 Kotlin平台的特性,那么你还需要对 Objective-C 或者 Swift 有一定的了解。...也许我们将来会考虑自己发一款跨平台的框架来取悦自己,所以这个也是很重要的。 Kotlin-Native 与其他语言的互调用,主要是 C 和 Objective-C(Swift)。

2.9K30

KotlinSwift、Scala 的延迟求值

其实 Swift 当中对于变量的读写有更严格的设计,这一点 struct 与 class 的差异就可见一斑。...Hmmm,这个赋值行为语言运行的角度来讲确实如此,可是这个逻辑不应该对开发者是透明的么,为什么要让开发者操心这么?...参数 conditions 前面的下划线,一般语言的参数都只有参数名,也就是 conditions,Swift 还有一个参数标签的概念,用于函数调用时指定(其实我们在 Kotlin 当中调用函数时也可以在参数前加参数名...,可以通过 @autoclosure 来简化调用过程中参数的写法,这一点其实形式上与 Scala 的传名参数类似。...,跨平台才是最牛逼的,加油 Kotlin,我等着 Android Studio 5.0 写 iOS 呢(zZZ)。

1.7K20

说说最近官方公布的 Kotlin 的动态

Kotlin 的发版节奏 过去 Kotlin 的版本节奏一直比较佛系, 1.0 到 1.1 花了一年,到 1.2 才半年,到 1.3 又近一年,1.4 却花了将近两年。为什么会这样呢?...而现如今, Kotlin 经过 1.0 正式发布 ? 1.1 正式支持 JavaScript 并开始试验协程 ? 1.2 开始试验平台 ?...KMM 插件 KMM 算是 Kotlin Team 为平台这个重磅特性挖掘的一个重要的应用场景。 ?...Kotlin 目前尚不能像在 Android 上那样全面替代 Java,目前以导出 Framework 的方式引入 iOS 工程的做法来看,Swift 和 Objective-C 暂时还是无法完全干掉的...Kotlin Native 可用的框架目前仍然比较少,如果想要编写 Kotlin 平台的代码,也需要我们引入的框架支持 Kotlin 平台,例如序列化框架可选的目前主要就是官方的 kotlinx-serialization

1.2K30

微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅1、引言2、概述3、“烹饪”准备4、“烹饪”过程5、开锅,上菜6、如何更好地了解Kotlin这种食材的味道附录:QQ、微信团队原创

Kotlin 是一个用于现代平台应用的静态编程语言,由 JetBrains 开发(也就是开发了号称Java界最智能的集成开发工具IntelliJ IDEA的公司)。...实际上,Kotlin对于Android的意义和重要性要远大于Swift对于iOS,因为不管是Objective-C还是Swift,它们至少都是苹果自已的东西,而悲剧的是Java并不属于Google。...,如何解决掉Java这个如鲠在喉的历史遗留,是Android决策者早就在考虑的问题,只是恰好选中了Kotlin而已。...但无论如何,对于Android开发者来说,学一门技术确实很痛苦,但提前做好准备是更明智之选,至少到了Kotlin真的取代Java的那一天,而不至于后懂准备地太晚。...函数与f(x)的lambda同时同名同方法签名存在,使用上要f(1)与f.invoke(1)来区分是函数调用还是lambda调用

44750

【玩转腾讯云】2020 年编程语言盘点展望:Java 老兵不死,Kotlin 蓄势待发

至于刚刚到来的 2020 年,埃文斯(Evans)建议 2020 年可以持续关注 2019 年的发展趋势: 我们将如何接近 Valhalla 项目的生产版本?...现在,不同的 Kotlin 平台之间的障碍也正在被打破。“expect”/”actual”限定符使开发人员可以更轻松地编写跨 Java / Native / JS 环境兼容的代码。...JetBrains 开发人员倡导团队负责人 Hadi Hariri 指出 Kotlin / Everywhere 的成功,使得人们可以在 Android,Google Cloud Platform 和平台开发中学习...Kotlin 的基本知识和最佳实践,并用数据举例证明: “ 5 月到 11 月,我们已经成功地覆盖了 86 个国家/地区的 30,000人。...能够浏览器之外的任何语言使用Web程序集的功能令人不寒而栗。

1.1K50

Kotlin 的 Property Delegate 与 Swift 的 Property Wrapper

关键词:Kotlin Swift Property Swift 的属性代理,见识一下 Swift 想必大家都已经非常熟悉了,它是苹果公司推出的一门开源语言。...更神奇的是,Kotlin-Native 居然支持了与 Objective-C 的互调用,进而也就相当于某种意义上支持了与 Swift 的互调用,这下它们就更亲密了。 Swift:我不是我没有别瞎说。...value) prefs.apply() // read val value = prefs.getString(key, defaultValue) 这当中还经常需要定义一堆常量作为 key 的值,无论代码编写的舒适度上还是代码的编写效率上来看都不是最理想的状态...除了语法形式的不同之外,功能上,Swift 的属性包装器的 wrappedValue 相当于 Kotlin 的属性代理的 getValue 和 setValue 的实现,不同之处在于 Kotlin 在...更何况 getDelegate 这个反射方法目前只能在 JVM 上使用,无法实现平台

5.2K20

2020 年编程语言盘点展望:Java 老兵不死,Kotlin 蓄势待发

现在,不同的 Kotlin 平台之间的障碍也正在被打破。“expect”/”actual”限定符使开发人员可以更轻松地编写跨 Java / Native / JS 环境兼容的代码。...JetBrains 开发人员倡导团队负责人 Hadi Hariri 指出 Kotlin / Everywhere 的成功,使得人们可以在 Android,Google Cloud Platform 和平台开发中学习...Kotlin 的基本知识和最佳实践,并用数据举例证明: “ 5 月到 11 月,我们已经成功地覆盖了 86 个国家/地区的 30,000人。...我们与《Programming Rust》的合著者 Jim Blandy 进行了沟通,以了解他对 Rust 在 2019 年的进步的看法如何变化。...能够浏览器之外的任何语言使用Web程序集的功能令人不寒而栗。 Swift ?

84710

Kotlin vs Flutter,我到底应该怎么选?

因为,拿Kotlin和Flutter来进行比较,在一定程度上就好像是在拿苹果和橘子来进行比较。 概念上讲,Kotlin是一门编程语言,而Flutter是一个跨平台的UI工具集。...而如果你想开发两个原生的应用程序,但是要尽可能地共享两个平台之间的代码,那么可以考虑构建一个Kotlin平台项目。...当然你也可以考虑使用Kotlin平台项目来支持网页平台的开发,但是始终要记得,Kotlin平台项目的核心思路是共享代码,因此你还是要为每个平台去编写原生的代码,比如开发UI界面,以及对共享代码进行调用等...而如果你想要开发跨平台的应用程序,那么就需要在Kotlin平台项目和Flutter之间做选择了。...所以在这种情况下,不论如何你都必须学习一门新语言(Dart或Kotlin),以及一套新的开发框架(Flutter或Android)。 你考虑过选择Kotlin或Flutter的风险吗?

2.5K10

深度探索:前端中的后端

方案 2 的代价是:C/C++ 的代码(相对于 java/kotlin/swift来说)很难撰写,依赖管理,跨平台编译链接有很多坑要踩,就算实现了业务逻辑本身,在并发环境下,异步环境下,还是可能会产生无穷无尽的内存安全或者并发安全的...接下来,我们需要的就是一套组织各个平台原生语言和 Rust 互操作的思路,来解决通用性的问题。 前端中的后端 啰啰嗦嗦这么前菜后,我们终于开始聊到今天的正餐:前端中的后端。... native 开发者的角度,她就调用了一个 .getMovies() 的函数,其它的细节,她一概不需要理会。...如何处理 Rust 侧的 event push? 上面讲到的调用流程都是 native 侧往 Rust 侧的主动请求。...由于 Kotlin 的代码运行时间太长,影响了这个图的可对比性,移除 Kotlin 后,rust 和 C 相差不大(20%),swift 比 rust 差了一个量级: ?

1.6K20

Swift vs. Kotlin 漫谈之函数定义

Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」课程就是他们在互相切磋是的语录。...技术漫谈 Swift: Hi,又见面了。 Kotlin: 恩,上次没分出胜负,这次再来。 Swift: 好,今天讲讲函数,你们是怎么定义函数的呀?...Swift: 牛X。 Kotlin: 服不? Swift: 不服,说说函数参数吧。...SwiftSwift 的参数也差不多,有外部名和内部名之分,外部名就是实参名,内部名就是形参名。 Kotlin: 那是咋定义的?...Swift: 那在定义的时候用 _ 指代外部名就行了 f(_ x: Int, _ y: Int) { } f(1, 2) // 函数调用 Kotlin: 666666666666 Swift: 你们的参数可以加默认值吗

69450

Kotlin 1.4-M1 现已发布!

现在,它仅包含可以在所有三个目标平台(JVM、JS、Native)上使用的成员,这样您就可以确保同一代码可以用于任何一个平台。 use() 和时间测量函数的新协定 我们将在标准库中扩大协定的使用。...在一些情况下,这可能会破坏调用 Kotlin 框架的现有 Objective-C 或 Swift 代码。要不使用泛型编写框架标头,请添加 -Xno-objc-generics 编译器选项。...在 Objective-C/Swift 互操作中处理异常的变更 在 1.4 中,针对转换异常的方式,我们将稍微变更 Kotlin 生成的 Swift API。...KotlinSwift 之间的错误处理存在着根本的区别。所有 Kotlin 异常都未经检查,而 Swift 只包含检查的错误。...查看如何执行此操作。 如果您想处理在安装该预览版之前创建的现有项目,则需要在 Gradle 或 Maven 中针对预览版配置您的构建。 您可以 Github 发布页面下载命令行编译器。

3.4K20

微信团队分享:Kotlin渐被认可,Android版微信的技术尝鲜之旅

1、引言 Kotlin 是一个用于现代平台应用的静态编程语言,由 JetBrains 开发(也就是开发了号称Java界最智能的集成开发工具IntelliJ IDEA的公司)。...实际上,Kotlin对于Android的意义和重要性要远大于Swift对于iOS,因为不管是Objective-C还是Swift,它们至少都是苹果自已的东西,而悲剧的是Java并不属于Google。...但无论如何,对于Android开发者来说,学一门技术确实很痛苦,但提前做好准备是更明智之选,至少到了Kotlin真的取代Java的那一天,而不至于后懂准备地太晚。...= null// Nullable type println(name.length())      // Compilation error 食用安全源头上抓起,只要跟定义不符就编译不通过,这是Kotlin...函数与f(x)的lambda同时同名同方法签名存在,使用上要f(1)与f.invoke(1)来区分是函数调用还是lambda调用

1.7K10

干货 | 携程机票 App KMM 跨端生产实践

Kotlin 在不同平台均可与该平台的原生开发语言直接相互调用,在 Android 平台 Kotlin 是官方支持的一等开发语言,与 Java 的互操作自不用说。...而这两者是目前为数不多可用的 Kotlin 平台库。... 1.4.x 版本开始 JetBrains 将 Kotlin 迭代的重点放在了平台领域。...Ktor 与 kotlinx 库等官方库是目前 Kotlin平台的中坚力量,Ktor 目前可以在平台环境提供稳定的 HTTP 请求、数据序列化/反序列化功能,是相当强大的 Kotlin 平台网络库...在探索 KMM 的过程中,我们切实感受到了 Kotlin 与原生语言交互能力的提升, Kotlin 的泛型支持映射到 Objective-C,再到 Objective-C/Swift 可以调用 Kotlin

3.1K10

Android 工程师开发 iOS 是怎样的体验?

同事,因为 KotlinSwift 语法真的很像,如果你有 Kotlin 的开发经历的话,那么你应该可以无障碍的读懂 Swift 代码。...如果灵活简洁的角度给 KotlinSwift 来打分的话:Koltin 我给 9 分或更高,而 Swift 最多只能到 8 分。...也可能是我学艺不精,在常常写 Swift 的代码的时候,我都在想如果是 Kotlin 这段代码可能会写的更爽一点,例如下面这个空判断,大家可以感受一下 SwiftKotlin 的区别: // Swiftlet...Xcode 最常见的是使用 Pod 来安装依赖,Pod 是一个第三方的依赖平台,在 18 年 Xcode 推出了自己的第三方依赖工具,Swift Package Manager,直接通过 Github...说了这么,怎么都在说 SwiftUI 呀?JetPack Compose 怎么样呢? 嗯....

1.7K30
领券