欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Kotlin
来自开放百科 - 灰狐
(版本间的差异)
小 (→指南) |
小 (→用户) |
||
(未显示1个用户的52个中间版本) | |||
第1行: | 第1行: | ||
{{SeeWikipedia|Kotlin (programming language)}} | {{SeeWikipedia|Kotlin (programming language)}} | ||
− | + | Kotlin | |
+ | |||
+ | [[文件:kotlin-logo.png|right|Kotlin]] | ||
+ | |||
+ | ==简介== | ||
+ | 使用 Kotlin 更快地编写更出色的 Android 应用。Kotlin 是一种新型的静态类型编程语言,有超过 60% 的专业 Android 开发者在使用,它有助于提高工作效率、开发者满意度和代码安全性。 | ||
+ | |||
+ | Kotlin 是一种在 Java 虚拟机上执行的静态型编程语言,它也可以被编译成为 [[JavaScript]] 源代码。它主要是由俄罗斯圣彼得堡的 [[JetBrains]] 开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛,主要面向 [[Android]] 和 浏览器应用,采用 Apache v2 许可协议。 | ||
+ | |||
+ | ==基金会== | ||
+ | [https://kotlinfoundation.org/ Kotlin 基金会] | ||
+ | |||
+ | ==新闻== | ||
+ | *[https://blog.jetbrains.com/zh-hans/kotlin/ The Kotlin Blog] | ||
+ | *[https://blog.jetbrains.com/kotlin/2017/05/kotlin-on-android-now-official/ Google IO 2017 宣布了 Kotlin 成为 Android 官方开发语言。] (2017.5) [https://www.zhihu.com/question/59988655 如何看待 Google 宣布 Kotlin 正式成为 Android 的开发语言?] | ||
+ | |||
+ | ==版本== | ||
+ | |||
+ | ==为什么== | ||
+ | [[文件:android-kotlin.png|right|Android use Kotlin]] | ||
+ | 为什么选择 Kotlin | ||
+ | *因为 [[Kotlin ecosystem]] | ||
+ | *因为 Kotlin Anywhere 和 [https://github.com/JetBrains/kotlin/tree/master/kotlin-native Kotlin/Native] | ||
+ | *因为 [[Android]] | ||
+ | *因为 [https://github.com/terrakok/kmm-awesome Kotlin Multiplatform Mobile (KMM)] for [[iOS]] | ||
+ | *因为 [[Lambda]] 编程 | ||
+ | *因为 DSL | ||
+ | *因为 [http://docs.huihoo.com/kotlin/conference/2017/My-Transition-from-Swift-to-Kotlin.pdf from Swift to Kotlin] | ||
+ | *因为区块链应用 [[Corda]] | ||
+ | |||
+ | ==功能== | ||
==指南== | ==指南== | ||
+ | [https://try.kotlinlang.org Try Kontlin] | ||
+ | $ brew update | ||
+ | $ brew install kotlin | ||
+ | 或者 | ||
+ | $ curl -s https://get.sdkman.io | bash | ||
+ | $ source "$HOME/.sdkman/bin/sdkman-init.sh" | ||
+ | $ sdk help | ||
+ | $ vim ~/.sdkman/etc/config | ||
+ | sdkman_beta_channel=true | ||
+ | $ sdk selfupdate force | ||
+ | $ sdk install kotlin | ||
+ | $ kotlinc -help | ||
+ | $ kotlinc | ||
==例子== | ==例子== | ||
第9行: | 第52行: | ||
println("Hello, world!") | println("Hello, world!") | ||
} | } | ||
+ | |||
+ | ==DSL== | ||
+ | [[文件:Exposed-logo.png|right|Exposed]] | ||
+ | DSL 有内部和外部之分,内部 DSL 是通用编程语言编写的程序的一部分,使用了和通用编程语言完全一致的语法。而外部 DSL,如 SQL,则使用的是另一种语法。 | ||
+ | |||
+ | 领域特定语言(DSL)为 Kotlin 类设计更有表现力、更符合语言习惯的API,如: | ||
+ | *构建HTML页面的内部DSL:[https://github.com/Kotlin/kotlinx.html kotlin.html] | ||
+ | *提供单元测试的内部DSL:[https://github.com/kotlintest/kotlintest kotlintest] | ||
+ | *提供数据库操作的内部DSL:[https://github.com/JetBrains/Exposed exposed] | ||
+ | *提供Android UI布局的内部DSL:[https://github.com/Kotlin/anko anko] | ||
+ | *[https://developer.android.com/jetpack/compose Jetpack Compose] A reactive View DSL for Kotlin | ||
+ | |||
+ | ==KMM== | ||
+ | [https://kotlinlang.org/lp/mobile/ Kotlin Multiplatform Mobile] | ||
+ | |||
+ | ==项目== | ||
+ | [[文件:ktor-framework.png|right|Ktor framework]] | ||
+ | [[文件:awesome.png]] [https://github.com/KotlinBy/awesome-kotlin Awesome Kotlin] | ||
+ | [[文件:Tachiyomi-logo.png|right|Tachiyomi]] | ||
+ | *[https://github.com/tachiyomiorg Tachiyomi] reader 有良好的插件设计和丰富的[https://tachiyomi.org/extensions/ 扩展资源] | ||
+ | *[https://github.com/ktorio/ktor Ktor] Web application framework | ||
+ | *[https://github.com/JetBrains/kotlin-native/ Kotlin/Native] | ||
+ | *[https://github.com/Kotlin/anko Anko] [[Android]]应用开发基础库 | ||
+ | *[[Corda]] 是Kotlin开发的开源(Apache v2)分布式总账平台。 | ||
+ | *[https://github.com/dodyg/AndroidRivers Android River] [http://www.csdn.net/article/2013-02-06/2814100-use-kotlin-to-develop-android-apps Android Rivers:用Kotlin语言写出的新闻应用] | ||
+ | *[https://github.com/LRH1993/Eyepetizer-in-Kotlin 使用Kotlin撸一款Eyepetizer,学习Kotlin语言] | ||
+ | *[https://github.com/EasyKotlin EasyKotlin] | ||
+ | *[https://github.com/google/ksp Kotlin Symbol Processing (KSP) API] 由 [[Google]] 创建,用于开发轻量级编译器插件。 | ||
+ | |||
+ | ==用户== | ||
+ | *[https://kotlinlang.org/lp/mobile/case-studies/ Multiplatform Mobile Case Studies] | ||
+ | *[https://netflixtechblog.com/netflix-android-and-ios-studio-apps-kotlin-multiplatform-d6d4d8d25d23 Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform] | ||
+ | *[https://blog.jetbrains.com/zh-hans/kotlin/2021/12/compose-multiplatform-toolbox-case-study/ JetBrains Toolbox 案例研究:将 100 万用户迁移到 Kotlin 和 Compose Multiplatform] | ||
+ | *[https://blog.jetbrains.com/zh-hans/kotlin/2021/03/cash-app-case-study/ Cash App 案例研究:在舒适区中从 KMM 受益] | ||
+ | |||
+ | ==文档== | ||
+ | *[http://docs.huihoo.com/javaone/2015/CON2166-Type-Inference-in-Kotlin.pdf Type Inference in Kotlin] | ||
+ | *[http://docs.huihoo.com/kotlin/conference/2017/My-Transition-from-Swift-to-Kotlin.pdf My Transition from Swift to Kotlin] | ||
==图集== | ==图集== | ||
+ | <gallery> | ||
+ | image:kotlin-anywhere.png|Kotlin Anywhere | ||
+ | image:kotlin-multiplatform.png|多平台 | ||
+ | image:kotlin-multiplatofrm-hierarchical-structure.png|多平台分层结构 | ||
+ | image:mobileui-unified-codebase.png|MobileUI | ||
+ | image:codename-one-architecture.jpg|Codename One | ||
+ | image:Apps-built-with-Kotlin.png|Apps | ||
+ | image:Kotlin-EduTools-Plugin.png|EduTools插件 | ||
+ | image:Kotlin-Koans.png|Kotlin Koans | ||
+ | image:kotlin-cross-platform-features.png|跨平台 | ||
+ | </gallery> | ||
==链接== | ==链接== | ||
*[http://kotlinlang.org/ Kotlin官网] | *[http://kotlinlang.org/ Kotlin官网] | ||
+ | *[https://www.kotlincn.net/ Kotlin中文站] | ||
*[https://github.com/JetBrains/kotlin Kotlin @ GitHub] | *[https://github.com/JetBrains/kotlin Kotlin @ GitHub] | ||
+ | *[https://medium.com/@octskyward/why-kotlin-is-my-next-programming-language-c25c001e26e3 Why Kotlin is my next programming language] | ||
+ | *[https://kotlinconf.com/ Kotlin Conf] | ||
+ | *[http://www.jianshu.com/u/c55c7a9c8de6 东海陈光剑] | ||
[[category:programming language]] | [[category:programming language]] | ||
[[category:JVM]] | [[category:JVM]] | ||
[[category:android]] | [[category:android]] | ||
+ | [[category:iOS]] | ||
+ | [[category:huihoo]] |
2022年5月1日 (日) 04:17的最后版本
您可以在Wikipedia上了解到此条目的英文信息 Kotlin Thanks, Wikipedia. |
Kotlin
目录 |
[编辑] 简介
使用 Kotlin 更快地编写更出色的 Android 应用。Kotlin 是一种新型的静态类型编程语言,有超过 60% 的专业 Android 开发者在使用,它有助于提高工作效率、开发者满意度和代码安全性。
Kotlin 是一种在 Java 虚拟机上执行的静态型编程语言,它也可以被编译成为 JavaScript 源代码。它主要是由俄罗斯圣彼得堡的 JetBrains 开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛,主要面向 Android 和 浏览器应用,采用 Apache v2 许可协议。
[编辑] 基金会
[编辑] 新闻
- The Kotlin Blog
- Google IO 2017 宣布了 Kotlin 成为 Android 官方开发语言。 (2017.5) 如何看待 Google 宣布 Kotlin 正式成为 Android 的开发语言?
[编辑] 版本
[编辑] 为什么
为什么选择 Kotlin
- 因为 Kotlin ecosystem
- 因为 Kotlin Anywhere 和 Kotlin/Native
- 因为 Android
- 因为 Kotlin Multiplatform Mobile (KMM) for iOS
- 因为 Lambda 编程
- 因为 DSL
- 因为 from Swift to Kotlin
- 因为区块链应用 Corda
[编辑] 功能
[编辑] 指南
$ brew update $ brew install kotlin
或者
$ curl -s https://get.sdkman.io | bash $ source "$HOME/.sdkman/bin/sdkman-init.sh" $ sdk help $ vim ~/.sdkman/etc/config sdkman_beta_channel=true $ sdk selfupdate force $ sdk install kotlin $ kotlinc -help $ kotlinc
[编辑] 例子
fun main(args: Array<String>) { println("Hello, world!") }
[编辑] DSL
DSL 有内部和外部之分,内部 DSL 是通用编程语言编写的程序的一部分,使用了和通用编程语言完全一致的语法。而外部 DSL,如 SQL,则使用的是另一种语法。
领域特定语言(DSL)为 Kotlin 类设计更有表现力、更符合语言习惯的API,如:
- 构建HTML页面的内部DSL:kotlin.html
- 提供单元测试的内部DSL:kotlintest
- 提供数据库操作的内部DSL:exposed
- 提供Android UI布局的内部DSL:anko
- Jetpack Compose A reactive View DSL for Kotlin
[编辑] KMM
[编辑] 项目
- Tachiyomi reader 有良好的插件设计和丰富的扩展资源
- Ktor Web application framework
- Kotlin/Native
- Anko Android应用开发基础库
- Corda 是Kotlin开发的开源(Apache v2)分布式总账平台。
- Android River Android Rivers:用Kotlin语言写出的新闻应用
- 使用Kotlin撸一款Eyepetizer,学习Kotlin语言
- EasyKotlin
- Kotlin Symbol Processing (KSP) API 由 Google 创建,用于开发轻量级编译器插件。
[编辑] 用户
- Multiplatform Mobile Case Studies
- Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform
- JetBrains Toolbox 案例研究:将 100 万用户迁移到 Kotlin 和 Compose Multiplatform
- Cash App 案例研究:在舒适区中从 KMM 受益
[编辑] 文档
[编辑] 图集
- Kotlin-Koans.png
Kotlin Koans
[编辑] 链接
分享您的观点