前言? ? 最近谷歌搞了一件大事情,Flutter也可以寫Web應用了,去年我用Dart寫了一下Web,詳情請看視頻介紹(https://www.bilibili.com/video/av33791403),體驗了一把Dart寫Web的感覺?,F在谷歌把dart:ui重寫了一遍,讓Flutter也可以輕松實現Web網頁功能,廢話少說。本文詳細介紹Flutter for Web,讓各位了解一下它是何方神圣。不管你有沒有做過Web開發都可以快速學習和掌握這個新鮮玩意兒。
如果你覺得文章太長的,也可以看一下視頻講解,內容都是一樣的:
1
Flutter for Web介紹
Flutter for Web官方的Github庫地址:
https://github.com/flutter/flutter_web ,
此存儲庫包含面向Web 的 Flutter 分支的源代碼 。Flutter團隊的目標是把Web與iOS和Android一起添加到Flutter SDK中的第一層平臺。此存儲庫中的代碼提供實現(幾乎)整個Flutter API的純Web包。?
Flutter for Web 是Flutter的代碼兼容實現,使用基于標準的Web技術呈現:HTML,CSS和JavaScript。使用Flutter for web,您可以將使用Dart編寫的現有Flutter代碼編譯成可以嵌入瀏覽器并部署到任何Web服務器的客戶端體驗。您可以使用Flutter的所有功能,而不需要瀏覽器插件。 ?
Flutter for web目前只是預覽版,旨在驗證產品是否滿足開發人員的需求。目前只支持Chrome瀏覽器上調試頁面。
2
Flutter for Web架構圖
Flutter Framework(上圖中的綠色部分)在移動和網絡產品之間共享。它為Flutter的UI基礎提供高級抽象概念,包括動畫,手勢,基本小部件類,以及面向最常見應用程序需求的Material主題的小部件。如果您已經使用過Flutter構建項目,那么您將可以快速體驗到Flutter for Web的功能。
Flutter for Web的神奇之處在于將Flutter UI的概念轉移到瀏覽器中。與Flutter移動端框架不一樣的是,Flutter for Web的第一層(橙色的)是Browser,里面有Canvas、JS Engine和DOM。Flutter團隊重新實現了dart:ui庫,用針對DOM和Canvas的代碼替換了手機端使用的對Skia引擎的綁定。Browser這一層核心繪圖層完全是用Dart實現的,并使用Dart優化的JavaScript編譯器將Flutter核心和框架與應用程序一起編譯成一個可以部署到任何Web服務器的簡化的源JavaScript文件,可以在任何現代瀏覽器上運行。
3
Flutter for Web的編譯器
適用于生產(部署)環境的JavaScript編譯器:dart2js
官方地址:
https://webdev.dartlang.org/tools/dart2js
dart2js: 為了部署環境而生成優化的精簡的代碼。使用dart2js工具將Dart代碼編譯為可部署的JavaScript。
適用于開發(測試)環境的JavaScript編譯器:dartdevc
官方地址:
https://webdev.dartlang.org/tools/dartdevc
dartdevc: 它提供漸進式編譯和熱啟動。你可以編輯Dart文件,在Chrome中刷新,并立即查看文件修改后的結果。dartdevc只編譯更新的模塊,而不是編譯應用所依賴的所有軟件包。
4
核心功能點(作用)
1.使用Flutter構建的與progressive-web-apps相關聯的程序。對Flutter的Web支持使現有的基于移動的應用程序可以打包為PWA,以覆蓋更廣泛的設備,或為現有應用程序提供配套的Web體驗。
2.嵌入式互動內容。Flutter為創建豐富的,以數據為中心的組件提供了一個強大的環境,可以輕松地在現有網頁中托管。無論是數據可視化,在線工具如汽車配置器還是嵌入式圖表,Flutter都可以為嵌入式Web內容提供高效的開發方法。
3.在Flutter移動應用中嵌入動態內容。在現有移動應用程序內提供動態內容更新的既定方法是使用Web視圖控件,其可以動態地加載和顯示信息。Flutter支持現在提供統一的Web和移動內容環境,使您可以在線部署內容或嵌入應用程序而無需重寫。
5
最終目標(特點)
?運行的快速,無抖動,每秒60幀的性能。? ? ? ? ?
?Flutter在其他平臺上的一致行為和視覺效果。? ? ? ? ?
?高效的開發人員工具,可與現有的開發模式集成。
?支持所有現代瀏覽器的核心Web功能。? ? ? ??
6
計劃中的工作
?支持文本功能,如選擇和復制粘貼。
?支持插件。flutter_web目前還沒有插件系統。暫時提供dart:html,dart:js,dart:svg,?dart:indexed_db?這些讓你和其他網絡庫能夠訪問的絕大多數瀏覽器的API。對于位置,相機和文件訪問等功能,Flutter團隊希望通過單一API橋接移動和網絡。
?對Progressive Web Apps等技術的開箱即用支持。
?在現有的Flutter CLI和IDE集成下統一Web開發工具。
?使用DevTools調試Web應用程序。
?改進性能,瀏覽器支持和可訪問性。?? ? ?
7
Flutter項目移植到Web注意事項
1.并非所有Flutter API都在Flutter for web上實現。
2.Flutter for web目前還是預覽版,生成的代碼可能運行緩慢。
3.桌面用戶界面的互動并不完全很友好,因此flutter_web即使在桌面瀏覽器上運行,構建的用戶界面也可能像移動應用程序一樣。
4.目前只支持Chrome瀏覽器上調試頁面,其他瀏覽器調試可能會有問題。
5.Flutter for Web小部件API與移動小部件API相同,但是是單獨臨時打包的。
6.您可以重新打包現有的Flutter代碼以便在Web預覽上使用,但在Flutter for Web目前仍處于預覽階段,使用時會有一些警告。
? ? ? ?
美國社交媒體平臺Meta公司CEO馬克·扎克伯格和推特公司老板埃隆·馬斯克在線“八角籠”約架,引發關注。據外媒報道,馬斯克24日在推特上與一位作家互動時再次提及此話題,他表示,如果真與扎克伯格決斗,他將開始訓練。
6月25日,據36氪報道,源自光年之外內部知情人士的消息稱,光年之外聯合創始人王慧文近期遭遇個人健康問題,經診斷后目前已離崗就醫。知情人士進一步透露稱,王慧文5月中出現一些健康問題,疑現抑郁類癥狀。原美團 HRD 賴斌強在朋友圈表示,其正陪王慧文在醫院,并表示請大家放心,接下來一段時間需要遵醫囑靜養和恢復,一...
6月12日消息,今年4月,小米9號創始員工李明宣布創業進軍AI,成立樂天派公司,擔任公司CEO。同時宣布即將推出首款產品“樂天派桌面機器人”,這是面向極客和發燒友的一款AI+機器人的桌面小型機器人。
據報道,OpenAI警告微軟在將GPT-4整合到其必應搜索引擎上時動作慢一點,以避免其推出的反應不準確和不可預測。OpenAI團隊警告說,過早推送基于未發布的GPT-4版本的聊天機器人會帶來負面的風險。
此前,OPPO自研芯片公司哲庫科技(ZEKU)宣布解散,芯片圈、手機圈都沒察覺到任何征兆,連自家員工都感到意外:“出差回來,沒想到一回來(公司)就沒了?!币粋€月后,哲庫竟然傳出“復活”消息。
6月14日消息,據印媒報道,印度政府再度向包括小米、OPPO、vivo、realme 等在內的中國手機品牌提出要求:在印度運營的中國手機品牌,應當任命印籍人士擔任首席執行官、首席運營官、首席財務官和首席技術官等高管職位。另據報道,印度政府同時還提出要求,中國手機廠商需將制造合同委托給印度公司,并讓當地企業參與手機制造...
據媒體報道,從產業鏈人士處獲悉,華為近期已上調 2023 年手機出貨量目標至 4000 萬部,而華為年初將這一目標設為 3000 萬部級別。市場研究機構 Omdia 數據顯示,2022 年華為手機出貨量為 2800 萬部。產業鏈人士稱,這意味著,華為對 2023 年公司手機出貨行情有信心。
近日,博世中國總裁陳玉東在中國汽車藍皮書論壇上發表言論稱:“汽車廠商做手機是吃飽了沒事干,汽車企業千萬別做手機,把汽車企業做好就很好了,在汽車產業深挖。同時,陳玉東還指出:汽車和手機是完全不一樣的數量級?,F在汽車行業很難做,把汽車做到一年 100 萬輛的銷量,就已經是非常艱難且了不起的事情。而這 100 萬輛...
6月29日消息,近日,網上熱傳凱迪拉克汽車贊助的綜藝節目中,演員黃景瑜在車內夸贊理想L9車型,引發網友熱議。網友紛紛表示,“凱迪拉克這波有格局”、“凱迪拉克大氣”。隨后,理想汽車CEO李想與凱迪拉克官方進行互動表示,一路前行。凱迪拉克的微博配圖卻暗藏玄機:圖片中的車內視角,后視鏡上是一輛理想品牌車型。
蘋果于本周正式推送了iOS16.5.1系統更新,這個更新帶來了一個新的問題:部分機型用戶的電池更不耐用了。博主iAppleBytes近日測試了幾款iPhone升級iOS16.5.1后的耗電狀況,包括iPhone 8、iPhone 11、iPhone 12、iPhone 13、iPhone XR、iPhone SE 2。除了iPhone SE 2的電池健康度為86%以外,其余幾款都在90%以上。
據外媒報道,印度負責打擊金融犯罪的機構已于11日,向中國手機廠商小米科技在印度的分公司、公司負責人及三家銀行發出正式通知,稱印度指控他們非法向國外轉移資金、涉嫌違反“外匯管理法”。該機構說,三家銀行之所以收到通知,是因為它們涉嫌在未進行盡職調查和獲取必要文件的情況下,允許作為專利費支付的境外匯款。
根據公開資料顯示,2022 年278家標準普爾500指數公司的年度薪酬(即工資、獎金和福利)增幅高于 2021 年。META向員工支付的工資中位數約為 30 萬美元,排名第二,位居美國科技巨頭首位。
近日,兩名消息人士表示,谷歌已敦促印度最高法院撤銷針對其濫用 Android 市場地位的反壟斷指令。
6月14日,有媒體報道稱,阿里巴巴集團業務分拆后,集團公關部也將計劃獨立成為一家公關公司。消息稱,這家公關公司將會是獨立的企業組織,與阿里集團沒有隸屬關系,不過第一個服務客戶就是阿里。
6月13日消息,一位接近英偉達的人士稱,字節跳動目前已經到貨和沒到貨的 A100 與 H800 加速卡總計有 10 萬塊。其中 H800 今年 3 月才開始投產。據媒體透露,僅字節跳動一家公司今年的訂單可能已接近英偉達去年在中國銷售的商用 GPU 總和。
6月20日消息,工信部政務服務平臺網站出現了蔚來手機的身影,蔚來手機已于 2023 年 6 月 19 日通過了工信部無線電核準。
6月13日,筆神作文發布“關于‘學而思’ AI大模型侵權事件的聲明”。聲明稱,4月13日至17日,學而思通過“爬蟲”技術非法訪問、緩存筆神作文APP服務器數據多達258萬次。嚴重侵犯了筆神作文APP的數據權益。
近日,在S14杭長宜高速上,一輛貨車變道時錯誤估計后方正常行駛的理想L9車距,最終造成了追尾事故。在民警的進一步調查時發現,理想L9當時正在使用自動輔助駕駛系統,以120km的時速行駛,已經超出自動緊急制動的工作范圍8-100km/h,系統并未自動采取制動措施。
近日,蔚來汽車宣布調整車主權益并全系降價3萬元的消息引起車圈熱議。對此,蔚來創始人、董事長、CEO 李斌在車主溝通會上回應表示,此次調整是將服務價值顯性化,把選擇權交給用戶,讓用戶完全根據需求進行購買。
近日,據多家媒體報道鬧得沸沸揚揚的福特裁員傳聞終于坐實了,福特亞太研究院正式開啟裁員行動。為了防止有突發情況,安排安保工作人員進行秩序維護。