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,智慧電視還是流媒體棒等。
相關文章
- 使用Gitbook製作電子書Git
- 使用smartBI製作電子表格的步驟
- 短視訊app製作,附近功能通過使用者IP地址確定位置APP
- 收費視訊網站Netflix:使用者到底想要“點”什麼?網站
- 視訊網站想成長?先學會複製傳統電視介面網站
- IOS使用Launch Screen.storyboard製作廣告啟動介面iOS
- 使用Arduino開發板製作交流電壓表UI
- PPT製作電視螢幕播放圖片滾動動畫教程動畫
- 如何使用Akka Serverless製作電子商務應用?Server
- React 回憶錄(三)使用 React 渲染介面React
- 真正優秀的使用者介面會被無視!
- React製作全域性Tooltip文字提示元件React元件
- React製作個人部落格小結React
- React 是一個用於構建使用者介面的 JAVASCRIPT 庫ReactJavaScript
- iOS製作電子簽章iOS
- 電子書製作軟體
- LRG:資料顯示美國網際網路電視使用者已超過傳統有線電視使用者
- Gleacher:iTunes電視/電影租賃業務規模佔Netflix10%
- 如何製作 Uber 啟動開屏介面
- 如何製作動態圖,GIF怎麼在電腦上製作
- HTML5 video視訊字幕的使用和製作HTMLIDE
- svg製作及使用SVG
- SecondSync:使用者分享當下 電視與社交
- 高效能 React 元件React元件
- 【電子沙漏】製作相關例程
- Taro,作為React開發者,使用感受React
- 使用DotNetBar製作漂亮的WinFrom介面,自定義AgileEAS.NET SOA平臺WinClient主介面client
- KDE:Candy Crush製作商遊戲付費使用者僅4%遊戲
- Python應用03 使用PyQT製作視訊播放器PythonQT播放器
- 資料顯示Netflix 70%視訊流量源於網際網路電視
- 實戰react技術棧+express前後端部落格專案(7)– 前端管理介面使用者檢視功能+後端對應介面開發ReactExpress後端前端
- 實戰react技術棧+express前後端部落格專案(7)-- 前端管理介面使用者檢視功能+後端對應介面開發ReactExpress後端前端
- 使用Unity製作遊戲AIUnity遊戲AI
- 使用GSAP製作動畫影片動畫
- 電腦製作excel表格全步驟 excel製作表格的步驟教程Excel
- 蘋果mac電腦如何製作win10系統啟動盤_蘋果電腦使用bootcamp製作windows10啟動盤的方法蘋果MacWin10bootWindows
- SeleniumBase 製作WEB使用者使用導覽,並匯出 JS-使用筆記(三)WebJS筆記
- TunePat Netflix Video Downloader——Netflix視訊工具IDE