關於這個系列教程,我是從最基礎的開發環境搭建到專案進階到後面的專案開發這個過程來寫的。我一直秉承從實際專案開發以及原始碼解析的角度去寫好這個教程,並讓從未接觸過程式設計的朋友能學好kotlin
這門語言。所以我想把這個教程寫到最詳細、最全面。並且也持之以恆的寫下去。
前言
在堅持的這個過程中,接觸到了Kotlin
的魅力,也碰到了困難,同時也認識許多想學好kotlin
的朋友。這是我最開心的地方,也是我堅持下來的動力所在。我的原意是把這個系列的每一篇文章完成之後,再寫一篇文章對這個教程做出總結,但是很多朋友都說我的這個教程沒有一個很好的順序,看的斷斷續續的。故而我決定提前把這篇文章寫出來。可以說是這個教程的大綱。同時也能讓大家更好且更系統的去學習Kotlin
,這個教程我個人認為是比官網的教程寫的詳細、全面的,這個教程我也會持續的更新。
這個系列教程的我放在了Github
上面,裡面涵蓋了我所有文章中例子的原始碼。
寫這個系列教程的初衷
本人作為一個Android
開發者,在Kotlin
語言正式出現在人們面前的時候,或多或少的接觸到了這門語言,並
自學了一部分,當谷歌
宣佈Kotlin
成為Android
開發的標準語言,才有打算用心的去學習這門語言,並能用於實際的開
發當中。在我學習的過程中,學的越深入越被Kotlin
簡潔的程式碼,良好的程式碼閱讀性深深的折服。但是在官方的文件中,寫
的很不想細,有些程式碼甚至看不懂其實現,基礎性的東西幾乎不存在。如果你沒有一定的程式設計經驗我相信你也是看不懂的。
但是請你不要放棄對這門語言的學習,我也是一點一點學習過來的,你在學習過程中遇到的坑,可能我也遇到過。我非常歡迎各位 一起學習,一起探索。共同的進步。
所以,我會根據自身的程式設計經驗、技術。寫完整個Kotlin
系列教程。整個教程由淺如深,即使你沒有程式設計經驗你也能看懂,教程中會介紹Koltin
的特性,以及其和Java
的差異性。讓更多的朋友愛上這門語言。
開擼
讓我們忘記生活的煩惱、放下沉重的枷鎖、沉浸在程式碼的世界中,開啟音樂的分貝,邁開腳步開始學習Kotlin
大法吧。
學習架構
我把這個教程命名為:從無到有系列,這個系列目前還沒寫完,故而下面的連結有一些是沒有實際內容的,我會在後面持續的補齊,這裡只是實現了整個教程的大綱。
整個專案根據學習的難以程度以及學習路線我分為了五個模組。我會按照的學習架構去排序。大家可以按照這個順序去學習...
引言
- 1、 17 位谷歌 Android 開發專家是如何看待 Kotlin 的?
- 2、 用 Kotlin 開發 Android 專案是一種什麼樣的感受?(一)
- 3、 用 Kotlin 開發 Android 專案是一種什麼樣的感受?(二)
初級篇
對於入門篇的內容不多,主要是講解了
Kotlin
中的基礎語法,涵蓋了開發環境搭建
、變數
、常量
、註釋
、資料型別
、控制語句
,操作符過載
、空安全
、基本函式
、字串處理
等
- 1、 開發環境搭建
- 2、 變數、常量、註釋
- 3、 資料型別
- 4、 邏輯控制語句
- 5.1、 一元、二元操作符
- 5.2、 比較、區間、未運算操作符(未完成)
- 6、 可空型別、空安全、型別轉換
- 7、 基礎函式使用
- 8、 字串的常用操作總結
中級篇
Kotlin
是一門物件導向
的開發語言。既然是物件導向,則在中級篇主要講解其三大特性
,以及類成員
、資料類
、抽象類
、介面類
、內部類
、繼承類
等關於Kotlin
物件導向的方方面面的講解
- 1、 類的宣告與使用
- 2、 屬性與欄位
- 3、 可見性修飾符
- 4、 繼承類
- 5、 介面類、列舉類
- 6、 資料類、密封類
- 7、 抽象類、內部類、巢狀類
- 8、型別別名(未完成)
- 9、解構宣告(未完成)
- 10、 伴生物件與物件宣告(未完成)
高階篇
高階篇的內容要多一些,只要是對
Kotlin
中的高階用法以及一些獨特的東西。涵蓋了lambda表示式
、高階函式
、集合
、泛型
、擴充套件
、委託
、異常處理
、註解
、反射
、協程
等
- 1、 Lambda表示式
- 2、 高階函式
- 3、 行內函數(未完成)
- 4.1、 集合的使用
- 4.2、 集合的常用操作符總結
- 5、 泛型(未完成)
- 6、 擴充套件(未完成)
- 7、異常處理(未完成)
- 8、 委託(未完成)
- 9、 註解(未完成)
- 10、 反射(未完成)
- 11、 協程(未完成)
進階篇
進階篇主要講解的是在實際開發專案中的注意事項及一些高階操作,例如
Kotlin
中的設計模式
、編碼規範
等
- 1、 約定俗成的編碼規範(未完成)
- 2、 單列模式(未完成)
- 3、 工廠方法模式(未完成)
- 4、 抽象工廠模式(未完成)
- 5、 建造者模式(未完成)
- 6、 原型模式(未完成)
- 7、 介面卡模式(未完成)
- 8、 橋接模式(未完成)
- 9、 組合模式(未完成)
- 10、 裝飾模式(未完成)
- 11、 外觀模式(未完成)
- 12、 享元模式(未完成)
- 13、 代理模式(未完成)
- 14、 職責鏈模式(未完成)
- 15、 命令模式(未完成)
- 16、 直譯器模式(未完成)
- 17、 迭代器模式(未完成)
- 18、 中介者模式(未完成)
- 19、 備忘錄模式(未完成)
- 20、 觀察者模式(未完成)
- 21、 狀態模式(未完成)
- 22、 策略模式(未完成)
- 23、 模版方法模式(未完成)
- 24、 訪問者模式(未完成)
實戰篇
實戰篇主要向大家介紹使用
Kotlin
開發Android
專案時,介紹一些常用和Kotlin
一起開發的庫,以及對他們的使用及講解。 比如說Anko
、Dagger2
、RxKotlin
、或者用Kotlin
編寫的一些自定義元件等等...
其他
在這裡我意思整合了一些關於Kotlin
的學習資源,以供大家學習。
官網
視訊教程
書籍
關於書籍的分享,這裡有著官網的中英文PDF
文件,Kotlin
極簡教程、Kotlin
程式開發入門經驗等等書籍。這些我都分享在了我的Kotlin
交流群裡面。這裡就不一一的分享了。
更多
開源專案
- GankClient-Kotlin —— 用
Koltin
編寫的Gank
客戶端 - PoiShuhui-Kotlin —— 用Kotlin寫的簡單漫畫APP
- KotlinMvp —— 基於Kotlin+MVP+Retrofit+RxJava+Glide 等架構實現短視訊類APP練手專案,UI簡約,詳細註釋
- Eyepetizer-in-Kotlin —— 用Kotlin擼一款Eyepetizer
最後
關於此教程中的例項原始碼都在專案中,有興趣的可以去看看。當然也希望您不吝的給個關注或star
,同時也希望您指出這個教程的不足指出。因為您的關注是我堅持的動力,也讓更多的朋友與Kotlin
愛好者能更好的去學習它。
我相信在你學完整個系列教程之後,一定是可以用Kotlin
進行實際專案開發的。近期我也會用Koltin
語言去編寫我自己的Android
專案,也會用Kotlin
去實現後端用於我APP
中的介面提供。
如果你在學習過程中遇到任何的問題,不管你是寫後端
、Android
以及前端
的開發者都可以聯絡我,或者對於Android
開發很有興趣。都可以在專案Issuse
我,或者加入在下的Koltin
交流群一起學習、研究。