現(xiàn)代 Android 開發(fā): 利用 Jetpack Compose 及更多精彩功能!

作者 / Stephanie Cuthbertson, 產(chǎn)品管理總監(jiān)

現(xiàn)代 Android 開發(fā)的最新進展

也許是 Android 十分靈活的原因,所以經(jīng)常會有開發(fā)者向我們咨詢應(yīng)用開發(fā)問題,希望 Android 團隊提供一些推薦做法。開發(fā)者告訴我們,他們喜歡 Android 的開放,但同時又希望我們把開放的態(tài)度與官方建議的正確方法結(jié)合起來,并且在正確性的基礎(chǔ)上同時確保它是最簡單易行的。而就在前幾天,我們的團隊從剛剛落幕的Android 開發(fā)者峰會帶來了答案。

我們給出的答案就是 “現(xiàn)代 Android 開發(fā)”?(modern Android development)。這是一款專為快速、簡易開發(fā)而打造的強大方法。掃除一切拖慢速度的障礙,這樣您才能專心致志地打造一流體驗。為了實現(xiàn)現(xiàn)代 Android 開發(fā),我們投入了許多努力,比如說開發(fā)了 Android Studio 和 Jetpack。(現(xiàn)在,90% 以上的專業(yè)開發(fā)者是 Android Studio 用戶。) Kotlin 和 Compose 則是我們近期才推出的兩款重磅產(chǎn)品。

Kotlin 是一款簡潔的現(xiàn)代開發(fā)語言 —— 開發(fā)者一直希望我們提供一款好用易上手的語言,而 Kotlin 現(xiàn)已被 Android 選為官方推薦語言。Compose 則是一款面向未來 10 年推出的現(xiàn)代聲明式 UI 工具包。聽上去可能有些不可思議,但是我們在挑選和設(shè)計這些工具時,確實一直想著如何增進開發(fā)者的 “愉悅感” ,我們希望開發(fā)者在使用這些工具的時候能夠感到快樂: 因為使用感也是十分關(guān)鍵的一環(huán)。

此外,Kotlin 和 Compose 還具備了另一項十分重要的屬性,它們都能與您的現(xiàn)有應(yīng)用完美兼容,也就是說,您可以根據(jù)自己的時間表,逐步添加 Kotlin 代碼和 Compose 視圖。


2019 Android 開發(fā)者峰會主題演講_騰訊視頻

騰訊視頻鏈接:

https://v.qq.com/x/page/b3014supqfz.html

Bilibili 視頻鏈接:

https://www.bilibili.com/video/av73830783/

使用優(yōu)秀的現(xiàn)代語言開啟您的開發(fā)旅程: Kotlin

出色的語言支持是現(xiàn)代 Android 的起點。實際上,我們最近剛邁過了一個里程碑: 近 60% 的頭部應(yīng)用使用了 Koltin 進行開發(fā)。目前,我們正在與 JetBrains 接洽合作,從多個維度進一步強化了 Kotlin 性能,例如: 加快 Kotlin 編譯速度、使用 KAPT 進行增量注釋處理、緩解 IDE 代碼輸入時的延遲、增添 Lint 檢查項目、D8 和 R8 中的脫糖處理等,此外,R8 新增的若干優(yōu)化項還能夠識別 Kotlin 相關(guān)的字節(jié)碼模式。從今天開始,Kotlin 構(gòu)建腳本可獲取全面 IDE 支持。如果您想提升自己的開發(fā)技能,不妨前往優(yōu)達學城,學習我們新上線的Android 高階課程: 使用 Kotlin 進行開發(fā)。另外,我們還專門為 Kotlin 專家推出了一款新的Android 開發(fā)者認證,感興趣的小伙伴們可以在接下來的三個月內(nèi)以優(yōu)惠價格參加認證考試。我們也在一直改善 Kotlin、Java 編程語言和 C++ 這三款官方支持的頂層開發(fā)語言的性能,努力為您和您的團隊打造更好的語言體驗,例如: Java8 語言庫脫糖功能、內(nèi)置更新版 LLVM 的NDK r2、GNU Make、默認啟用 Fortify 等。

Jetpack: 使用更少的代碼構(gòu)建高質(zhì)量的強大應(yīng)用

Jetpack 主要用于解決日常工作中的真實開發(fā)問題。在 Play 應(yīng)用商店排名前 10,000 位的應(yīng)用中,Jetpack 的使用率達到了 84% 以上。我們也在一直改進 Jetpack 的性能,具體更新包括:

基準庫 (Benchmarking)?最早于 Google I/O 大會時首次亮相,現(xiàn)已迭代至發(fā)布候選版本。您可以使用基準庫對應(yīng)用性能進行基準化分析,與之前相比,基準分析的操作步驟更加簡便,分析結(jié)果也更為可靠。

視圖綁定 (Viewbinding)?讓您可以更輕松地通過代碼訪問視圖。它具備很多優(yōu)點,例如: 類型安全、對構(gòu)建時間影響極小、無需使用 findViewById() 函數(shù)和注釋處理器。

CameraX?大幅度簡化了開發(fā)工作,讓您可以更加專注于應(yīng)用本身,而無需自己處理 Android 生態(tài)圈中不同設(shè)備間相機行為差異。目前,三星、小米、OPPO、摩托羅拉和 LG 已實現(xiàn)了統(tǒng)一的 CameraX 接口。我們在 Google I/O 大會上已經(jīng)推出了預(yù)覽版 CameraX,并將于 12 月發(fā)布第一個 Beta 版本。

Compose: 使用全新的 Android UI 開發(fā)工具包構(gòu)建美觀的原生應(yīng)用 —— 預(yù)覽版強勢推出

Compose能夠幫助您輕松構(gòu)建美觀的原生應(yīng)用。它采用聲明式的 UI 構(gòu)建方法,讓您的代碼更加直觀與簡潔。得益于 Kotlin 的啟發(fā),Compose 在兼容性方面也十分出色,它可以與現(xiàn)有的 UI 工具包無縫兼容,方便您按照自己的節(jié)奏在項目中使用 Compose。



Compose 能夠幫助您輕松構(gòu)建美觀的原生應(yīng)用_騰訊視頻

騰訊視頻鏈接:

https://v.qq.com/x/page/n3014aq1xr7.html

Bilibili 視頻鏈接:

https://www.bilibili.com/video/av73821119/

Jetpack Compose 開發(fā)者預(yù)覽版已正式發(fā)布。如需體驗,請下載最新的預(yù)覽版 Android Studio。Compose 的開發(fā)工作完全開源,您可前往 Android 開源計劃 (AOSP) 查看具體代碼。在這段時間內(nèi),我們陸續(xù)收到了許多建議與反饋,這為我們改進 API 提供了很大的幫助;因此,我們十分感謝在開發(fā)者調(diào)研和 Kotlinlang Slack 小組中向我們分享寶貴意見的朋友們。在發(fā)布開發(fā)者預(yù)覽版之后,團隊的工作重心將轉(zhuǎn)移到 Beta 版的開發(fā)上,因此希望大家繼續(xù)向我們提交反饋!我們預(yù)計會在明年推出第一個 Beta 版本的 Jetpack Compose,以供正式版應(yīng)用使用。

歡迎使用 Android Studio 4.0 Canary 版本

Android Studio 4.0 的首個 Canary 版本也已正式發(fā)布。該版本內(nèi)置 Compose UI 工具集,可為您帶來性能強大、高度集成的工具支持體驗。Android Studio 4.0 內(nèi)含 Compose 實時預(yù)覽,代碼補全功能以及全套 Compose 樣例應(yīng)用。更有多項重要更新,等您前來探索,其中包括: 全新的動畫編輯器 (Motion Editor)、Java 8 語言庫脫糖功能、全面支持 KTS 文件以及 Kotlin 實時模板 (live template)。

Android App Bundles 及動態(tài)交付的測試改進

推出后僅僅 18 個月,已經(jīng)有超過 27 萬個?Android App Bundles?正式版應(yīng)用發(fā)布,覆蓋了 25% 的活躍安裝。我們基于開發(fā)者反饋簡化了 App Bundles 和動態(tài)交付的測試工作。通過內(nèi)部應(yīng)用分享(Internal app sharing) 功能,您可以像分享測試 APK 一樣輕松分享測試版本的 app bundle?,F(xiàn)在,您可以授權(quán)任何一名團隊成員發(fā)布測試版本應(yīng)用,測試版本無需使用正式版簽名密鑰進行簽名,無需設(shè)定版本號,而且可以是可調(diào)試版本。此外,我們還允許您從 Play 管理中心獲取歷史版本應(yīng)用的下載鏈接 (App Bundles 和 APK 均可支持)。我們還推出了動態(tài)交付的離線測試功能,該功能包含了一個fake split install manager,允許您在本地測試時復(fù)制 Play 商店正在安裝的拆分文件。

以用戶信任為中心的現(xiàn)代分發(fā)平臺

Google Play 一直視用戶信任與安全為重中之重。我們擁有嚴格的人工審核制度、不斷完善的 Play Protect 保護機制、以及隨著我們監(jiān)測到的安全威脅而不斷更新的政策要求。得益于這些努力,從 Play 商店安裝的應(yīng)用安全性遠遠高于其他分發(fā)渠道。我們在今年進一步加強了平臺的監(jiān)測能力,以更好地打擊假冒身份、二次打包、惡意內(nèi)容等濫用行為。然而,我們深知安全問題并非一朝一夕可以解決,網(wǎng)絡(luò)威脅層出不窮,仍有許多工作亟待我們?nèi)ネ瓿伞T谀膸椭?,我們減少了對敏感數(shù)據(jù)的訪問,并為兒童與家庭營造了更安全的 Play 平臺環(huán)境。此外,我們還限制了應(yīng)用對短信和通話記錄的訪問權(quán)限,以這類權(quán)限為核心功能的應(yīng)用才被允許訪問;新政策實施后,訪問此類敏感數(shù)據(jù)的應(yīng)用數(shù)量驟減了 98%。因為您的付出與努力,用戶獲得了更好的安全性保障,同時他們也清楚地感知到了這一點,當他們在下載應(yīng)用時發(fā)現(xiàn)需要授予的權(quán)限更少了。

Android 開發(fā)者挑戰(zhàn)賽!

我們在十多年前發(fā)起了第一屆 Android 開發(fā)者挑戰(zhàn)賽,時至今日,正值現(xiàn)代 Android 積極塑造下一代平臺之際,我們順勢宣布?Android 開發(fā)者挑戰(zhàn)賽強勢回歸,并推出首個挑戰(zhàn)任務(wù)——讓創(chuàng)新與機器學習惠及世界。Live Captions (實時字幕)?功能就是一個絕佳的例子,Live Captions 把媒體內(nèi)容帶進約 5 億的聽障人士的生活。我們希望通過機器學習賦能越來越多這樣的創(chuàng)新,相信在您的協(xié)助下,我們可以讓未來世界更早到來。請閱讀《Android 開發(fā)者挑戰(zhàn): 與您一同利用設(shè)備內(nèi)置機器學習讓創(chuàng)新惠及世界》,進一步了解賽事細節(jié)。

現(xiàn)代 Android 之旅到此也稍稍告一個段落了,相信大家對 Android 將來在開發(fā)者體驗上的方向也已經(jīng)有所了解。最后,感謝各位參加前幾日的 Android 開發(fā)者峰會,不論您是親臨峰會現(xiàn)場,還是收看網(wǎng)絡(luò)直播,都希望您能收獲滿滿,從來自 100 余位演講者的 60 場技術(shù)分享中,全方位深度探索 Android 的精彩之處。謝謝!

請您繼續(xù)關(guān)注 “谷歌開發(fā)者” 微信公眾號近期推文以及 “Google中國” Bilibili 官方賬號,我們將會持續(xù)更新今年 Android Dev Summit 分會場演講的中文字幕視頻,敬請關(guān)注!

2019 Android 開發(fā)者峰會中文字幕系列視頻 (不斷更新中):

https://space.bilibili.com/64169458/channel/detail?cid=91608

歡迎大家就本次峰會中的內(nèi)容提出 Android 開發(fā)相關(guān)的問題,我們將在峰會內(nèi)容放送完畢后邀請谷歌工程師們?yōu)榇蠹易龀鼋獯稹?a target="_blank">點擊這里提交您的問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容