想要高薪必須具備的MySQL的高級能力之隔離級別及其區別
820
2025-04-02
谷歌在17年舉行的I/O開發者大會上宣布,將Kotlin語言作為安卓開發的一級編程語言。于此同時,Kotlin語言一出就上了各大IT門戶網站的頭條,百度搜索達到300萬條,招聘公司已經開始高薪找人,今天小編帶你了解一下Kotlin,并推薦一本Kotlin入門書《Kotlin程序開發入門精要》。
Kotlin是什么?
可能很多讀者看到Kotlin這個單詞會感到很陌生,這很正常。就和2007年以前一樣,在蘋果公司推出iPhone以及相應的開發工具之前,Objective-C就鮮為人知,至少在國內是這樣的。上面提到的Objective-C是一種編程語言,而本書的主題是Kotlin,那么首先要回答的是,Kotlin到底是什么呢?沒錯,Kotlin和Objective-C一樣,是一種編程語言。
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就像一塊石頭扔進了大海,不見了蹤影。
那么為什么現在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還可以做什么呢?在本節我們就來一窺究竟。
既然Kotlin是基于JVM的編程語言,那么自然而然就可以使用所有基于JVM的服務端框架。下面是幾個Kotlin官方文檔推薦的框架。
Spring:一種開源框架,是為了解決企業應用程序開發復雜性問題而創建的。從Spring 5開始,Spring就已經支持Kotlin的新特性了,并可以使用Spring在線生成器(https://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或其他東西,也就是一種與具體渲染技術無關的技術。
Kotlin提供了生成JavaScript源代碼的能力,也就是將Kotlin代碼直接轉換為JavaScript代碼。目前,支持ECMAScript 5.1標準,未來會支持ECMAScript 6。
注意,如果將Kotlin代碼轉換為JavaScript代碼,在Kotlin代碼中只能包含Kotlin標準庫,不能包含任何JDK API以及任何第三方的Java Library API,任何不屬于Kotlin本身(Kotlin語句和標準庫)的部分在轉換的過程中將被忽略。
這一部分在上文提到過,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有問題的學員可以通過歐瑞科技(創始人是李寧)的問答社區區(https://geekori.com)提問,會有專人回答讀者提出的問題,以及通過博客系統總結書中學到的知識,同時,提出問題、回答問題以及撰寫的博客越多,就會增加讀者的積分,以后學習李寧老師其他的課程和獲取其他資源,會有更大的優惠。
僅僅一本書怎么行?海量視頻、海量習題快速入門
更多Android類好書,掃碼查看
本文轉載自異步社區
軟件開發 移動開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。