关于这个系列教程,我是从最基础的开发环境搭建到项目进阶到后面的项目开发这个过程来写的。我一直秉承从实际项目开发以及源码解析的角度去写好这个教程,并让从未接触过编程的朋友能学好kotlin这门语言。所以我想把这个教程写到最详细、最全面。并且也持之以恒的写下去。

前言

在坚持的这个过程中,接触到了Kotlin的魅力,也碰到了困难,同时也认识许多想学好kotlin的朋友。这是我最开心的地方,也是我坚持下来的动力所在。我的原意是把这个系列的每一篇文章完成之后,再写一篇文章对这个教程做出总结,但是很多朋友都说我的这个教程没有一个很好的顺序,看的断断续续的。故而我决定提前把这篇文章写出来。可以说是这个教程的大纲。同时也能让大家更好且更系统的去学习Kotlin,这个教程我个人认为是比官网的教程写的详细、全面的,这个教程我也会持续的更新。

这个系列教程的我放在了Github上面,里面涵盖了我所有文章中例子的源代码。

传送门:KotlinLearn

写这个系列教程的初衷

本人作为一个Android开发者,在Kotlin语言正式出现在人们面前的时候,或多或少的接触到了这门语言,并
自学了一部分,当谷歌宣布Kotlin成为Android开发的标准语言,才有打算用心的去学习这门语言,并能用于实际的开
发当中。在我学习的过程中,学的越深入越被Kotlin简洁的代码,良好的代码阅读性深深的折服。但是在官方的文档中,写
的很不想细,有些代码甚至看不懂其实现,基础性的东西几乎不存在。如果你没有一定的编程经验我相信你也是看不懂的。

但是请你不要放弃对这门语言的学习,我也是一点一点学习过来的,你在学习过程中遇到的坑,可能我也遇到过。我非常欢迎各位
一起学习,一起探索。共同的进步。

所以,我会根据自身的编程经验、技术。写完整个Kotlin系列教程。整个教程由浅如深,即使你没有编程经验你也能看懂,教程中会介绍Koltin的特性,以及其和Java的差异性。让更多的朋友爱上这门语言。

开撸

让我们忘记生活的烦恼、放下沉重的枷锁、沉浸在代码的世界中,打开音乐的分贝,迈开脚步开始学习Kotlin大法吧。

学习架构

我把这个教程命名为:从无到有系列,这个系列目前还没写完,故而下面的链接有一些是没有实际内容的,我会在后面持续的补齐,这里只是实现了整个教程的大纲。

整个项目根据学习的难以程度以及学习路线我分为了五个模块。我会按照的学习架构去排序。大家可以按照这个顺序去学习...

引言

初级篇

对于入门篇的内容不多,主要是讲解了Kotlin中的基础语法,涵盖了开发环境搭建变量常量注释数据类型控制语句操作符重载空安全基本函数字符串处理

中级篇

Kotlin是一门面向对象的开发语言。既然是面向对象,则在中级篇主要讲解其三大特性,以及类成员数据类抽象类接口类内部类继承类等关于Kotlin面向对象的方方面面的讲解

高级篇

高级篇的内容要多一些,只要是对Kotlin中的高级用法以及一些独特的东西。涵盖了lambda表达式高阶函数集合泛型扩展委托异常处理注解反射协程

进阶篇

进阶篇主要讲解的是在实际开发项目中的注意事项及一些高级操作,例如Kotlin中的设计模式编码规范

实战篇

实战篇主要向大家介绍使用Kotlin开发Android项目时,介绍一些常用和Kotlin一起开发的库,以及对他们的使用及讲解。
比如说AnkoDagger2RxKotlin、或者用Kotlin编写的一些自定义组件等等...

其他

在这里我意思整合了一些关于Kotlin的学习资源,以供大家学习。

官网

视频教程

书籍

关于书籍的分享,这里有着官网的中英文PDF文档,Kotlin极简教程、Kotlin程序开发入门经验等等书籍。这些我都分享在了我的Kotlin交流群里面。这里就不一一的分享了。

更多

开源项目

最后

关于此教程中的实例源码都在项目中,有兴趣的可以去看看。当然也希望您不吝的给个关注或star,同时也希望您指出这个教程的不足指出。因为您的关注是我坚持的动力,也让更多的朋友与Kotlin爱好者能更好的去学习它。

传送门:KotlinLearn

我相信在你学完整个系列教程之后,一定是可以用Kotlin进行实际项目开发的。近期我也会用Koltin语言去编写我自己的Android项目,也会用Kotlin去实现后端用于我APP中的接口提供。
如果你在学习过程中遇到任何的问题,不管你是写后端Android以及前端的开发者都可以联系我,或者对于Android开发很有兴趣。都可以在项目Issuse我,或者加入在下的Koltin交流群一起学习、研究。

我的个人博客Jetictors
GithubJteictors
掘金Jteictors

欢迎各位大佬进群共同研究、探索

