在今天的Android開發(fā)者大會(huì)上,谷歌發(fā)布了一些新的工具和開發(fā)者特性,能夠讓開發(fā)人員為移動(dòng)系統(tǒng)編寫應(yīng)用程序。有些工具不足為奇,包括支持最新的Kotlin語言(該語言在Android開發(fā)者生態(tài)系統(tǒng)中越來越受歡迎)、用于Android Jetpack工具和API的新特性、以及Android Studio IDE。但是最大的驚喜似乎是發(fā)布了內(nèi)置應(yīng)用的更新API。
雖然這個(gè)名字聽起來并不像是一個(gè)具有突破性的特性,但事實(shí)正好相反。有了這個(gè)新的API,開發(fā)人員能以兩種全新的方式向用戶推送應(yīng)用程序的升級(jí)。
“開發(fā)人員對(duì)這一特性已經(jīng)期待很久了,例如,如果你擁有了一款應(yīng)用程序,那么開發(fā)人員就想確保用戶使用的是最新版本的應(yīng)用,”谷歌產(chǎn)品管理和開發(fā)人員關(guān)系高級(jí)主管Stephanie Saad Cuthbertson說道:“這個(gè)問題讓開發(fā)人員一直都很苦惱。”
假如你發(fā)布的應(yīng)用程序中存在一個(gè)重大bug(如果真發(fā)生了),那么你就想確保每一位用戶都能及時(shí)升級(jí)應(yīng)用程序;你可以很快地向用戶發(fā)送全屏的攔截信息,并且當(dāng)他們?cè)俅螄L試第一次打開應(yīng)用程序并應(yīng)用更新時(shí),會(huì)顯示這一消息。很明顯,這只是針對(duì)重大bug。第二種方法是擁有更多的靈活性,并且當(dāng)應(yīng)用更新下載完成時(shí),用戶也可以繼續(xù)使用這一應(yīng)用程序。開發(fā)人員能夠完全定制這些更新流程。
目前,新的更新API正在和一些合作伙伴做一些早期的測(cè)試,并且計(jì)劃很快會(huì)對(duì)開發(fā)人員開放。
正如Cuthbertson強(qiáng)調(diào)的那樣,該團(tuán)隊(duì)近幾年的關(guān)注點(diǎn)是滿足開發(fā)人員的需求。她指出,最典型的就是Kotlin語言。“這個(gè)語言并不是由谷歌設(shè)計(jì)的,也不是明顯的選擇,但它確實(shí)是最好的選擇,”她告訴筆者:“看看過去幾年,你可以看到我們對(duì)于IDE的投資,實(shí)際上我們只投資了5年,而且從剛開始投資的那時(shí)起,我們一直在構(gòu)建IDE,并且完全基于開發(fā)人員的反饋。”
今天,該公司宣布有46%的專業(yè)開發(fā)人員都在使用Kotlin,而且僅僅是上個(gè)月,就有超過118000個(gè)的新Kotlin項(xiàng)目在Android Studio中啟動(dòng)(這僅僅是用戶向谷歌分享的數(shù)量),可以說這一投資絕對(duì)是值得的。
不過開發(fā)人員最近抱怨的一件事是:在Android Studio中的開發(fā)速度變慢了。“我們內(nèi)部看到的是開發(fā)的速度越來越快,但是外部的開發(fā)人員卻表示速度在放緩,”Cuthbertson說道:“因此我們開始在內(nèi)部控制環(huán)境中進(jìn)行基準(zhǔn)測(cè)試,但是對(duì)于任何想要加入的人,我們也會(huì)開始對(duì)整個(gè)生態(tài)系統(tǒng)進(jìn)行基準(zhǔn)測(cè)試。”該團(tuán)隊(duì)發(fā)現(xiàn),作為Android Studio構(gòu)建系統(tǒng)的核心工具,Gradle的速度要快很多,但是你構(gòu)建的系統(tǒng)和平臺(tái)也會(huì)產(chǎn)生重大影響。Cuthbertson發(fā)現(xiàn),Spectre和Meltdown修復(fù)程序?qū)indows和Linux用戶產(chǎn)生了重大影響。例如,自定義插件也是如此。因此,該團(tuán)隊(duì)正在構(gòu)建新的分析工具,以便開發(fā)人員能夠深入了解構(gòu)建所需要的時(shí)間,而且谷歌也在開發(fā)更多的插件來加速性能。
其中大多數(shù)的功能都不在當(dāng)前的Android Studio 3.3 Beta版中(Android Studio 3.3的第三版Beta于今天發(fā)布),但是Android Studio用戶或許很樂意聽到的是Chrome OS將最在明年的早期獲得官方支持的IDE,能夠使用Chrome OS的新功能來運(yùn)行Linux應(yīng)用程序。
該公司今天宣布的其它更新是用于Navigation和Work Manager的新Jetpack架構(gòu)組件,讓開發(fā)人員能夠更輕松地將Android的導(dǎo)航原理添加到應(yīng)用程序中,并執(zhí)行后臺(tái)任務(wù),而無需編寫大量的樣板代碼。公司也對(duì)Android App Bundles進(jìn)行了升級(jí),允許開發(fā)人員模塊化他們的應(yīng)用程序,并按照需求將應(yīng)用程序模塊推送給用戶;Instant Apps也可以在不安裝的情況下運(yùn)行?,F(xiàn)在,使用Instant Apps的網(wǎng)頁URL是可選的,并且在Android Studio中構(gòu)建也變得更加容易。
原文作者:Frederic Lardinois