精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

"零"學習成本:使用 Web 標準開發動態化 Flutter 應用

開發 開發工具
Kraken 是由淘系技術部前端架構團隊開發的一個基于 Flutter 的動態化框架,本文將帶大家了解和認識 Kraken,分享 Kraken 的一些設計思想以及 Flutter 和 Web 技術對接的實踐。

Kraken 是由淘系技術部前端架構團隊開發的一個基于 Flutter 的動態化框架,本文將帶大家了解和認識 Kraken,分享 Kraken 的一些設計思想以及 Flutter 和 Web 技術對接的實踐。

什么是 Kraken?

Kraken 項目誕生于 2018 年底,當時團隊參與"未來店"的項目,需要提供一套電子貨架屏的解決方案,用于展示商品信息、實時價格甚至是促銷信息。Kraken 的目標是建立一套面向 IoT 的動態渲染解決方案,從最初的 GCanvas API 到使用 TS 實現完整的 Flutter Framework 再到目前的方案,技術方案上我們經歷了多次的的徹底重構,才實現了目前這一套相對滿意的方案——基于 Rax 和 Flutter 的動態化框架。

在今年的前端社區 Flutter 一直是個非常熱門的話題,在集團內部也已經有好幾個團隊吃上了螃蟹。作為一個熱門的跨端渲染框架,與現有主流方案(Weex/React Native)相比,它最大的差異是基于自繪特性很好的解決了多端一致性的問題。同時 Flutter 還具有一個精簡的渲染管線,提供了高效的局部更新、布局及渲染算法,在長列表等場景下性能也絲毫不弱于 Android/iOS 原生渲染。

Tips:這是一篇 Kraken 的介紹文章,幫助你了解和認識 Kraken,所以這里不會太多的講述實現原理和方案。

可使用以下命令安裝 Kraken Cli:

$ npm i @kraken-project/cli -g

基于 Flutter 的動態化框架

阿里尤其是淘寶,作為一家以電商主導的公司,業務上對 App 內容動態化的需求由來已久。無論是業務的快速迭代,還是修復線上問題,只有兩個基本思路:

  • 縮短客戶端發版的周期
  • 通過云端下發的方式實現業務邏輯的動態更新

而 App 版本的發布本身鏈路比較長,有時還會受到一些不可抗力因素的制約,就算上架了用戶側的更新率又是一個問題,所以通過動態化進行內容的更新幾乎成了 App 的剛需。

Flutter 官方并沒有提供動態化的解決方案。社區中也有不少 Flutter 動態化探索的先驅,方案也是五花八門,Kraken 使用了一套 JS Engine 抽象層來解決邏輯動態下發執行的問題。Dart 與 JS 處于兩個獨立的上下文,好在 JS 引擎有成熟的與 C++ 通信的方案,Kraken 借助 Dart FFI (Foreign Function Interface) 實現了 JS 與 Dart 之間的高效雙向通信,與傳統方案相比路徑更短,傳輸效率更高,而且不需要對 Flutter Engine 進行定制改造。

"零"學習成本

1 W3C 標準規范 (標簽/樣式/DOM)

萬物基于互聯網,而 W3C 標準是互聯網中最重要的標準。為了解放開發者,Kraken 直接使用 W3C 標準規范進行開發,這樣可以讓業務同學"零"學習成本就可以上手 Kraken 的開發,同時使用 Web 技術開發的應用也能很容易地遷移到 Kraken 上。

TodoMVC 的例子

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/todomvc/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/todomvc/build/web/index.html

??

??

 

TodoMVC@Kraken

??

??

 

TodoMVC@Web

2 對接前端生態: 100W+ npm 包

受益于世界上最活躍的開發者群體——Web 開發者,以及龐大的前端生態體系,Kraken 允許開發者使用社區中已有的 100W+ npm 包來幫助業務提升開發效率,以下面一個視頻為例,示例應用復刻了 anime.js 這個社區 JS 動畫引擎的官方示例,運行在 Kraken 中的效果與瀏覽器完全一致。

