kotlin

谈谈对kotlin的理解

简介

Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端。
此外,Kotlin还是一门融合了面向对象与函数式编程的语言,支持泛型、安全的空判断
并且Kotlin与Java可以做到完全的交互。

Kotlin特点
代码量少且代码末尾没有分号。
被调用的方法需放到上边。
Kotlin是空安全的:在编译时期就处理了各种null的情况,避免了执行时异常。
它可扩展函数:我们也可以扩展任意类的更多的特性。
它也是函数式的:比如,使用lambda表达式来更方便地解决问题。
高度互操作性:你可以继续使用所有用Java写的代码和库,甚至可以在一个项目中使用Kotlin和Java两种语言混合编程

kotlin比Java好在哪里,是函数式编程吗?
Kotlin优势
kotlin更安全,空安全
代码简洁,30%
函数式支持
扩展函数
Kotlin中没有静态成员
https://blog.csdn.net/luo_boke/article/details/107172965

Kotlin协程 要不看下实战?
https://blog.csdn.net/weixin_44339238/article/details/104659332

2、相关书籍

个人认为还是需要找一本书籍好好地阅读一遍,一下提供了相关书籍可以选择适合自己的。

NO.1

《Kotlin for Android Developers》

Kotlin是编写Android应用程序的新官方语言,多亏了这本书,你很快就能写出代码。直奔主题,实用和完整的例子,它将在开发Android应用程序的同时展示你的语言。学习Kotlin并开始使用这个强大而现代的语言再次享受Android开发。

NO.2

《Kotlin开发快速入门与实战》

学习本书之前不需要具备任何的计算机专业背景,任何有志于APP开发的读者都能利用本书从头学起。

资深软件开发工程师根据Kotlin最新版本撰写,系统讲解Kotlin开发技巧和项目实战。全书共分为7章,内容层次清晰,难度循序渐进。希望通过阅读本书,能够让你成为一个全栈工程师。

NO.3

《疯狂Kotlin讲义》

本书尤其适合从Java转Kotlin的读者,对于没有Java功底的读者,可忽略“对比”部分,直接学习本书也可掌握Kotlin编程。

本书对Kotlin的解读十分系统、全面,超过Kotlin官方文档本身覆盖的内容。本书很多地方都会结合Java字节码进行深入解读,比如对Kotlin扩展的解读,对Kotlin主、次构造器的解读,这种解读目的不止于教会读者简单地掌握Kotlin的用法,而是力求让读者深入理解Kotlin,且更好地理解Java。

NO.4

《Kotlin实战》

本书主要面向有一定Java 经验的开发者。

本书将从语言的基本特性开始,逐渐覆盖其更多的高级特性,尤其注重讲解如何将 Koltin 集成到已有 Java 工程实践及其背后的原理。本书分为两个部分。第一部分讲解如何开始使用 Kotlin 现有的库和API,包括基本语法、扩展函数和扩展属性、数据类和伴生对象、lambda 表达式,以及数据类型系统(着重讲解了可空性和集合的概念)。第二部分教你如何使用 Kotlin 构建自己的 API,以及一些深层次特性——约定和委托属性、高阶函数、泛型、注解和反射,以及领域特定语言的构建。

本书适合广大移动开发者及入门学习者,尤其是紧跟主流趋势的前沿探索者。

NO.5

《揭秘Kotlin编程原理》

本书深入介绍Kotlin面向对象设计的语法特性及其背后的实现方式。

在本书中,读者不仅能清晰地了解Kotlin的语法、高级特性,还能真正地掌握Kotlin背后的实现机制和设计哲学,形成对Kotlin语言既直观、又深刻的认识——在此基础上,读者能准确、快速地上手实践,大大提升自己的移动开发能力。

Kotlin的这些特性和实现机制,可以帮助开发者扫清开发道路上的一些障碍,让开发变得更加简单!本书是一本值得拥有,能切实帮助读者加薪提职的好书!

项目

学习一门语言最快的方式就是看其如何在实际项目中运用,有了上面的基础和进阶,下面我们看一些开源项目:

1.Kotlin-for-Android-Developers(★1676)

