日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jetpack Compose学习笔记

發布時間:2024/10/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jetpack Compose学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前不久的 Android Dev Summit '19 上,Jetpack Compose 終于發布了一個可直接獲得的預覽版。現在的版本還是 0.1.0-dev02,處于非常早期的版本,官方也再三強調非常有可能產生變化且無法用于生產環境。不過我認為這是簡單了解一下 Compose 的好時機。有備而無患。

首先來了解一下現在嘗試 Compose 所需要的環境:

  • Android Studio 4.0 Canary1
  • Kotlin 1.3.60-eap-25
  • minSdkVersion 21(也就是 Android 5.0)
  • 為什么需要 Compose

    Android 已經十年,設備的變化非常大,也涌現出很多心的開發技術和思想,但用來開發 UI 的工具卻還依舊停留在十年前。不少控件已經過時而且背負了太多歷史包袱,重新開始或許是更好的選擇。

    開發 UI 需要編寫 XML 布局,通過代碼加載,可能還需要通過 XML 來定義 style,為了編寫一個界面要做的工作太多了。而且考慮到 Activity 和 Fragment,需要顧及的就更多了。如果要自定義一個 View,要做什么工作?我想“自定義 View”這幾個字,都能嚇退一批人吧。

    并且大量 UI 工具與系統的版本綁定,新功能新修復無法及時讓開發者和用戶受益。Material design?Who cares?那是 5.0 以上才大部分支持的東西,更別提 shape theming 了。

    原先的控件使用了一些只有官方能使用的黑魔法,也就是 hidden API。Compose 將完全在公開的 API 上進行構建,官方使用的廣大的普通開發者也能夠使用。

    插點私貨。我偶爾會看著隔壁 Flutter 流下羨慕的淚水。它提供了大量官方的控件,應對各種場景,而且在各種系統版本上提供統一的行為。而我卻需要滿世界找非官方的實現,一個個查看是否滿足我的需求,是否還在維護,是否需要自己魔改。當然,我無比感恩這些開發者的貢獻,但我覺得我們應該被 Android 官方善待。

    然后是 data flow。對于 UI 編程來說,分發事件和接收狀態是與開發者關聯最密切的事情。而現有的 android.widget 在這兩個方面都做得不夠好:狀態的管理比較混亂;事件在分發時就已經改變了控件的狀態;listener 可以跟 Kotlin 結合更緊密提供更合適的做法。

    聲明式 UI 編程

    聲明式編程通常是相對于命令式編程(imperative programming)來說的,不關注編程中具體的過程,而是以最后的結果為重點。在 UI 這一特定的領域來說,聲明式編程則意味著:當狀態發生變化時,聲明式框架會自動更新視圖。

    聲明式的 UI 框架會關注:

  • 對于給定的數據,UI 是如何被展示的;
  • 怎么對事件進行響應;
  • 不考慮 UI 之前的狀態對當前的狀態產生的影響。
  • 也就是說,它只關心當前的數據(狀態)會渲染出什么樣的外觀,而不把數據當成一個擁有上下文的狀態流來看待。

    總結

    再次強調,Compose 處于很早期的階段,API 也好,具體的底層實現也好,都很可能會發生變化。官方的示例 JetNews 也存在一定的性能問題。

    所以我覺得普通開發者還不需要去了解具體使用的細節。但還是有幾個建議:

    • 如果還沒學習 Kotlin,快學吧。
    • 然后考慮學習一下 Kotlin coroutine。
    • 學習已經比較成熟的聲明式 UI 框架,比如 React 和 Flutter。考慮了解一下它們的應用和原理,比如狀態管理的最佳實踐和 virtual DOM 等。這樣可以快速掌握同類型的 UI 框架。

    鏈接:https://pan.baidu.com/s/1_4PIUb-Yl68aTW9Bw95iJA
    提取碼:tnav

    ?

    總結

    以上是生活随笔為你收集整理的Jetpack Compose学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。