在Flutter 3對所有平臺皆提供穩定支援後,官方仍持續積極更新發布Flutter 3.3,這次總共合併了5,687個拉取請求,強化Flutter Web、桌面和文字處理的效能,並且在開發工具下功夫,更新go_router套件、DevTools和VS Code擴充套件。

Flutter 3.3修正了過去Flutter Web應用程式選擇文字,與使用者預期行為不一致的問題,在傳統的網頁應用程式中,使用者可以透過滑動手勢,一次選取多個網頁元素,但這件事情沒有辦法在Flutter Web應用程式上完成。而現在官方推出SelectableArea小工具,任何SelectableArea的子元件都能夠被自由的選取,開發者只需要將路由主體(Route Body)以SelectableArea小工具包起來,Flutter便會處理剩下的工作。

觸控板的輸入在Flutter 3.3也更順暢了,除了提供更豐富的控制,也減少特定情況出現誤判,同時,Flutter現在也支援用戶在iPadOS上,以Apple Pencil進行手寫輸入。

官方改進Flutter對富文字編輯的支援,3.3版本中的TextInputPlugin能夠接受更精細的文字更新,過去TextInputClient僅能傳遞新的編輯狀態,無法在新舊之間增量更新,而新加入的TextEditingDeltas和DeltaTextInputClient元件則補充了這項功能。藉由增量更新,開發者可以建置具有範圍樣式的輸入框,讓終端使用者在一段文字中,可以選擇其中文字加上粗體會是斜體等樣式。

Flutter 2.10正式登陸Windows桌面,但是之前Windows桌面應用程式的版本,是由特定於Windows桌面應用程式的檔案設定,這個行為與其他平臺設置版本的方法不一致,因此在Flutter 3.3中,官方修正了這個問題,現在開發者可以從專案的pubspec.yaml檔案,和建置參數中設定Windows桌面應用程式版本,使Windows桌面應用程式的更新更一致可預測。

由於應用程式有時候會因為設計而有複雜的頁面導航需求,Flutter 3.3擴充原生導航API,發布新版本go_router套件,開發者在設計行動、桌面和網頁的路由邏輯,將會更簡單。go_router為一個由Flutter團隊維護的套件,開發者透過宣告式方法,可簡單處理導航和深度連結,在這個最新版本,應用程式還能夠使用非同步程式碼,執行應用程式重定位。

官方也更新了Flutter的VS Code擴充套件,添加的更新包括改進相依項目的操作,用戶可以使用Dart一次添加多個逗號分隔的相依項目。在DevTools方面則改進UX,資料表格的顯示效能也獲得提升。

熱門新聞

Advertisement