Kotlin程序開發入門




 谷歌在17年舉行的I/O開發者大會上宣佈,將Kotlin語言做爲安卓開發的一級編程語言。於此同時,Kotlin語言一出就上了各大IT門戶網站的頭條,百度搜索達到300萬條,今天小編帶你瞭解一下Kotlin,並推薦一本Kotlin入門書《Kotlin程序開發入門精要》




本文摘自人民郵電出版社異步社區《Kotlin程序開發入門精要》
試讀: www.epubit.com.cn/book/detail…
購書: item.jd.com/12174925.ht…


Kotlin是什麼?



      可能不少讀者看到Kotlin這個單詞會感到很陌生,這很正常。就和2007年之前同樣,在蘋果公司推出iPhone以及相應的開發工具以前,Objective-C就不爲人知,至少在國內是這樣的。上面提到的Objective-C是一種編程語言,而本書的主題是Kotlin,那麼首先要回答的是,Kotlin究竟是什麼呢?沒錯,Kotlin和Objective-C同樣,是一種編程語言。html



      Kotlin是由JetBrains建立的基於JVM的編程語言,那麼JetBrains又是什麼呢?我相信不少Java程序員使用過IntelliJ IDEA,這個很是棒的Java IDE(集成開發環境)就是JetBrains的傑做。若是你沒聽過或沒用過IntelliJ
IDE,那麼也沒有太大關係。相信閱讀本書的讀者或多或少都瞭解一些Android的知識,Android官方推薦的IDE是Android Studio,簡稱AS。這個IDE就是基於IntelliJ IDEA社區版開發的。JetBrains旗下不僅有IntelliJ IDEA一款產品,Kotlin也是JetBrains旗下的一款產品,一種編程語言。這種編程語言運行在JVM上,也就是Kotlin編譯器會將Kotlin源代碼編譯成Java Byte Code(Java字節碼),能夠直接運行在JVM上。從這一點看出,在技術層面,Java和Kotlin是同一個級別的,都以Java
Byte Code形式運行在JVM上。固然,Kotlin編譯器還能夠將Kotlin源代碼編譯生成JavaScript代碼,以便在沒有JVM的狀況下運行。在將來,Kotlin編譯器還能夠將Kotlin源代碼編譯生成本地代碼,徹底脫離任何虛擬機運行,也就是說,Kotlin相對Java的優點之一是多目標編譯語言,而Java只能編譯生成Java Byte Code(.class文件)。
程序員



爲何Kotlin忽然成爲熱門?



      儘管Kotlin已經推出有很長一段時間了,但並不怎麼出名,多是由於JetBrains對它的推廣力度不夠,加之如今的編程語言實在太多了,因此Kotlin就像一塊石頭扔進了大海,不見了蹤跡。spring



      那麼爲何如今Kotlin忽然成爲熱門了呢?緣由也很簡單,Kotlin能夠開發Android App,並且被Google公司選爲開發Android App的一級語言,即在Android Studio 3.0及以上版本中會支持利用Kotlin語言開發Android App。這也就意味着,到目前爲止,開發Android
本地App可使用Java和Kotlin兩種編程語言。這就很像開發iOS App的場景了,可使用Objective-C和Swift兩種語言開發iOS App。所以,不少人把Kotlin比做Android世界的Swift。並且Kotlin和Swift的確都是很棒的編程語言,都加入了不少「語法糖」,能夠大幅提升程序開發的效率。
編程



Kotlin相對於Java有哪些優點?



      可能不少讀者會問,既然有了Java,爲何Google公司還要選擇Kotlin來開發Android App呢?Kotlin相比Java有哪些優點呢?安全



      在這一節咱們來簡單瞭解一下Kotlin的特色,經過這些介紹,咱們能夠體會到Kotlin的優點所在。框架





  • 更容易學習:Kotlin是一門包含不少函數式編程思想的面向對象編程語言,並且相比Scala語言更容易學習。異步




  • 輕量級:相比其餘編程語言,Kotlin函數庫更小。因爲Android存在65K方法數限制,使得這一點顯得更爲重要。雖然使用ProGuard或者打包成多個dex可以解決這個問題,可是全部這些解決方案都會提升複雜性,並增長調試的時間。Kotlin函數庫方法數小於7000個,至關於support-v4(Android
    1.6)的大小。
    編程語言




  • 高度可互操做性:Kotlin能夠和其餘Java類庫友好且簡單地進行互操做。Kotlin團隊在開發這門新語言時正是秉承了這個中心思想。他們但願可使用Kotlin繼續開發現有的使用Java語言編寫的工程,而不是重寫全部代碼。所以,Kotlin須要可以和Java很好地進行互操做。函數式編程




  • 很是好地集成Android Studio及Gradle:Kotlin有一個專門用於Android Studio的插件,以及另外一個專門用於Gradle的插件。並且即將推出的Android Studio 3.0已經集成了Kotlin,所以在Android工程中開始使用Kotlin並不困難。函數




      固然,Kotlin還有不少語法層面的特性,如數據模型類、空類型安全、擴展函數等,這些技術將會在後面的章節介紹中展開。



