Kotlin

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(指南)
(用户)
 
(未显示1个用户的52个中间版本)
第1行: 第1行:
 
{{SeeWikipedia|Kotlin (programming language)}}
 
{{SeeWikipedia|Kotlin (programming language)}}
  
Kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它也可以被编译成为[[JavaScript]]源代码。它主要是由俄罗斯圣彼得堡的[[JetBrains]]开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。主要面向 [[Android]] 和 浏览器应用。
+
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-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Kotlin Thanks, Wikipedia.

Kotlin

Kotlin

目录

[编辑] 简介

使用 Kotlin 更快地编写更出色的 Android 应用。Kotlin 是一种新型的静态类型编程语言,有超过 60% 的专业 Android 开发者在使用,它有助于提高工作效率、开发者满意度和代码安全性。

Kotlin 是一种在 Java 虚拟机上执行的静态型编程语言,它也可以被编译成为 JavaScript 源代码。它主要是由俄罗斯圣彼得堡的 JetBrains 开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛,主要面向 Android 和 浏览器应用,采用 Apache v2 许可协议。

[编辑] 基金会

Kotlin 基金会

[编辑] 新闻

[编辑] 版本

[编辑] 为什么

Android use Kotlin

为什么选择 Kotlin

[编辑] 功能

[编辑] 指南

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

[编辑] 例子

fun main(args: Array<String>) {
    println("Hello, world!")
}

[编辑] DSL

Exposed

DSL 有内部和外部之分,内部 DSL 是通用编程语言编写的程序的一部分,使用了和通用编程语言完全一致的语法。而外部 DSL,如 SQL,则使用的是另一种语法。

领域特定语言(DSL)为 Kotlin 类设计更有表现力、更符合语言习惯的API,如:

[编辑] KMM

Kotlin Multiplatform Mobile

[编辑] 项目

Ktor framework

Awesome.png Awesome Kotlin

Tachiyomi

[编辑] 用户

[编辑] 文档

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