重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
一年半前玩過flutter,忘光光...現在是時候重新拾取了。~
專注于為中小企業提供做網站、成都網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業績溪免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千余家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
啟動頁一般只放圖片或者加幾行文字。
1、創建好flutter項目之后,在lib文件下面新建launch.dart或xx.dart.
2、在根目錄下新建images文件夾,如已有直接放入圖片
3、flutter_yijiake.iml中加入注入該圖片,并注意空格
4、在根目錄下的test/widget_test.dart中更改默認的啟動頁為當前的啟動頁路徑
5、最后重新設置啟動時的頁面
6、非常簡單的啟動頁面放logo圖片
值得一說的是,flutter框架的UI組件需要已new 組件的形式展開。
Flutter是谷歌公司推出的跨終端的開發框架,支持Android、iOS和WEB終端。1.0版在2018年12月5日發布,目前的最新版本是1.5,它采用的開發語言是Dart,Dart也是谷歌開發的計算機編程語言,語法類似C,是編譯型語言:
hello world例子,打印字符串“Hello World!”:
1、沒有橋接層
React Native、Weex等技術都是跨終端的框架,然而性能跟原生App存在很大差距。這是由于它們的工作原理決定的:
React Native、Weex等技術多了一個橋接層,所以界面渲染會慢一些,由于UI渲染非常頻繁,想要不卡頓,基本上比較難,性能和用戶體驗跟原生代碼有差距。而這恰恰是Flutter的優勢所在:
Dart可以被編譯成不同平臺的本地代碼,讓Flutter不通過橋接層直接跟平臺通信,自然性能會快一些。
2、編譯執行
JavaScript是解釋執行的,Dart是編譯執行的,性能誰好一目了然。
3、Flutter Engine虛擬機
Flutter是依靠Flutter Engine虛擬機在iOS和Android上運行的,Flutter Engine使用C/C++編寫,開發人員通過Flutter框架直接和API在內部進行交互,所以具有輸入低延遲和UI渲染高幀速率的特點。除了這特點之外,Flutter還提供了自己的小部件,Flutter小部件是使用從React獲取靈感的現代框架構建的。 中心思想是您使用小部件構建UI。
窗口小部件根據其當前配置和狀態描述了它們的視圖。 當窗口小部件的狀態發生更改時,窗口小部件會重建其描述,框架將根據前面的描述進行區分,以確定底層呈現樹從一個狀態轉換到下一個狀態所需的最小更改??梢灾苯釉贠S平臺提供的畫布上進行描繪,也就是一些核心類庫直接放到虛擬機里面,調用起來更快。
從它的系統結構可以看出,類似安卓的ART(Android Run Time)虛擬機,同樣采用AOT(Ahead of TIme)技術,會在APP安裝時就編譯成機器語言,不再解釋執行,從而優化了APP運行的性能。
4、自帶渲染引擎
Flutter使用谷歌自己的Skia渲染引擎,而Android系統自帶Skia引擎,iOS平臺上Flutter也會把Skia引擎打包到APP中,從而實現了高效渲染。而React Native通過橋接層訪問原生UI,操作頻繁就容易出性能問題。
綜合所述,Flutter 是性能最接近原生代碼 的一種開發框架,未來也會是構建谷歌Fuchsia應用的主要方式,前途不可限量,唯一的問題就是需要學習一門新的語言:Dart,而有Java或者C#語言基礎的程序員會比較容易學習。
Tip:顯示文本,有些樣式屬性和android的textView類似,例如對齊、大小、顏色等
Tip:Material庫提供了很多按鈕,例如ElevatedButton、TextButton、OutlinedButton等,這些都是直接或者間接對ButtonStyleButton
的包裝定制,所以大多數屬性和ButtonStyleButton一樣。另外所有的MaterialButton都有兩個共同特征:1、按下時會有水波動畫 2、都有一個onPress回調方法,若不提供回調方法,則按鈕時禁止狀態,不響應用戶點擊
Tip:使用Image來加載并顯示圖片,Image的數據源可以是asset、文件、內存或者網絡。ImageProvider是一個抽象類,主要定義了圖片數據獲取的接口load( ),從不同的數據源中獲取數據。如AssetImage可以加載本地圖片資源,NetworkImage可以加載網絡圖片。
國外地址:
國內鏡像:
以 flutter_screenutil 為例
路由框架 annotation_route
狀態管理 provider
UI適配 flutter_screenutil
刷新控件 flutter_easyrefresh
網絡請求 dio
toast控件 fluttertoast
圖表庫 charts_flutter
網絡監聽 connectivity
事件總線 event_bus
日歷組件 table_calendar
官方webview webview_flutter
第三方webview flutter_webview_plugin
該篇文章為常用依賴包總結,用來記錄所需要的常用依賴包,后續會不斷擴充內容~
LayUI
由職業前端傾情打造,面向全層次的前后端開發者,低門檻開箱即用的前端 UI 解決方案,layui是一個采用自身模塊規范化編寫的前端UI框架,它依照原生HTML/CSS/JS的書寫與組織形式,入門簡單,使用也非常簡單。從核心代碼到API的每一處細節都經過精心雕琢,非常適合界面的快速開發。
JEUI
它是一款國產前端UI框架,遵循原生HTML/CSS/JS的書寫與組織形式,國內很多程序員javascript不熟, 大大影響了開發速度. 因此JEUI不需要開發人員去關心javascript怎么寫, 只要寫標準html就可以了,門檻極低,拿來即用。其外在極簡,卻又不失飽滿的內在,體積輕盈,組件豐盈,從核心代碼到API的每一處細節都經過精心雕琢,非常適合界面的快速開發。
JEUI基于jQuery的UI框架,包括表單、布局、表格等等常用UI控件,使用JEUI可以快速輕松地創建風格統一的界面效果。
瀏覽器兼容非常牛皮,能兼容IE8以上的瀏覽器。
DWZ
DWZ富客戶端框架(jQuery RIA framework), 是中國人自己開發的基于jQuery實現的Ajax RIA開源框架. 設計目標是簡單實用,快速開發,降低ajax開發成本。
DWZ 支持用 html 擴展的方式來代替 javascript 代碼, 基本可以保證程序員不董 javascript, 也能使用各種頁面組件和 ajax 技術. 如果有特定需求也可以擴展 DWZ 做定制化開化.
MDUI
MDUI 是一個基于 Material Design 的前端框架。
19 種主色、16 種強調色、1 種夜間主題,只需添加一個 CSS 類即可切換。CSS 僅 26.7KB,JavaScript 僅 14KB,加載更迅速。移動優先,從小屏逐步擴展到大屏,最終實現所有屏幕適配。不依賴任何第三方庫,節約網絡流量,使加載更迅速,提高用戶體驗。使用 CSS3 來做動畫交互,平滑、高效,讓 Web 應用的動畫更流暢。提供自定義打包功能,按需打包需要的主題和組件,使文件體積驟然減小。MDUI 包含了 20 余個組件,且每個組件都可以適應不同主題。
只需懂一點 HTML、CSS、JS 的基礎知識,就能使用 MDUI。
ElementUI
element ui框架的按鈕組件,這款由餓了么前端開源的UI框架,一經面世,就收獲大量程序員的芳心,在github 上更是高達29.8k的star早已說明一切,用于開發PC端的頁面還是綽綽有余的,如果說你是用vue開發者,卻沒用過element UI,那你肯定不是合格的vue開發者。
WeUI
jQuery WeUI 是專為微信公眾賬號開發而設計的一個簡潔而強大的UI庫,包含全部WeUI官方的CSS組件,并且額外提供了大量的拓展組件,豐富的組件庫可以極大減少前端開發時間。
jQuery WeUI 的最大特點是它只提供UI組件,并不會對項目所使用的框架和其他庫有任何的限制,幾乎可以在任何環境下使用。無論你的項目是基于jQuery,還是 React, Angular, Vue, 你都會發現 jQuery WeUI 能非常方便的和他們結合使用。既是你的項目是一個有很悠久歷史的老項目,也幾乎可以做到拿來即用。
Flutter
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面,前端對于 Flutter 的熱忱度之高一度讓人有點驚訝,事實上在 Flutter 社區內見到的客戶端開發者遠多于前端開發,不過前端對于跨端解決方案確實有著天然的渴求。
Flutter可以與現有的代碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,并且Flutter是完全免費、開源的。
iView ui
iViewui一套基于 Vue.js 的高質量 UI 組件庫,搭配使用 iView UI 組件庫形成的一套后臺集成解決方案,由 TalkingData 前端可視化團隊部分成員開發維護。iView Admin 遵守 iView 設計和開發約定,風格統一。
Mint UI
Mint UI 包含豐富的 CSS 和 JS 組件,能夠滿足日常的移動端開發需要。通過它,可以快速構建出風格統一的頁面,提升開發效率。
真正意義上的按需加載組件??梢灾患虞d聲明過的組件及其樣式文件,無需再糾結文件體積過大。
考慮到移動端的性能門檻,Mint UI 采用 CSS3 處理各種動效,避免瀏覽器進行不必要的重繪和重排,從而使用戶獲得流暢順滑的體驗。
依托 Vue.js 高效的組件化方案,Mint UI 做到了輕量化。即使全部引入,壓縮后的文件體積也僅有 ~30kb (JS + CSS) gzip。
YDUI Touch
YDUI Touch 專為移動端打造,在技術實現、交互設計上兼容主流移動設備,保證代碼輕、性能高。
使用 Flex 技術,靈活自如地對齊、收縮、擴展元素,輕松搞定移動頁面布局。
實現強大的屏幕適配布局,等比例適配所有屏幕。什么?用得不開心?輕松切換 px。
自定義Javascript組件、Less文件、Less變量,定制一份屬于自己的YDUI。
SUI Mobile
SUI Mobile 是一套基于 Framework7 開發的UI庫。它非常輕量、精美,只需要引入我們的CDN文件就可以使用,并且能兼容到 iOS 6.0+ 和 Android 4.0+,非常適合開發跨平臺Web App。輕量的UI庫
SUI Mobile 非常輕量,核心庫壓縮Gzip后的JS、CSS網絡傳輸體積總共只有52K,卻提供了20+個常用的組件。
Amaze ~ 妹子 UI
中國首個開源 HTML5 跨屏前端框架
Amaze UI 以移動優先(Mobile first)為理念,從小屏逐步擴展到大屏,最終實現所有屏幕適配,適應移動互聯潮流。
Amaze UI 含近 20 個 CSS 組件、20 余 JS 組件,更有多個包含不同主題的 Web 組件,可快速構建界面出色、體驗優秀的跨屏頁面,大幅提升開發效率。
相比國外框架,Amaze UI 關注中文排版,根據用戶代理調整字體,實現更好的中文排版效果;兼顧國內主流瀏覽器及 App 內置瀏覽器兼容支持。
Amaze UI 面向 HTML5 開發,使用 CSS3 來做動畫交互,平滑、高效,更適合移動設備,讓 Web 應用更快速載入。
cube-ui
質量可靠:由滴滴內部組件庫精簡提煉而來,歷經考驗,并且每個組件都有充分單元測試,為后續集成提供保障。
體驗極致:以迅速響應、動畫流暢、接近原生為目標,在交互體驗方面追求極致。
標準規范:遵循統一的設計交互標準,高度還原設計效果;接口標準化,統一規范使用方式,開發更加簡單高效。
擴展性強:支持按需引入和后編譯,輕量靈活;擴展性強,可以方便地基于現有組件實現二次開發。