Animation 的例子 (使用 anime.js)

原版示例:https://codepen.io/juliangarnier/pen/dwKGoW

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/animation/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/animation/build/web/index.html

??

??

 

Animation@Kraken

??

??

??

??

 

Animation@Web

同時在阿里內部,Rax 是無線開發的首選框架,Kraken + Rax 的組合也使得業務的開發效率更上一層樓。

3 成熟的前端配套開發工具

工欲善其事,必先利其器。高效的開發除了需要熟練的開發者外,還需要合適的開發工具。同樣受益于擁抱 W3C 標準,Kraken 項目的開發與前端項目的開發完全一致,你可以使用 VSCode、WebStrom 進行代碼的編寫,使用代碼提示和 ESLint 規則檢測來保證代碼質量,使用 jest 等單元測試工具來,使用 webpack 進行代碼的打包等等。

在集團內部,Rax 為開發者準備好了所有的開發套件。

4 友好的調試環境 (Devtools 斷點調試)

調試方面,Kraken 支持了實時的 JS 斷點調試,支持 sourceMap 方便快速定位源碼位置。支持自動熱重載 HMR,調試上除了暫未實現節點樹調試外,與瀏覽器的開發體驗是完全一致的。接下來我們也將盡快補充支持 Element 盒模型高亮和節點樹調試的能力。

??

??

 

超越 Web 的體驗

作為一個實現了 W3C 標準的渲染引擎,被拿來與瀏覽器相比較是合乎常理的。不可否認的是目前主流瀏覽器,在渲染性能上并不差,但是由于歷史包袱,它的交互體驗被人所詬病。交互體驗的問題主要體現在不受控交互、異步光柵化、厚重的布局邏輯等方面。

1 交互受控

受控的交互體驗其實是體驗的關鍵,在瀏覽器中有很多備受前端開發者困擾的問題,如:

  • 父層元素帶有的默認行為滾動引起的滾動穿透問題
  • 無線 Web 頁面下 click 事件默認 300ms 延遲的問題

Kraken 就不存在這些影響體驗的問題,如下例子:

Draggable List 的示例 (使用 react-motion)

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/dragable-list/build/kraken/index.js

使用瀏覽器打開 Web 版本(注意需要切換到手機模擬器模式以啟用觸摸事件):https://g.alicdn.com/kraken/kraken-demos/dragable-list/build/web/index.html

??

??

 

Draggable List@Kraken

 

 


 

??

??

 

Draggable List@Web

2 同步光柵化

在瀏覽器中,光柵化是異步進行的,進行慣性滾動時,會出現白屏,這個是 WebView 始終無法避免的問題。而借助 Flutter 足夠高效的同步光柵化實現,Kraken 可以做到長列表快速滾動不白屏。

長列表滾動示例

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/long-list/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/long-list/build/web/index.html

3 比瀏覽器更快的布局邏輯

為了達到更快的渲染鏈路,我們摒棄了樣式繼承等一些不高效的渲染特性,使得在 Kraken 中不需要頻繁的重排重繪以及層層回溯查找樣式,所以理論上 Kraken 能夠做到比瀏覽器更快的渲染速度。

4 更多原生能力的支持

除了標準的 Web 組件、API,Kraken 根據實際業務場景定制了一些高級能力,比如 Camera 標簽、AnimationPlayer(Flare) 動畫標簽等等。未來我們也會持續定制和擴展這些高級能力,滿足日益豐富的交互場景。

Flare 動畫的示例

Demo:

kraken https://gw.alicdn.com/bao/uploaded/TB1ym1pzHH1gK0jSZFwXXc7aXXa.js

 

 


 

??

??

 

更多與 Web 對比的示例

1 Granule (離子運動)

Kraken 與 Web 效果一致且同時達到 60 FPS。

Granule 示例

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/granule/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/granule/build/web/index.html

??

??

 

Granule@Web

