Flutter框架概覽


前言:進入新框架的開發前,有必要整體了解框架設計及特點,對該框架初步認識,此文對Flutter框架進行淺顯梳理,以備查閱;
Flutter框架
 
從該架構圖可知,Flutter框架可分為Framework層和Engine層;
Flutter Framework: 整個框架層都是用Dart語言實現,該層提供一套基礎庫, 用於處理動畫、繪圖和手勢等。並且基於繪圖封裝了一套 UI組件庫,並且細分為兩種風格的組件
 
Materail : Android風格的Widget,包含以下幾個大類
  1. App基礎結構和導航類型(Scaffold,Appbar,BottomNavigationBar等)
                


  2. Buttons(懸浮按鈕,菜單按鈕等)

  3. 輸入和選擇器(Checkbox,Radio,Switch等)

  4. 對話框,面板

  5. 布局
  
 
Cupertino: IOS風格的Widget,主要包含:
CupertinoTabBar,CupertinoPageScaffold,CupertinoTabScaffold,CupertinoTabView
 
Flutter Engine: 這是一個純 C++實現的框架層,包含了 Skia引擎(高性能渲染引擎)、Dart運行環境、文字排版引擎等。它可以以 JIT、JIT Snapshot 或者 AOT(預先編譯)的模式運行 Dart代碼。AOT直接將Dart源碼編譯成了本地字節碼,沒有了解釋執行的過程,提升執行性能。和Java顯著不同的是Dart的"線程"(Isolate)是不共享內存的,各自的堆(Heap)和棧(Stack)都是隔離的,彼此之間通過消息通道來通信。所以,Dart不存在數據競爭和變量狀態同步的問題,整個Flutter Framework Widget的渲染過程都運行在一個isolate中,在代碼調用 dart:ui庫時,提供 dart:ui庫中 Native Binding 實現。 這個運行時還控制着 VSync信號的傳遞、GPU數據的填充等,並且還負責把客戶端的事件傳遞到運行時中的代碼。
 
  轉載請注明出處
From crash_coder linguowu linguowu0622@gamil.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM