Flutter學(xué)習(xí)-開篇

聲明:本人Flutter學(xué)習(xí)都是基于Flutter官網(wǎng)Flutter中文網(wǎng),所以會引入其中的一些資源和代碼。
《Flutter實戰(zhàn)》

Flutter

Flutter是Google退出并開源的便攜式UI開發(fā)SDK,致力于用統(tǒng)一的代碼庫為移應(yīng)用(Android & iOS),Web和桌面應(yīng)用程序。

Flutter使用Skia作為其2D渲染引擎,跨平臺的渲染引擎,使得Flutter可以在不同的平臺中渲染出相同的表現(xiàn)。不過當前iOS系統(tǒng)使用的是Metal渲染引擎,所以我們在iOS應(yīng)用打包中還要將Skia一并打包進去。

Flutter開發(fā)使用的Dart語言。Dart的優(yōu)勢在于其同時支持JIT(Just in time)和AOT(Ahead of time)兩種運行方式,它允許開發(fā)者使用JIT模式(動態(tài)解釋)進行開發(fā),即時翻譯查看代碼變動后的效果,使用AOT模式(提前編譯)發(fā)布應(yīng)用包。這樣做既提高了開發(fā)效率,又不影響應(yīng)用的性能。

Flutter架構(gòu)

下面是《Flutter實戰(zhàn)》中的架構(gòu)圖:

framework.png

從下往上:

  • Foundation層和(Animation, Painting, Gestures)層對應(yīng)的是Flutter中的dart:ui包,提供了UI的基礎(chǔ)能力,包括動畫、手勢及繪制能力。
  • Rendering層,類似于虛擬DOM的概念,負責(zé)構(gòu)建UI樹,進行布局計算和繪制和響應(yīng)更新。
  • Widgets層是基礎(chǔ)的UI組件
  • Meterial和Cupertino是兩種不同UI樣式的組件庫。

Flutter Engine

Flutter Engine是C++實現(xiàn)的 SDK,其中包括了 Skia引擎、Dart運行時、文字排版引擎等。在代碼調(diào)用 dart:ui庫時,調(diào)用最終會走到Engine層,然后實現(xiàn)真正的繪制邏輯。

了解這些基本知識后,下一步就是搭建開發(fā)環(huán)境了。Flutter官網(wǎng)安裝文檔對不同系統(tǒng)搭建Flutter開發(fā)環(huán)境做了詳細說明,請參考官網(wǎng)進行搭建。

?著作權(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)容

  • 標簽(空格分隔): Flutter Dart Flutter簡介 Flutter 是 Google推出并開源的移動...
    黃昭鴻閱讀 528評論 0 1
  • Flutter是什么? Flutter是 Google推出并開源的移動應(yīng)用開發(fā)框架,主打跨平臺、高保真、高性能。開...
    木水Code閱讀 735評論 0 1
  • 原文 阿里技術(shù) ,傳送門 Flutter簡介 Flutter的架構(gòu)主要分成三層:Framework,Engine和...
    蓋世英雄_ix4n04閱讀 5,482評論 1 23
  • 這兩天看了下flutter,感覺這兩年可能會爆發(fā),所以嘗試在mac和win10上面跑了下hello world.....
    TaoLandd閱讀 841評論 0 0
  • 需要在真機上調(diào)試,例子中打開的是 doc文件,如果手機上裝了WPS或者office套件,就能調(diào)用這些應(yīng)用打開。 2...
    福將的逆襲閱讀 759評論 2 0

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