現代 Android 開發: 利用 Jetpack Compose 及更多精彩功能!

做者 / Stephanie Cuthbertson, 產品管理總監html

現代 Android 開發的最新進展

也許是 Android 十分靈活的緣由,因此常常會有開發者向咱們諮詢應用開發問題,但願 Android 團隊提供一些推薦作法。開發者告訴咱們,他們喜歡 Android 的開放,但同時又但願咱們把開放的態度與官方建議的正確方法結合起來,而且在正確性的基礎上同時確保它是最簡單易行的。而就在前幾天,咱們的團隊從剛剛落幕的 Android 開發者峯會帶來了答案。android

咱們給出的答案就是 「現代 Android 開發」 (modern Android development)。這是一款專爲快速、簡易開發而打造的強大方法。掃除一切拖慢速度的障礙,這樣您才能專心致志地打造一流體驗。爲了實現現代 Android 開發,咱們投入了許多努力,好比說開發了 Android Studio 和 Jetpack。(如今,90% 以上的專業開發者是 Android Studio 用戶。) Kotlin 和 Compose 則是咱們近期才推出的兩款重磅產品。編程

Kotlin 是一款簡潔的現代開發語言 —— 開發者一直但願咱們提供一款好用易上手的語言,而 Kotlin 現已被 Android 選爲官方推薦語言。Compose 則是一款面向將來 10 年推出的現代聲明式 UI 工具包。聽上去可能有些難以想象,可是咱們在挑選和設計這些工具時,確實一直想着如何增進開發者的 「愉悅感」 ,咱們但願開發者在使用這些工具的時候可以感到快樂: 由於使用感也是十分關鍵的一環。安全

此外,Kotlin 和 Compose 還具有了另外一項十分重要的屬性,它們都能與您的現有應用完美兼容,也就是說,您能夠根據本身的時間表,逐步添加 Kotlin 代碼和 Compose 視圖。微信

使用優秀的現代語言開啓您的開發旅程: Kotlin網絡

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

Jetpack: 使用更少的代碼構建高質量的強大應用機器學習

Jetpack 主要用於解決平常工做中的真實開發問題。在 Play 應用商店排名前 10,000 位的應用中,Jetpack 的使用率達到了 84% 以上。咱們也在一直改進 Jetpack 的性能,具體更新包括:編程語言

  • 基準庫 (Benchmarking) 最先於 Google I/O 大會時首次亮相,現已迭代至發佈候選版本。您可使用基準庫對應用性能進行基準化分析,與以前相比,基準分析的操做步驟更加簡便,分析結果也更爲可靠。
  • 視圖綁定 (Viewbinding) 讓您能夠更輕鬆地經過代碼訪問視圖。它具有不少優勢,例如: 類型安全、對構建時間影響極小、無需使用 findViewById() 函數和註釋處理器。
  • CameraX大幅度簡化了開發工做,讓您能夠更加專一於應用自己,而無需本身處理 Android 生態圈中不一樣設備間相機行爲差別。目前,三星、小米、OPPO、摩托羅拉和 LG 已實現了統一的 CameraX 接口。咱們在 Google I/O 大會上已經推出了預覽版 CameraX,並將於 12 月發佈第一個 Beta 版本。

Compose: 使用全新的 Android UI 開發工具包構建美觀的原生應用 —— 預覽版強勢推出編輯器

Compose 可以幫助您輕鬆構建美觀的原生應用。它採用聲明式的 UI 構建方法,讓您的代碼更加直觀與簡潔。得益於 Kotlin 的啓發,Compose 在兼容性方面也十分出色,它能夠與現有的 UI 工具包無縫兼容,方便您按照本身的節奏在項目中使用 Compose。

Jetpack Compose 開發者預覽版已正式發佈。如需體驗,請下載最新的預覽版 Android Studio。Compose 的開發工做徹底開源,您可前往 Android 開源計劃 (AOSP) 查看具體代碼。在這段時間內,咱們陸續收到了許多建議與反饋,這爲咱們改進 API 提供了很大的幫助;所以,咱們十分感謝在開發者調研和 Kotlinlang Slack 小組中向咱們分享寶貴意見的朋友們。在發佈開發者預覽版以後,團隊的工做重心將轉移到 Beta 版的開發上,所以但願你們繼續向咱們提交反饋!咱們預計會在明年推出第一個 Beta 版本的 Jetpack Compose,以供正式版應用使用。

歡迎使用 Android Studio 4.0 Canary 版本

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

Android App Bundles 及動態交付的測試改進

推出後僅僅 18 個月,已經有超過 27 萬個 Android App Bundles 正式版應用發佈,覆蓋了 25% 的活躍安裝。咱們基於開發者反饋簡化了 App Bundles 和動態交付的測試工做。經過內部應用分享 (Internal app sharing) 功能,您能夠像分享測試 APK 同樣輕鬆分享測試版本的 app bundle。如今,您能夠受權任何一名團隊成員發佈測試版本應用,測試版本無需使用正式版簽名密鑰進行簽名,無需設定版本號,並且能夠是可調試版本。此外,咱們還容許您從 Play 管理中心獲取歷史版本應用的下載連接 (App Bundles 和 APK 都可支持)。咱們還推出了動態交付的離線測試功能,該功能包含了一個 fake split install manager,容許您在本地測試時複製 Play 商店正在安裝的拆分文件。

以用戶信任爲中心的現代分發平臺

Google Play 一直視用戶信任與安全爲重中之重。咱們擁有嚴格的人工審覈制度、不斷完善的 Play Protect 保護機制、以及隨着咱們監測到的安全威脅而不斷更新的政策要求。得益於這些努力,從 Play 商店安裝的應用安全性遠遠高於其餘分發渠道。咱們在今年進一步增強了平臺的監測能力,以更好地打擊假冒身份、二次打包、惡意內容等濫用行爲。然而,咱們深知安全問題並不是一朝一夕能夠解決,網絡威脅層出不窮,仍有許多工做亟待咱們去完成。在您的幫助下,咱們減小了對敏感數據的訪問,並爲兒童與家庭營造了更安全的 Play 平臺環境。此外,咱們還限制了應用對短信和通話記錄的訪問權限,以這類權限爲核心功能的應用才被容許訪問;新政策實施後,訪問此類敏感數據的應用數量驟減了 98%。由於您的付出與努力,用戶得到了更好的安全性保障,同時他們也清楚地感知到了這一點,當他們在下載應用時發現須要授予的權限更少了。

Android 開發者挑戰賽!

咱們在十多年前發起了第一屆 Android 開發者挑戰賽,時至今日,正值現代 Android 積極塑造下一代平臺之際,咱們順勢宣佈 Android 開發者挑戰賽強勢迴歸,並推出首個挑戰任務——讓創新與機器學習惠及世界。Live Captions (實時字幕) 功能就是一個絕佳的例子,Live Captions 把媒體內容帶進約 5 億的聽障人士的生活。咱們但願經過機器學習賦能愈來愈多這樣的創新,相信在您的協助下,咱們可讓將來世界更早到來。請閱讀《Android 開發者挑戰: 與您一同利用設備內置機器學習讓創新惠及世界》,進一步瞭解賽事細節。

現代 Android 之旅到此也稍稍告一個段落了,相信你們對 Android 未來在開發者體驗上的方向也已經有所瞭解。最後,感謝各位參加前幾日的 Android 開發者峯會,不論您是親臨峯會現場,仍是收看網絡直播,都但願您能收穫滿滿,歷來自 100 餘位演講者的 60 場技術分享中,全方位深度探索 Android 的精彩之處。謝謝!

請您繼續關注 「谷歌開發者」 微信公衆號近期推文以及 「Google中國」 Bilibili 官方帳號,咱們將會持續更新今年 Android Dev Summit 分會場演講的中文字幕視頻,敬請關注!

歡迎你們就本次峯會中的內容提出 Android 開發相關的問題,咱們將在峯會內容放送完畢後邀請谷歌工程師們爲你們作出解答。 點擊這裏提交您的問題。

相關文章
相關標籤/搜索