2 Hello-Rax (Rax 官方示例應用)

Hello-Rax 示例

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/hello-rax/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/granule/build/web/index.html

??

??

 

3 富文本示例

富文本示例

Demo:

kraken https://g.alicdn.com/kraken/kraken-demos/richtext/build/kraken/index.js

使用瀏覽器打開 Web 版本:https://g.alicdn.com/kraken/kraken-demos/richtext/build/web/index.html

 

??

??

 


RichText@Kraken

 

 

 

??

??

 


RichText@Web

 

 

更多功能

多引擎

目前最新的 0.3.0 版本中,我們同時支持了 V8 + JavaScriptCore 雙 JS 引擎的適配,由于 JSA 抽象層的存在,接入新的 JS 引擎也是非常容易的事情。

易調試

JSC 模式下,可以直接使用 macOS 自帶的 safari 調試能力對運行時代碼進行斷點調試;V8 下,我們提供了 Chrome DevTools 調試的能力;讓你的業務開發體驗更上一層樓。

多平臺適配

憑借 Flutter 自身優秀的跨平臺能力,Kraken 適配了 Android、iOS、macOS、Linux... ,真正做到一次開發,多端運行。

下一步

穩定的渲染引擎是我們的第一步,為了將基礎打扎實,我們已經提供了近千個瀏覽器渲染能力的測試用例,并在持續增長中。

接下來,我們會在智能硬件的場景下持續投入,包括與 IoT 團隊合作探索線上線下互動的大屏業務場景等等。Kraken 會提供一系列標準化的 API,滿足智能硬件場景的能力需求。

當然,借著 Flutter 在移動端設備上的東風,我們也在探索 Kraken C 端落地的場景。

【本文為51CTO專欄作者“阿里巴巴官方技術”原創稿件,轉載請聯系原作者】

 

??戳這里,看該作者更多好文??

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2019-11-25 11:20:08

FlutterWeb應用軟件開發

2013-04-10 11:15:57

iOS動態添加按鈕iOS開發

2011-03-01 09:23:47

移動Web應用開發成本

2023-05-24 08:00:00

2025-02-17 07:20:00

Flutter 3Flutter開發

2022-03-15 08:00:00

Flutter開發工具

2011-03-11 14:07:51

Ubuntu 11.0

2011-09-02 16:42:51

Sencha ToucWeb應用

2010-04-14 12:51:04

Oracle動態

2023-05-26 00:14:38

PythonJinJa2

2011-08-17 15:10:21

iPhone開發Web視圖

2010-11-17 12:59:52

2020-09-28 15:13:04

鴻蒙

2020-11-09 11:56:49

HarmonyOS

2011-07-19 09:58:36

2011-09-08 17:48:33

Web Widget

2011-07-19 09:46:38

2009-10-19 09:15:05

移動Web開發

2016-11-28 09:19:27

點贊
收藏

51CTO技術棧公眾號

