自 Google 於 2017 年宣佈 Kotlin 成爲 Google IO 的 Android 開發官方語言以來,想要成爲Android開發人員的程序員正陷入兩難境地。java
在討論這個問題前,我首先要明確一點, 不要陷入編程語言戰爭,不要進行語言鄙視,只要能賺錢的編程語言就是好語言。python
最近看到這樣一篇文章: Android 冬天來了 , 其實吧, 技術菜的人,一樣 iOS冬天來了,PHP冬天來了,python冬天來了,每一年都是冬季,哪有春天可言? 人工智能來了,是否是程序員死了 ?android
我做爲一名程序員,深知 Android的發展並不像在2012移動風口時那麼熱門, 可是Android開發也不是寒冬, 每天網上唱衰這語言,助興那語言,真的不必瞎操這個心,這是google操心的事 。程序員
在咱們面前真實的一個大問題 咱們學習什麼,怎樣提升技術,說難聽點就是怎樣多賺錢,對於今天的話題 更是我應該學習Kotlin仍是Java?web
若是你是一個想要學習Android開發的編程初學者,那麼我建議學習Java,若是你是一個想要進入Android App開發目前待遇不錯的Java開發人員,那麼我建議是Kotlin。今天解釋下面兩個問題。編程
2 爲 什麼Java開發人員應該 在開始 學習Kotlin?框架
當我說初學者應該從學習Java開始的時候,你可能會想:「爲何?Kotlin更加高效,代碼更簡潔,而且也是Android開發的官方語言"並且這我的建議學習Java。並非唱衰Kotlin....."編程語言
那麼,做爲一名Android開發,個人觀點可能有點偏見,。工具
做爲一名程序員,我知道個人粉絲大都是搞Android開發的,但若是你是作Java開發的,你的職業瓶頸相對較高,這意味着你有更多,更高薪的就業機會。學習
其次,目前Java也擁有本身強大的開源社區,當你遇到問題就能經過這些找到答案。
做爲初學者,會遇到不少技術問題,當咱們在Google搜索問題時,確定會獲得答案;
相對Kotlin來講,仍是一種新的編程語言,不少開源項目還未成熟,而且也相對稀少。
推薦:2017 年開發者生產力報告: Kotlin 很受 Java 開發人員的歡迎
[RebelLabs經過深刻調查獲得2017年開發者生產力報告,Kotlin 很受 Java 開發人員的歡迎,Spring 繼續主宰企業市場。 RebelLabs經過深刻調查獲得2017年開發者生產力報告,該
此外,還有不少關於android開發的教程,書籍和課程,包括免費和付費的,這些教程可讓你先用java語言開始入門Android開發之路,但對於Kotlin來講這塊資料並很少,特別是在Android上的免費資源,在國外不少關於kotlin的進階教程大都收費的。
隨着愈來愈多的程序員開始使用Kotlin開發,狀況確定會有所改善,但我懷疑它會撼動Java編程語言的主流使用地位。
可是,這不是一條硬性的建議,若是你更喜歡學習Kotlin,而且數學不太好,而且主要想或者已經從事Android開發,那麼確定是從Kotlin開始學習,目前Android Studio已經支持kotlin開發,
可是,一旦你熟悉Java語言,你的Kotlin之旅也將變得簡單和順利,由於Kotlin徹底與Java互相支持調用。它依然編譯成Java字節碼並在 JVM上 運行。
對Java開發人員來講,我認爲最好學習Kotlin,由於它確實提升了開發效率。
一個在Java中使用50行代碼的類能夠在Kotlin中只寫一行。
它能夠幫助你避免全部的火車代碼(說了一大堆不知道寫的是什麼),例如你不須要指定 getter和setter , equals() , hashCode() 或 toString() 方法。Kotlin能夠本身生成全部這些。我對 Kotlin 和 Java 在開發編寫生產力和編寫相似代碼的代碼方面進行了比較:
若是你不知道Kotlin是由JetBrains開發的,後者也是最流行的Java IDE之一IntelliJ IDEA的後臺。
他們是一家Java 工具開發商,正在開發像IntelliJ IDEA,PyCharm和ReSharper這樣的IDE,全部這些都是用Java編寫的,而且構建了Kotlin來提升他們的工做效率,但同時他們不能在Kotlin中重寫全部的代碼,因此這就是爲何他們讓Kotlin與Java徹底互通。
由於Kotlin生成Java字節碼,因此能夠在Kotlin中使用你最喜歡的Java
框架和三方庫,而且其餘Java開發人員也可使用你開發的Kotlin框架。
即便是Spring, 有個主要的Java框架 已經開始從Spring5.0 開始支持Kotlin了, 可見對於java 人員,Kotlin的將來前景蠻鮮明。 2017 年開發者生產力報告: Kotlin 很受 Java 開發人員的歡迎 。
儘管目前幾乎全部的Android代碼,示例demo 和App都是用Java編寫的,但這種狀況維持不了多久,由於Google從宣佈Kotlin是Android應用程序開發的官方語言以來,都對Kotlin進行了大量的推廣,在不一樣開發者大會都會進行技術演進,而且想facebook, Squre等公司已經切到kotlin開發,國內也有一些獨立開發者編寫Kotlin教程,雖然國內App目前並無公開說明已經使用kotlin語言。
可是不少多公司已經開始使用Kotlin開發Android應用程序,這也是我認爲Java,和android高級進階開發人員應該在今年學習Kotlin的主要緣由