介绍:这个项目其实是Kotlin-for-Android-Developers这本书的配套代码,如果你是kotlin的初学者,那么这绝对是你学习kotlin的不二之选。项目通过一个天气的例子很好的展示了kotlin带来的强大功能,比如网络数据的请求,数据的缓存设计,数据库的操作,各种扩展函数的妙用等等。

地址:https://github.com/antoniolg/Kotlin-for-Android-Developers

2.Bandhook-Kotlin (★1494)

介绍:Kotlin版本的音乐播放器,数据来源于LastFm。

地址:https://github.com/antoniolg/Bandhook-Kotlin

3.GankClient-Kotlin (★1216)

介绍:gank.io kotlin实现的干货集中营Android客户端,风格采用了Material Design。

地址:https://github.com/githubwing/GankClient-Kotlin

4.PoiShuhui-Kotlin(★897)

介绍:一个用Kotlin写的简单漫画APP。

地址:https://github.com/wuapnjie/PoiShuhui-Kotlin

5.Eyepetizer-in-Kotlin(★1167)

介绍:Kotlin版本的Eyepetizer客户端

地址:https://github.com/LRH1993/Eyepetizer-in-Kotlin

6.Tucao(★792)

介绍:Kotlin版本的吐槽客户端

地址:https://github.com/blackbbc/Tucao

资源

一、重要资源

Kotlin 官网

https://kotlinlang.org/docs/reference/

Kotlin 官方网站是学习 Kotlin 好去处。在参考部分,你可以找到该语言的所有概念和功能的深入解析文档。在教程部分有关于设置工作环境并使用编译器的实用分步指南。

这里还有个 Kotlin 编译器,是一个浏览器 APP,你可以在上面尝试使用这门语言。它能加载许多示例,包括 Koans 课程 — 这是目前熟悉 Kotlin 语法的最好方式。

Kotlin 官博

https://blog.jetbrains.com/kotlin/

Kotlin 的官方博客由 JetBrains 的一位作者负责。你可以在这里找到所有与 Kotlin 相关的新闻、更新、教程、使用技巧等的内容。

在 Android 上开始使用 Kotlin

https://developer.android.com/kotlin/get-started.html

一篇很牛叉的文章,向我们展示了如何使用 Kotlin 编写和运行 Android 应用程序的测试

从 Java 到 Kotlin

https://github.com/MindorksOpenSource/from-java-to-kotlin

实用的快速提醒列表工具包含了一些简短的代码块,藉由这个来帮助你快速找到通用 Java 操作符、功能以及声明的 Kotlin 替代方案。

Kotlin 教学插件

https://blog.jetbrains.com/kotlin/2016/03/kotlin-educational-plugin/

用于 IntelliJ IDEa 的插件,可让你在本地离线环境下使用 Koans 课程。

Kotlin on GitHub

https://github.com/jetbrains/kotlin

Kotlin 于 2012 年开源,你可以对该语言进行贡献。

Kotlin Android 模板

https://github.com/nekocode/Kotlin-Android-Template

Android 项目模板,使其非常容易设置稳定的 Kotlin 工作区,并快速引导你开发应用程序。

不可错过的 Kotlin 资源列表

https://github.com/KotlinBy/awesome-kotlin

这是一个比较完整的 Kotlin 资源列表,包括各种实用链接、书籍、库、框架和视频等。该列表的组织结构非常好,kotlin.link 也提供了一个风格化的版本。

kotlin设计模式

https://github.com/dbacinski/Design-Patterns-In-Kotlin

DariuszBaciński 创建了一个 GitHub repo,其中有在 Kotlin 中实现的常见设计模式,也有用其他语言编写的类似项目,包括 Java,Swift,Java 和 PHP,如果你是其中一项语言的使用者,可以用它们作为参考点。

二、视频资源

Kotlin 介绍

https://www.youtube.com/watch?v=X1RVYt2QKQE

来自 Google I / O 2017 的演讲,大会首次向人们介绍 Kotlin,并提出了改进工作流程的想法。它涵盖了许多基础知识,并展示了一些很酷的 Kotlin 技巧。

明日胜于今,我用 Kotlin