国产夫妻在线| 亚洲国产成人精品激情在线| 四虎精品一区二区免费| 亚洲精选视频在线| 快播亚洲色图| 一级片在线观看视频| 欧美日韩午夜| 国产午夜精品一区理论片飘花| 最新免费av网址| 黄色激情在线播放| 亚洲日本在线视频观看| 久久国产精品 国产精品| 中文字幕 国产| 亚洲第一毛片| 久久亚洲国产成人| japanese中文字幕| 成人直播在线观看| 欧美夫妻性生活| 欧美—级高清免费播放| 亚洲午夜福利在线观看| 欧美精品三级在线| 欧美在线观看18| 国产精品无码av在线播放| 欧美18一19xxx性| 久久综合狠狠综合久久综合88 | 最新黄色网址在线观看| 久久婷婷综合国产| 手机在线观看av| 亚洲欧美一区二区不卡| 日韩亚洲欧美精品| 四虎影视2018在线播放alocalhost| 国产原创一区二区| 国产精品一区久久久| 一级片免费网址| 欧美激情1区| 久久精品亚洲精品| 亚洲毛片亚洲毛片亚洲毛片| 色老板在线视频一区二区| 精品久久久久久最新网址| 亚洲小视频网站| 粉嫩91精品久久久久久久99蜜桃| 欧美午夜女人视频在线| 加勒比成人在线| 日韩av毛片| 一区二区三区精品在线| avove在线观看| 男人天堂久久久| 国产精品久久久久一区二区三区 | 美女久久久久久久久久| 亚洲va电影大全| 国产在线观看成人| 欧美日本中文| 欧美激情精品久久久久久变态| 艳妇荡乳欲伦69影片| 99久久www免费| 久久精品国产欧美亚洲人人爽| 国产一级淫片久久久片a级| 精品国产一区二区三区小蝌蚪 | 亚洲一区制服诱惑| a天堂中文在线观看| 极品美女销魂一区二区三区免费| 成人精品久久av网站| 国产精品久久久久久69| 国产一区二区视频在线播放| av噜噜色噜噜久久| 天堂av一区二区三区| 六月天综合网| 国产精品视频精品视频| 一区二区的视频| 国产精品一二三在| 国产久一道中文一区| 九九热国产视频| 激情综合亚洲| 欧美又大又硬又粗bbbbb| youjizz在线视频| 免费观看日韩电影| 亚洲精品免费网站| 欧洲精品久久一区二区| 久久久久久黄色| 亚洲一区三区| 久久亚洲资源| 日韩欧美精品免费在线| 三上悠亚av一区二区三区| 国产日韩亚洲欧美在线| 色婷婷av一区二区三区之红樱桃 | av在线免费播放网址| 91精品国偷自产在线电影| 久久久久久久999精品视频| 波多野结衣视频网站| 欧美aⅴ一区二区三区视频| 91在线观看免费网站| 黄色一级大片在线免费看国产| 久久综合成人精品亚洲另类欧美| 亚洲图片欧洲图片日韩av| 里番在线播放| 欧美在线视频你懂得| 国产5g成人5g天天爽| 欧美在线导航| 日韩专区在线观看| 日韩经典在线观看| 精品在线视频一区| 久久99久久99精品蜜柚传媒| 尤物视频在线免费观看| 午夜电影网亚洲视频| 玖玖爱视频在线| 久久综合五月婷婷| 久久久成人精品视频| 日韩女优在线观看| 国产在线精品一区二区夜色| 久久久免费看| 伊人福利在线| 欧美日韩精品系列| 亚洲乱码国产乱码精品精大量 | 欧美亚洲日本一区二区三区| 日韩成人精品一区二区三区| 亚洲裸体xxxx| 日韩免费av片| 国产在线观看免费一区| 欧美自拍资源在线| a国产在线视频| 欧美一区二区视频在线观看 | 国产精品91久久久| 欧日韩在线视频| 亚洲乱码中文字幕| 亚州精品一二三区| 美女毛片一区二区三区四区最新中文字幕亚洲| 日韩视频免费观看| 色综合色综合色综合色综合| 国产一级一级国产| 狠狠色丁香久久婷婷综合_中 | 欧美丰满日韩| 国产福利精品av综合导导航| 天堂中文在线8| 亚洲国产精品自拍| 中文字幕一二三区| 91成人国产| 国产在线久久久| a天堂在线资源| 欧美最新大片在线看| 亚洲第一成人网站| 蜜桃伊人久久| 欧美二区三区在线| 久久男人天堂| 日韩精品中文字幕在线播放| 国产福利拍拍拍| 不卡的av电影| 啊啊啊一区二区| 欧美自拍视频| 国产mv免费观看入口亚洲| 色吊丝在线永久观看最新版本| 亚洲国产aⅴ成人精品无吗| 9191在线视频| 亚洲人人精品| 欧美三级网色| 国产欧美自拍| 久久天堂电影网| hs视频在线观看| 亚洲va天堂va国产va久| 人妻 日韩 欧美 综合 制服| av成人黄色| 69av成年福利视频| 天堂av在线免费| 调教+趴+乳夹+国产+精品| 日本黄色录像片| 午夜综合激情| 亚洲欧洲精品在线| 成人av在线播放| 九九综合九九综合| 五月色婷婷综合| 在线观看国产一区二区| 永久免费看片视频教学| 国产不卡视频一区二区三区| 欧美黑人经典片免费观看| 久久99国产精品视频| 国产一区欧美二区三区| 色女人在线视频| 日韩精品极品视频| 中文字字幕在线中文乱码| 亚洲女同女同女同女同女同69| 人妻精油按摩bd高清中文字幕| 视频一区在线免费看| 日韩国产欧美三级| 国产欧美一区二区三区不卡高清| 91精品论坛| x99av成人免费| 日本激情一区二区| 欧美亚洲丝袜传媒另类| 久久久久久久久97| 久久精品在线免费观看| 五月天婷婷在线观看视频| 日韩一级免费| 伊人久久大香线蕉av一区| 国产精品zjzjzj在线观看| 国产精品成人久久久久| 日本不卡影院| 国产一区二区三区网站| 国产草草影院ccyycom| 一本大道久久a久久综合婷婷| 五月天色婷婷丁香| 91丝袜国产在线播放| 在线播放免费视频| 日韩电影免费在线看| 国产免费裸体视频| 久久高清精品| 久久精品一区二区三区不卡免费视频| 日韩有码欧美| 欧美一区三区三区高中清蜜桃| 超碰在线免费播放| 一区二区三区无码高清视频| 欧美一级淫片aaaaaa| 欧美二区三区91| 无码视频在线观看| 亚洲国产va精品久久久不卡综合| 大地资源高清在线视频观看| 久久在线免费观看| 性猛交╳xxx乱大交| 精东粉嫩av免费一区二区三区| 日本成年人网址| 亚洲韩日在线| 97超碰国产精品| 久久久久电影| 性欧美大战久久久久久久免费观看| 国产精品99久久免费观看| 91理论片午午论夜理片久久| 丁香婷婷久久| 国产成人亚洲综合91| 亚洲天堂av在线| 久久久久久美女| 中文字幕中文字幕在线十八区 | 最近中文字幕免费| 99国产精品久| 久久久久亚洲AV成人无码国产| 国产精品一区二区免费不卡| 性欧美在线视频| 激情综合网激情| 国产福利精品一区二区三区| 蜜桃久久精品一区二区| 91日韩久久| 国产情侣在线视频| 亚洲日本青草视频在线怡红院| 亚洲午夜精品久久久久久高潮| 久久天堂av综合合色蜜桃网| 中文字幕在线播放一区| av中文字幕不卡| 国产xxxxxxxxx| 97久久久精品综合88久久| 好吊色视频一区二区三区| 成人av电影在线网| av无码av天天av天天爽| 91麻豆精品一区二区三区| 中文字幕xxx| 久久久99精品久久| 先锋影音av在线| 国产精品五月天| 九九精品视频免费| 一区二区三区在线免费播放| 精品无码久久久久久久久| 亚洲成a人v欧美综合天堂下载| 日韩av片在线播放| 91久久精品日日躁夜夜躁欧美| 成人一二三四区| 欧美日韩视频一区二区| 国产精品怡红院| 热久久免费视频| 日本网站在线看| 成人精品国产一区二区4080| 日韩 中文字幕| 国产精品免费视频网站| 我要看一级黄色录像| 亚洲一区免费视频| 欧美在线观看不卡| 欧美日韩精品一区二区在线播放| av中文字幕播放| 日韩第一页在线| 在线观看a视频| 欧美极品少妇xxxxⅹ裸体艺术| 伊人久久av| 国产综合色香蕉精品| 在线观看视频一区二区三区| 精品中文字幕一区| 日韩精品不卡一区二区| 国产黄色激情视频| 久久99伊人| 中文字幕一区二区在线观看视频 | 久国产精品韩国三级视频| 91精品国产高清91久久久久久| 99久久精品国产精品久久| 国产精品一二三区在线观看| 亚洲人成影院在线观看| 在线观看黄网站| 制服丝袜成人动漫| 欧洲一区av| 欧美精品生活片| 日本高清不卡一区二区三区视频| 成人在线中文字幕| 色哟哟精品丝袜一区二区| 亚洲欧美日韩不卡| 性欧美videos另类喷潮| 欧美三级乱人伦电影| 26uuu成人网| 色婷婷av一区二区三区之一色屋| 国产伦精品一区二区三区视频痴汉| 日韩av在线高清| 宅男网站在线免费观看| 国产精品狼人色视频一区| 国产精品色呦| 亚洲免费视频播放| 日韩av电影免费观看高清完整版| 最新版天堂资源在线| 中文字幕亚洲成人| 天天干天天操天天爱| 欧美精品一区二区蜜臀亚洲| 日本免费中文字幕在线| 热re91久久精品国99热蜜臀| 91成人在线精品视频| 一本一道久久a久久精品综合 | 香蕉视频国产精品 | 国产做a爰片久久毛片| xxxxx在线观看| 欧美日韩性视频在线| 亚洲av综合色区无码一二三区| 色综合伊人色综合网站| 竹内纱里奈兽皇系列在线观看| 国产在线欧美日韩| 在线欧美福利| av电影中文字幕| 亚洲日本青草视频在线怡红院| 亚洲系列第一页| 最新91在线视频| 国产成人精品一区二区三区免费| 麻豆成人av| 香蕉久久夜色精品| 日韩一级视频在线观看| 天天爽夜夜爽夜夜爽精品视频| 欧美在线 | 亚洲| 国内偷自视频区视频综合| a看欧美黄色女同性恋| 日韩精品在线中文字幕| 国产宾馆实践打屁股91| 国产亚洲精品久久久久久打不开 | 精品国产鲁一鲁一区二区张丽| 午夜精品久久久久久久99热黄桃 | xfplay精品久久| 欧美一级特黄视频| 亚洲人午夜色婷婷| 日本肉肉一区| 杨幂一区欧美专区| 国产在线不卡一区| 久久久无码精品亚洲国产| 亚洲第一视频网站| 午夜不卡影院| 日韩欧美在线一区二区| 日本免费新一区视频 | 亚洲国产美国国产综合一区二区| 国内老熟妇对白xxxxhd| 欧美麻豆久久久久久中文 | 国产精品麻豆一区| 精品视频在线视频| 成人在线app| 超碰97在线播放| 宅男噜噜噜66国产日韩在线观看| 亚洲欧美日本一区| 在线观看亚洲a| 国内外激情在线| 国产精品国产精品国产专区蜜臀ah| 亚洲黄色在线| 无码h肉动漫在线观看| 欧美色图片你懂的| 26uuu亚洲电影在线观看| 国产日本一区二区三区| 久久午夜电影| 日韩精品一区二区亚洲av性色| 日韩视频一区二区三区| www.youjizz.com在线| 欧美综合激情| 久久99精品久久久久久| 久久9999久久免费精品国产| 亚洲美女又黄又爽在线观看| 欧美视频免费看| 搞av.com| 国产精品欧美久久久久无广告| 国产特级aaaaaa大片| 欧美性受xxxx黑人猛交| 欧美mv日韩| 男女黄床上色视频| 在线成人小视频| 成年美女黄网站色大片不卡| 一区二区三区四区不卡| av中文字幕亚洲| 国产精品久久久久久久久久久久久久久久久久 | 国产欧美精品在线观看| www.热久久| 国产精品高清在线观看| 国内揄拍国内精品久久| www久久久久久久| 亚洲国产欧美日韩精品| 成人豆花视频| av免费网站观看| 亚洲国产精品久久不卡毛片| 91caoporn在线|