原作者:現在是實踐所有已經學習到Kotlin技術,以及充分利用它提供功能的時候。如果你還有任何疑問,在本文就給你一些做出最終決定的理由。 ...
時間:Jul, 11, 2017
原文鏈接:https://antonioleiva.com/reasons-kotlin-android/
這組文章已到最後了,它們是非常實用的。今天我想談談為什麼我認為學習Kotlin是非常有趣的。
雖然, Kotlin現在已是官方支持的開發Android APP的編程語言,而你仍可能覺得沒有足夠的理由進行改變。在這些年以來,Java已經證明其能力,為什麼要改變?
這是我認為轉換到Kotlin不是一個冒險的賭註,而是你可以做的最好的事情之一。
Tweet 上的相關文章:
Here are my reasons why I think that moving to #Kotlin is one of the best things you can do.
1. 語言及開發環境成熟
與其他開發語言不同(如:Swift),Kotlin發行版歷經了許多階段,然後才發佈最終的1.0版本。
這就意味著在使用Kotlin時幾乎沒有任何問題,一切都符合你的期望。
IDE的Kotlin插件運行順暢,並且允許你使用Java以及你的喜歡許多Java特性。因此,在這個層面上說,使用Kotlin是非常棒的。
瞭解其最終版本之前的歷程很有趣。它的Alpha和Beta版用了幾年的時間。即使在Beta版本出來之前,已有開發者在實際項目中使用它了。
Tweet 上的相關文章:
2.它使Android開發更容易
如果你一直在閱讀這一系列關於Kotlin的文章,那麼你已經非常清楚這一點。
Kotlin融入了許多簡單的能力,如果你是從Java轉來,就有種進入一個新的世界。這在Java中,你是不能想象到道。
老實說這是替代用Java開發Android優秀應用程式的唯一可行的方案。而其他替代產品(如:Scala)都非常沉重,且在編譯時間和工具方面都無法與其比擬。
今天Kotlin的編譯時間已經和Java類似了(在某些測試中它視乎更快),用Kotlin編寫應用程式所需的庫非常小,所以不會增加你的方法數量。
Tweet 上的相關文章:
3.它與Android Studio無縫集成
這聽起來可能傻乎乎的,但是從第一分鐘開始,一切都工作的很好,這是一個很大的優勢。
您已經讀過,若嘗試建立一個Kotlin項目,不用10分鐘就能完成了,即使你不瞭解Kotlin。
Tweet 上的相關文章:
You can have a project set up and ready to work in less than 10 minutes in your first use of #Kotlin
若使用Android 2.3,你只需要安裝一個插件,而在3.0中,整個過程是無縫集成。
(譯者註:這裡Android 2.3 和 3.0 應該是指 Android Studio。)
從此所有的工作就如同使用Java一樣:你能IDE運行,調試是否有問題,做重構,使用即時運行等等… 你能夠想到的一切都可以使用。
4. 它的演變得到很好的覆蓋
Kotlin背後是Jetbrains公司,他們在自己的項目中使用它,所以他們會更積極開發它。
另外,關於Android,它是由Google支持的,有兩個大公司共同合作,能為我們提供最好的開發語言和工具。
從特性(如:Kotlin Android Extensions)到庫(如:Anko),持續對庫大小和構建時間的優化,都表明Jetbrains正在向Android投入大量精力。
5.如果你是Android開發人員,則需要不斷學習
讓我們來面對它:繼續使用Java 6使我們成為“過時”的程式員。
直到我開始學習Kotlin才明白了。一旦你使用現代開發語言,你就會開始以不同的方式思考。
即使你不改變開發語言,也應該將這些新知識應用到你的代碼中。在Java中,現在我以不同的方式解決問題,這隻是因為我在學習它們之前,我已經學到了許多以前不知道的概念。
此外,你會變得更加多才多藝。後來,我看過(甚至使用)了Swift,Groovy,Ruby等一些語言,由於它們都使用非常相似的概念,因此更容易理解它們。
諸如lambdas、擴展函數、集合函數操作、密封類、數據類等概念雖然可能有不同的名稱,但是你可以在大多數現代語言中找到它們。這樣在思考中,你只需要將一種語言的轉換映射到另一種語言,你可以輕鬆地切換開發語言了。
雖然我們喜歡Android,如果準備轉換到另一種語言或平臺,則會為我們這類開發人員帶來巨大的價值。
Tweet 上相關文章:
If you are an #AndroidDev, you need to recycle: Java 6 makes us obsolete programmers
6. 它比Java更安全
你不能想象在處理Java中的NullPointerException,我有多麼累了。其實每當看到我一個人時,我覺得真的很沮喪,因為這是語言設計的一個主要的問題。
我不否認如今我們有一些工具,如註釋或設計模式,可以幫助我們避免其中一部分工作。但是,像以往一樣,需要額外的工作量是需要時間和資金的問題。
然而,我們不能僅談論null。我們要全部的Kotlin代碼能夠:
- 較少的錯誤:如果代碼較少,則代碼出差的幾率就小,因此更加穩定。
- 在編譯時,編譯器幫助你檢測到錯誤,它們就不會在運行時發生(這是真實地顯而易見)
- 代碼可讀性更高、更容易理解,更難出現新的錯誤。
- 因為我們避免了任何只能剋服語言不足的樣板,代碼功能的更清晰(而不是如何)。
而且,它能夠用更少的時間完成更多的工作、且更加穩定、修複Bug時間更短。
Tweet 上相關文章:
#Kotlin features translate into more work done in less time, and less time spent in fixing bugs.
7. 已有知名公司使用它開發其產品
例如,Pinterest已經在Android應用的新功能中使用它了。你可以聽Christina Lee談論,她在Pinterest上使用它的經驗。
另一個是Basecamp,它們Android應用程式已經100%的Kotlin編寫了。Dan Kim寫道:
Kotlin的一些技巧,是(不相信我可以這麼說)100%ANDROID的正式開發語言。— Dan Kim (@dankim) May 17, 2017
Trello的代碼也包括一些Kotlin代碼:
數據點(對Kotlin好奇的Android開發人員):@trello現在很高興地在開發中使用@kotlin。— Dan Lew (@danlew42) December 14, 2016
在Kotlin網站上,你可以查看到已經有越來越多的公司在其產品中使用Kotlin來開發,且沒有遇到麻煩。
8. 各家公司在其提供工作機會中正要求會使用Kotlin
不僅僅已有公司使用Kotlin,而且開發開始對Kotlin很感興趣了。我已經在西班牙培訓了一些大公司,興趣不斷增長。
企業在員工Kotlin培訓方面增加資金,這是個好兆頭。
9. Kotlin是多平臺的
你學習Kotlin不只是為了編寫Android應用程式。 Kotlin首先創建在JVM中,所以它可以在任何可以運行JVM的設備上使用。
但在Kotlin 1.1中,Kotlin JS(那時只是實驗性的)終於被髮布,所以你也可以使用Kotlin進行前端開發。
但是它並不止於此,由於感謝Gradle的支持,你將能夠在Kotlin中編寫你的Gradle文件,並且多虧Kotlin Native,未來它將是開放平臺。
編寫Android應用程式只是冰山一角。
Tweet 上相關文章:
With #Kotlin, you can write #AndroidDev, server, frontend, Gradle scripts and even native Apps.
10. “微小眾(Micro-niches)”是非常有利可圖
儘管在大多數公司中並沒有採納Kotlin,但已經有一些人正在使用它。如果這些公司要成長,他們將需要Kotlin專家。
有些人掌握了幾乎沒有使用過的超級奇怪的語言,但是由於他們是世界上少數語言專家之一,所以他們賺了很多錢。
在Google公佈後,Kotlin將不久便成為微小眾,但你要脫穎而出還有一段時間。
11. 它很容易學習
Kotlin的一大優點是,Java開發人員即使沒有編寫過一行Kotlin代碼,也能理解大多數代碼。
這是因為Jetbrains人非常關註由Java過渡簡單性,其語言非常類似你已知的。
由於語言的簡單性和IDE及編譯器的幫助,你可以很快地處理語言的基礎知識。
而唯一較複雜的部分是瞭解Java缺少的概念,而不是Kotlin語法本身。
我不認為任何人需要兩個多星期的時間就能感受用Kotlin編寫代碼的舒適性。
Tweet 上相關文章:
An #AndroiDev can understand most of the code without ever having written a line of #Kotlin
12. 使用起來非常有趣
總之(雖然這有些主觀),但我發現Kotlin真的很有趣。
對我來說,因為Java的特征限制,它的樣板,和設計問題導致的錯誤等等,它越來越多麻煩。
然而,Kotlin為你的創意開闢了一個可能的新世界,讓你以非常不同的方式解決相同的問題。
我在電腦前找到了幾個小時,尋找方法來簡化Android開發中的日常任務,併在此過程中享受很多。
Tweet 上相關文章:
#Kotlin opens up a new world of possibilities for you to be creative in #AndroidDev
結論
在我看來,Kotlin的開始非常友好,真的很有趣,它會擴展你的思路,讓你以不同的方式思考,最重要的是,它已經準備好用於產品開發。
它現在是Android開發的官方語言!
這是30篇文章的最後一篇,為向Android開發人員介紹Kotlin,我已經發佈了最近7個月了。
自那之後,發生很多事情(Kotlin 1.1和Google公佈等),希望它們成為人們開始學習Kotlin並提升學習的一個很好的工具。
但是,如果您想要更快速地學習,請通過示例學習,我建議你獲取書籍:Kotlin for Android Developers,通過這本書你可以學習到用Kotlin如何從頭開始創建一個完整的應用程式過程。
當然,我會繼續寫關於Kotlin和Android的更多文章。請以保持聯繫!