閱讀128 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Kotlin 空降“上位”已滿月,有對你帶來變化嗎?

自從5.18 Google IO 大會到現在,Kotlin 已實打實的“上位”一個月。不知道你自己或者身邊有沒有人開始學習和使用 Kotlin 呢? Kotlin 有對你帶來什麼變化嗎?歡迎回複討論。

Kotlin 的空降似乎讓許多人措手不及,在此之前國內關於 Kotlin 的資料十分稀少。即使到現在,也有不少人對 Kotlin 不甚了解。有一些 Kotlin 相關的公眾號曾整理和解答過一些常見的問題,或許對大家有所幫助:

Kotlin 是什麼?

我剛剛接觸 Kotlin 是在兩年前,那會兒的 Kotlin 更像是 A Better Java,它能做 Java 能做的任何事情,而且還要更出色。那時候我們還經常稱 Kotlin 是一門 Jvm 上的靜態語言,盡管 Kotlin-js 也在實驗當中;而現在,我們隻好稱 Kotlin 是一門全棧的靜態語言了,因為小夥兒長壯實了,不僅通吃 Jvm,Android 和前端,連 Native(注意不是 Jni)也要搞搞,真是前景一片大好。

說白了,它就是一門編程語言而已,在 Android 上被 Google 欽點,就像 Swift 之於 iOS,並不是什麼洪水勐獸,不應該覺得害怕和恐慌。

沒有 Java 基礎,我應該學 Kotlin 嗎?

應該學,作為一個有追求的程序員,你不僅要學 Kotlin,而且要了解各類型的語言,這跟你什麼基礎沒有關係,大家都有過一個什麼都不會的曾經。

但是,現階段,Kotlin 跟 Java 關係實在密切,隻要你希望用 Kotlin 開發 Jvm、Android 相關的應用程序,Java 你就必須學會,而且要學好,因為它太重要了,除了大量的 Jdk、Sdk 源碼都是 Java 的以及大量的資料都是 Java 的 之外,Java 更是 Java 係語言的標杆,你需要學習掌握它,了解這一族語言的應用思路,和開發習慣,甚至了解 Java 的弊病來真正明白為什麼會有 Kotlin、Groovy、Scala 這樣的語言誕生。

一句話,Java 不牢,地動山搖。

不學 Java 可以直接搞 Android 開發嗎?

可以,做了很多年 Android 開發的我們居然會驚訝的發現,可以用來開發 Android 語言好多,Java 係的 Groovy、Scala 就不提了,連 C# 都可以,真是條條大路通羅馬。

但是,主流語言仍然是 Java,這將是在短期內無法動搖的,加之 Kotlin 與 Java 一脈相承,關係密切,所以無論如何你都逃不過 Java 的學習。

Kotlin 會不會慢慢把 Java 取代了?

短期內不會,但會 Kotlin 的開發會把不會 Kotlin 的開發慢慢取代倒是極有可能。

Java 雖然一身毛病,但短期內其地位是無法被撼動的,為什麼?一方麵自然有積重難返的原因,畢竟 Java 的積累很多,完全清空轉向新生的 Kotlin 或者其他語言不是一件容易的事,而且也沒有必要。用 Java 寫的應用不是仍然好好的在應用商店躺著嗎,老板憑什麼要為 Google 的欽點額外付費?

那麼後麵的發展可能是怎樣的呢?公司老板慢慢發現 Kotlin 比 Java 的開發效率高,可以節省人力,於是嚐試逐漸過渡,進入 Java 和 Kotlin 混合開發階段,不過他接著發現,掌握 Kotlin 的程序員的成本要高一些,於是他開始盤算到底是招 10 個 Java 合適還是招 7 個 Java & Kotlin 合適。等到掌握 Kotlin 的人越來越多,大家會普遍傾向於認為 Kotlin 是一門必備技能,不會 Kotlin 的話就會被淘汰,這時候老板就隻會招 Java & Kotlin 了。

現在用 Kotlin 開發 Android 靠譜嗎?

額。。看到這個問題的時候其實我好難過,然後瞬間又不難過了,因為難過的應該是 Google——你看,人家都不相信你呀。

我從兩年前開始接觸 Kotlin,大概在一年半以前開始所有個人開發的應用都直接使用 Kotlin 開發,接著在公司項目中小範圍嚐試了 Kotlin,單從編程語言層麵來看,Koltin 幾乎沒有任何問題,Google 也通過這次 IO 大會試圖在告訴我們這一點。堅定支持 Kotlin 的還有 Square.Inc 的 Jake 大神,如果你不知道他的話,我建議你的領導開除你。國內使用 Kotlin 的公司比較有名的有滬江、英語流利說等,他們都有了比較長的使用曆史,一些創業公司也發現 Kotlin 能為他們的團地帶來活力,讓兄弟不至於很辛苦,比如北京的快樂迭代。

所以,如果你為 Kotlin 開發 Android 靠譜不靠譜,我告訴你,非常靠譜。

但是。。。怎麼每個問題都有個但是。。。如果你想要將 Kotlin 應用於到你們的項目中,那麼請你先與你的領導或者同事溝通好,以免造成不必要的麻煩。

文章轉載自 開源中國社區 [https://www.oschina.net]

最後更新:2017-06-30 14:32:11

  上一篇:go  商洛網站建設:提高關鍵詞排名讓SEO效果翻倍
  下一篇:go  springmvc集成shiro後,session、request姓汪還是姓蔣?