https://www.youtube.com/watch?v=fPzxfeDJDzY

Google I / O 2017 大会关于 Kotlin 的第二个演讲。这个演讲涵盖了更多高级话题,如设计模式,最佳实践和其他常见规则。 演讲也揭示了在生产中使用 Kotlin 的意义,以及在工作中采用新兴语言将面临的挑战。

Peter Sommerhoff 教你学 Kotlin

https://www.youtube.com/playlist?list=PLpg00ti3ApRweIhdOI4VCFFStx4uXC__u

这是一个免费的 Kotlin 课程,适合初学者,前面介绍了从变量到条件循环和函数的所有基础知识,后面会深入到更高级的主题,如 Kotlin 中的面向对象以及像 lambda 表达式的功能编程。

使用 Kotlin&Gradle 更好地开发 Android

https://www.youtube.com/watch?v=_DaZQ374Chc

这个讲座从 2016 年开始,它介绍了现实世界中的编程语言功能,你将了解到 Kotlin 是如何适应 Android 工作流程中存在的工具。

使用 Kotlin&Gradle 更好地开发 Android

https://www.youtube.com/watch?v=ZlQhmkp_jyk

一个 8 分钟的浓缩教程,让你快速了解 Kotlin 的主要功能,如变量声明、Lambdas、扩展功能等等。

Jake Wharton:用 Kotlin 进行 Android 开发

https://www.youtube.com/watch?v=A2LukgT2mKc&t

关于 Kotlin 的介绍,演讲向我们解释了新语言是如何改进 Android 生态系统的,并展示了许多炫酷的方式,我们可以使用智能的 Kotlin 语法来获得优势

Kotlin 泛型
泛型,即 “参数化类型”,将类型参数化,可以用在类,接口,方法上。
与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼

在Kotlin中要理解一些语法,只要认识到Kotlin语言最后需要编译为class字节码,Java也是编译为class执行,也就是可以大致理解为Kotlin需要转成Java一样的语法结构,
Kotlin就是一种强大的语法糖而已,Java不具备的功能Kotlin也不能越界的。

用Kotlin去提高生产力:汇总Kotlin相对于Java的优势 kotlin_tips
https://juejin.cn/post/6844903585730265095

  • 推荐一个Kotlin的实践项目debug_view_kotlin,用kotlin实现的Android浮层调试控制台,实时的显示内存、FPS、App启动时间、Activity启动时间、文字Log

优化使用kotlin开发Android app的编译速度
https://juejin.cn/post/6844903839280136206

精通Kotlin标准函数:run、with、let、also和apply

为什么不直接使用 Array 而是 IntArray ?
https://blog.csdn.net/qq_23626713/article/details/90698281

Java和kotlin的与,或,异或,移位运算
https://blog.csdn.net/qq_43522147/article/details/110673194

线程切换哪家强?RxJava与Flow的操作符对比
https://blog.csdn.net/Coo123_/article/details/115189533

https://juejin.cn/post/6927883139519873032

我是如何使用Kotlin优化项目代码(1)
https://juejin.cn/post/6941686779950923806#heading-2

Kotlin + Flow 实现的 Android 应用初始化任务启动库
https://juejin.cn/post/6938229049462358047

Kotlin组件化实践——仿开眼短视频APP
https://juejin.cn/post/6934609476561584142

"Kotlin"系列: 一、Kotlin入门
https://juejin.cn/post/6942251919662383134#heading-4

Kotlin你不知道的秘密(一)
https://juejin.cn/post/6940496365113835533

2018年Kotlin学习资料汇总
https://juejin.cn/post/6844903636510720014

Android 学习文档整理收集
https://juejin.cn/post/6844903657486417933

用 Kotlin 开发 Android 项目是一种什么样的感受?
https://juejin.cn/post/6844903472358227976

Android 11/Android R
https://juejin.cn/post/6862572234779656200

Android 10(Android Q) 适配心得
https://juejin.cn/post/6844903946000187406

Kotlin 初尝之项目实践总结
https://juejin.cn/post/6844903668022509575

符号: 类 ActivityShopBinding 错误: 找不到符号?
clean project
rebuildproject
重启studio

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值