QQ群号:497071402

Kotlin教程——史上最全面、最详细的学习教程,持续更新中....的更多相关文章

  1. 史上最全的Android开发学习教程集锦【初学者】

    根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中.Android系统在几个主要的市场上已超过了iOS系统,特别是在美国,欧洲和日本,然而苹果确实在中 ...

  2. 史上最全的Unity面试题(持续更新总结。。。。。。) 包含答案的Unity面试题

    这个是我刚刚整理出的Unity面试题,为了帮助大家面试,同时帮助大家更好地复习Unity知识点,如果大家发现有什么错误,(包括错别字和知识点),或者发现哪里描述的不清晰,请在下面留言,我会重新更新,希 ...

  3. linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)

    Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 ...

  4. 史上最全最详细JNDI数据源配置说明

    转: 史上最全最详细JNDI数据源配置说明 2017年08月05日 17:12:08 万米高空 阅读数 23983   版权声明:本文为博主原创文章,转载请注明出处,尊重劳动成果,谢谢~ https: ...

  5. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  6. 痞子衡嵌入式:史上最强i.MX RT学习资源汇总(持续更新中...)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MX RT学习资源. 类别 资源 简介 官方汇总 i.MXRT产品主页 恩智浦官方i.MXRT产品主页,最权威的资料都在这里,参考手 ...

  7. Deep Learning 11_深度学习UFLDL教程:数据预处理(斯坦福大学深度学习教程)

    理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一 ...

  8. IDEA 2019.2破解激活教程(激活到2089年8月,亲测有效,持续更新中...)

    本来笔者这边是有个正版激活码可以使用的,但是,2019.9月3号的时候,一些小伙伴反映这个注册码已经失效了,于是拿着自己的 IDEA, 赶快测试了一下,果不其然,已然是不能用了. 好在,笔者又找到了新 ...

  9. IntelliJ IDEA 2019.2.1 破解教程, 最新激活码(激活到2089年8月,亲测有效,持续更新中...)

    当前最新版本 IDEA 2019.2.1 本来笔者这边是有个正版激活码可以使用的,但是,2019.9月3号的时候,一些小伙伴反映这个注册码已经失效了,于是拿着自己的 IDEA, 赶快测试了一下,果不其 ...

  10. github 上有趣又实用的前端项目(持续更新,欢迎补充)

    github 上有趣又实用的前端项目(持续更新,欢迎补充) 1. reveal.js: 幻灯片展示框架 一个专门用来做 HTML 幻灯片的框架,支持 HTML 和 Markdown 语法. githu ...

随机推荐

  1. GTK入门学习:布局容器之固定布局

    前面我们学习的水平.垂直和表格布局容器,控件会跟着容器大小的变化进行自己主动适应.而固定布局容器里的控件则不会跟着变化( 则固定不变 ). 固定布局的创建: GtkWidget *gtk_fixed_ ...

  2. 转发:【PHP】转义和过滤html单、双引号及HTML标签

    一.单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单.双引号: 先说几个PHP函数: 1.addslashes — 使用反斜线引用(转义)字符串: 返回字 ...

  3. Linux-查看进程的完整路径

    通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等.这时,我们需要通过以下的方法来查看进程的详细信息:Linux在启动一个进程时,系统会在/proc下创建一个以 ...

  4. Vue基础及脚手架环境搭建

    From:http://www.jianshu.com/p/dc5057e7ad0d 一.vue基础 “Vue2.0”跟俺一起全面入坑 01 “Vue2.0”跟俺一起全面入坑 02 “Vue2.0”跟 ...

  5. Android_JarZip压缩和解压文件

        本文资料来自<android开发权威指南> AndroidSDK中提供了java.util.jar和java.util.zip包中的若干类和接口来完成. 压缩文件基本步骤: 1.创 ...

  6. 【HTML5 WebSocket】WebSocket对象特性和方法

    <HTML5 WebSocket权威指南>学习笔记&3 WebSocket方法的对象特性 1. WebSocket方法 a. send方法 send方法用于在WebSocket连接 ...

  7. Lintcode---验证二叉查找树

    给定一个二叉树,判断它是否是合法的二叉查找树(BST) 一棵BST定义为: 节点的左子树中的值要严格小于该节点的值. 节点的右子树中的值要严格大于该节点的值. 左右子树也必须是二叉查找树. 一个节点的 ...

  8. jquery ajax、get、post实例

    .post.$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一.$.ajax的一般格式 $.ajax({ type: 'POST', url: url , d ...

  9. unity5, UI Button "On Button Down"

    unity5自带的UI Button的Inspector面板中只有On Click事件,如果我们想让一个按钮响应On Button Down事件该怎么办呢?方法是: 点Add Component-&g ...

  10. atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本

    atitit.验证码识别step3----去除边框---- 图像处理类库 attilax总结java版本 1. 去除边框思路原理 1 2. Thumbnailator 是一个用来生成图像缩略图.裁切. ...