Kotlin能作什麼?



      從前面的內容能夠知道,Kotlin能夠用來開發Android App,那麼除了Android App,Kotlin還能夠作什麼呢?在本節咱們就來一窺究竟。



1.服務端開發



      既然Kotlin是基於JVM的編程語言,那麼天然而然就可使用全部基於JVM的服務端框架。下面是幾個Kotlin官方文檔推薦的框架。





  • Spring:一種開源框架,是爲了解決企業應用程序開發複雜性問題而建立的。從Spring 5開始,Spring就已經支持Kotlin的新特性了,並可使用Spring在線生成器(start.spring.io)生成基於Kotlin的工程。




  • Vert.x:用於創建基於JVM的響應式Web應用的框架。




  • Ktor:由JetBrains發佈的一款基於Kotlin的本地Web框架




  • kotlinx.html:是一種DSL(領域專用語言),用於在Web應用中生成HTML。Kotlin服務端框架和kotlinx.html的關係就像JSP和FreeMarker的關係同樣,FreeMarker是基於Java的模板引擎。使用FreeMarker,能夠不依賴於HTML或其餘技術,能夠根據須要生成HTML或其餘東西,也就是一種與具體渲染技術無關的技術。




2.以JavaScript方式運行



     Kotlin提供了生成JavaScript源代碼的能力,也就是將Kotlin代碼直接轉換爲JavaScript代碼。目前,支持ECMAScript 5.1標準,將來會支持ECMAScript 6。



      注意,若是將Kotlin代碼轉換爲JavaScript代碼,在Kotlin代碼中只能包含Kotlin標準庫,不能包含任何JDK API以及任何第三方的Java Library API,任何不屬於Kotlin自己(Kotlin語句和標準庫)的部分在轉換的過程當中將被忽略。



3.開發Android App



       這一部分在上文提到過,Kotlin和Java同樣,均可以開發Android App,並且Kotlin和Java源代碼文件能夠在同一個工程中,能夠聯合進行調試。



      儘管Kotlin能作不少事(Java能作的,Kotlin都能作),但本書的主要關注點是開發Android App,所以,在本書後續部分將着重介紹如何利用Kotlin開發Android App。





Kotlin入門,怎麼學?



一本全程視頻陪伴貼心跟蹤初學者學習效果的Kotlin開發書



《Kotlin程序開發入門精要》







點擊圖片查看詳情)



編輯推薦



1基於最新的Kotlin版本



2本書分爲三部分:Kotlin基礎、Android開發和項目實戰,讀者經過對本書的學習,不只能夠掌握Kotlin的知識,還能夠將Kotlin用於項目實戰。



3贈送近70小時視頻課程,包括Kotlin和Android,供初學者學習使用



4經過極客題庫提供大量的測試題以及過關斬將系統,讀者能夠用通關的方式更有效地學習書中的知識



5隨書贈送價值300元優惠卡,能夠用於購買李寧老師其餘視頻課程以及如今及將來提供的其餘服務



6有問題的學員能夠經過歐瑞科技(創始人是李寧)的問答社區區(geekori.com提問,會有專人回答讀者提出的問題,以及經過博客系統總結書中學到的知識,同時,提出問題、回答問題以及撰寫的博客越多,就會增長讀者的積分,之後學習李寧老師其餘的課程和獲取其餘資源,會有更大的優惠。



僅僅一本書怎麼行?海量視頻、海量習題快速入門























更多Android類好書,掃碼查看







相關文章
相關標籤/搜索