Netflix使用React製作高效能電視使用者介面
The Netflix Tech Blog: Crafting a high-performance
在2015年,我們開始對電視UI架構進行批次重寫和現代化。 我們決定使用React,因為它對UI開發的單向資料流和宣告式方法使得我們的應用程式更容易符合邏輯。
顯然,我們還是需要我們自己的React味道,因為那時它只針對DOM。 我們能夠建立一個原型Gibbon。 這個原型最終演變成React-Gibbon,我們開始著手構建新的基於React的UI。
React-Gibbon的API對於任何使用React-DOM的人都是非常熟悉的。 主要的區別是,沒有div,spans,inputs等,而是單一的“widget”繪圖原語,其支援內聯樣式。
React.createClass({ render() { return <Widget style={{ text: 'Hello World', textSize: 20 }} />; } }); <p class="indent"> |
效能是一個關鍵挑戰
我們的應用程式執行在數百種不同的裝置上,從最新的遊戲機,如PS4 Pro到各種只有有限的記憶體和處理能力的消費電子裝置 。 低端機器通常只有sub-GHz的單核CPU,低記憶體和有限的圖形加速。 為了使事情更具挑戰性,我們的JavaScript環境是一箇舊的JavaScriptCore的非JIT版本。 這些限制使超級響應60fps體驗特別棘手,在驅動React-Gibbon和React-DOM之間就存在許多差異。
測量,測量,測量
在接近效能最佳化時,重要的是首先確定將用於衡量您努力的成功指標。 我們使用以下指標來衡量整體應用程式效能:
鍵輸入響應性 - 響應按鍵操作而修改介面呈現所需的時間
互動時間 - 啟動應用程式的時間
每秒幀數 - 我們動畫的一致性和平滑性
記憶體使用情況
...
Netflix在文章中介紹了改進關鍵輸入響應性的幾個辦法。其它提高效能方面:
自定義複合元件 - 為我們的平臺進行了超最佳化
預安裝螢幕以提高感知的過渡時間
列表中的元件池
昂貴的計算的記憶
構建可以在各種裝置上執行的Netflix TV UI體驗是一個有趣的挑戰。 Netflix在團隊中培養以績效為導向的文化,並不斷努力改善每個人的體驗,無論使用者使用Xbox One S,智慧電視還是流媒體棒等。
相關文章
- 短視訊app製作,附近功能通過使用者IP地址確定位置APP
- 使用smartBI製作電子表格的步驟
- Netflix豪賭互動劇:正製作十餘部作品
- TunePat Netflix Video Downloader——Netflix視訊工具IDE
- IOS使用Launch Screen.storyboard製作廣告啟動介面iOS
- React 回憶錄(三)使用 React 渲染介面React
- 基於MaxCompute構建企業使用者畫像(使用者標籤的製作)
- HTML5 video視訊字幕的使用和製作HTMLIDE
- 揭祕《Sherman》:使用Unity製作影視級光照效果Unity
- React製作個人部落格小結React
- React製作全域性Tooltip文字提示元件React元件
- 非洲付費電視使用者達4600萬
- 如何使用Akka Serverless製作電子商務應用?Server
- svg製作及使用SVG
- SeleniumBase 製作WEB使用者使用導覽,並匯出 JS-使用筆記(三)WebJS筆記
- PPT製作電視螢幕播放圖片滾動動畫教程動畫
- Netflix:《驚天營救》首月近億使用者觀看
- 實戰react技術棧+express前後端部落格專案(7)– 前端管理介面使用者檢視功能+後端對應介面開發ReactExpress後端前端
- Netflix財報:2022年Q1 Netflix平臺流失大約20萬訂閱使用者
- 資料顯示Netflix 70%視訊流量源於網際網路電視
- 如何製作動態圖,GIF怎麼在電腦上製作
- QQ使用者登陸介面
- 26 使用者圖形介面
- CSS使用者介面樣式CSS
- React 小案例 使用者評論React
- Ampere:Netflix此次降價影響超過1000萬使用者
- Netflix個人化推薦系統,讓每個使用者看到不一樣的電影海報
- JW Player:75%的電視和電影廣播公司將使用者參與視為重中之重
- 【電子沙漏】製作相關例程
- 網店logo自己製作,電商產品圖片如何快速製作Go
- Netflix財報:2019年Q4 Netflix美國訂閱使用者增長55萬 不及預期
- 酷雲互動:泛北京電視使用者行為指南
- Edison 等公司如何監視使用者的電子郵件
- Ampere:2029年亞太地區將佔Netflix使用者的20%
- MimoLive for Mac視訊直播製作軟體Mac
- MimoLive for Mac(視訊直播製作軟體)Mac
- 視訊後期製作Premiere Pro 2022REM
- express製作小型熱載入打包webpack--react篇ExpressWebReact
- AndroidStudio製作歡迎介面與應用圖示Android