网站首页 > 技术文章 正文
转载请注明出处和作者
前言
2017 Google IO 大会宣布了两项主要新闻:
Google 正式宣布进入人工智能时代
Kotlin 成为 Android 官方编程语言
Kotlin 简介
Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
使用 Kotlin 进行 Android 开发
Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:
兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android 设备上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构建系统。
性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着 Kotlin 对内联函数的支持,使用 lambda 表达式的代码通常比用 Java 写的代码运行得更快。
互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现有的 Android 库 。这包括注解处理,所以数据绑定和 Dagger 也是一样。
占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际应用程序中,Kotlin 运行时 只增加几百个方法以及 .apk 文件不到 100K 大小。
编译时长:Kotlin 支持高效的增量编译,所以对于 清理构建会有额外的开销,增量构建通常与 Java 一样快或者更快。
学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器 有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。
Kotlin 学习资料
官方资料(英文)
因为 kotlin 开源,所以官方地址也就在 github 了:
https://github.com/JetBrains/kotlin
中文资料
https://www.kotlincn.net/docs/reference/
https://www.gitbook.com/book/hltj/kotlin-reference-chinese/details
《Kotlin for android developers》中文版翻译
https://github.com/wangjiegulu/kotlin-for-android-developers-zh/blob/master/README.md
博客
张涛-开源实验室
https://kymjs.com/column/kotlin.html
大精-wing的地方酒馆
http://androidwing.net/index.php/89
简书专题:Kotlin 编程
http://www.jianshu.com/c/00b33a9fab13
视频教程
https://github.com/enbandari/Kotlin-Tutorials
开源项目
一个用Kotlin写的简单漫画APP
https://github.com/wuapnjie/PoiShuhui-Kotlin
阅读精选 Kotlin 版是一个由 Kotlin 开发的简易 App,主要用于学习 Kotlin 语言以及和最新的框架结合使用。
https://github.com/LeeeYou/RsKotlin/
Kotlin + MVP + Dagger2 + RxJava2 + Robolectric + Espresso + Mockito + JaCoCo
https://github.com/ravidsrk/android-mvp-kotlin-starter
Note-taking app Android Kotlin 写的
https://github.com/ImangazalievM/Notelin
gank.io kotlin 实现的干货集中营客户端。风格采用了 Material Design. 多数控件都是 design 包里面的。MVP 架构 Rxjava + Retrofit + okhttp3 +Dagger2+Kotlin
https://github.com/githubwing/GankClient-Kotlin
本项目采用 Kotlin 开发,如果你使用的是 Java 进行 Android 开发,那么,在编译次项目时,需要在 Android Studio 中安装插件,并进行相关的配置。
https://github.com/TonnyL/FanfouHandpick
一个用 Kotlin 写的简单漫画 APP
https://github.com/wuapnjie/PoiShuhui-Kotlin
公号 code小生
猜你喜欢
- 2024-09-20 Kotlin学习日记-类属性和字段(Properties/Fields)
- 2024-09-20 大厂面试原来是这样的,这份面试经你值得拥有
- 2024-09-20 Reactor 3 参考指南:5、Kotlin 支持
- 2024-09-20 Kotlin必须要掌握的常见高阶函数(kotlin从零到精通)
- 2024-09-20 Kotlin成为Android的官配编程语言
- 2024-09-20 Room & Kotlin 符号的处理(kotlin inline crossinline)
- 2024-09-20 Kotlin - 数据类型(kotlin 函数类型)
- 2024-09-20 Duolingo 如何将 Android App 全部迁至 Kotlin
- 2024-09-20 Kotlin官方文档翻译,类和对象:属性、接口、可见性修饰
- 2024-09-20 怎样把kotlin代码写好(kotlin怎么样)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 563℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 508℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 485℃启用MySQL查询缓存(mysql8.0查询缓存)
- 465℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 445℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 442℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)