當前位置:
首頁 > 最新 > Android開發者是時候轉向Kotlin了

Android開發者是時候轉向Kotlin了

概述

作為一個目前主要從事Android開發的開發者,最早大概是在2017年3月第一次聽說了這門開發語言,但是真正去了解還是在Google2017年的Google IO上宣布採納為Android官方開發語言的時候。眾所周知,當年借著的春風換髮了第二春,這麼多年過去了,Oracle與Google的官司一直糾纏不清,這就給了Google足夠的理由尋找的替代品。雖然在17年5月份中,Google官方宣稱,不是要取代,會長期共存。但是到目前為止,看到的都是Google在Android開發上正在向傾斜。

例如你打開Android開發者官方網站,映入眼帘的是這樣的


Kotlin簡介

關於官方網站如是說:

Statically typed programming language for modern multiplatform applications

一門可用於跨平台開發的靜態類型的編程語言。

是由JetBrains團隊開發,就是那個做超牛逼的公司,例如IntelliJandReSharper.

致力於跨平台開發,可以編譯成位元組碼運行在上,可以編譯成針對平台的位元組碼運行在Android虛擬機中(Dalvik和ART)上,可以編譯成運行在瀏覽器上,也可以編譯成原生庫運行在沒有虛擬機的系統上,例如設備或者其他嵌入式設備。

聽起來真牛逼啊,那我們接下來看看它對其他開發語言,特別是Java,有什麼優勢。Java即將受到一萬點傷害,因為我們主要和比較,誰讓我們這個專欄是有關於開發的呢,而對新版本的支持又是如此的緩慢,到目前為止只能使用的部分功能。


號稱與可以100%互操作,即可以互相調用,其實主要是Kotlin調用java了,因為Java作為傳奇前輩,有許多優秀的類庫和框架,以及遺留代碼。為了使Kotlin能更大程度的被開發者接受,Java這顆大樹一定的傍。


這可能是Kotlin與Java比起來讓人一眼就能發現的優點,摒棄了Java冗長的語法。

讓我們直觀感受一下,下面的代碼創建了一個(Plain Ordinary Java Object),其自動實現了,,,,和,這要是用Java寫估計的上百行代碼。

data class Customer(val name: String, val email: String, val company: String)

這個相信有過Java編程經驗的同學都深有體會,不知道什麼時候程序就閃崩了(crash),英文世界經常說它是一個十億美金的錯誤(Billion Dollar Mistake)。

而在Kotlin中,如下代碼,如果定義output為非空字元串的話,賦空值是編譯不過去的。

var output: String

output = null // 編譯報錯,無法通過編譯


就像Microsoft的Visual Studio之於,JetBraints的Intelij Idea對自己的的支持絕對是全方位的。相信用過Intelij的你再也不想碰Eclipse了。

上面四點也是官方宣稱的優勢,其實語言的很多特性,在上很多年前就有了,只能說不是做的太好,只怪走的太慢。


Kotlin之於Android

官方已於2017年接納為官方開發語言了,也從3.0開始也原生支持了Kotlin。到目前為止,Google有主推來做開發的趨勢。

Kotlin從兼容性,執行效率,與java互操作性,編譯時間上與Java相比都沒有劣勢,但是會稍微增加apk的尺寸,大概100K,還有幾百個函數。而這些和以上描述的優點相比都不是事兒,畢竟我們在APP中加個廣告SDK都要好幾百K,你們覺得呢?

下篇我們將會正式進入使用Kotlin做Android的探索。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 華北01學會 的精彩文章:

TAG:華北01學會 |