怎麼評價 Facebook 的 Relay 框架?

這個框架有什麼優缺點,是否能使用在項目上?

相關鏈接:

facebook/relay · GitHub

Relay | A JavaScript framework for building data-driven React applications


唉,我說實話吧,一開始很期待,看了以後很失望,但同時又有點高興的感覺。

期待是因為之前吹得很厲害,感覺可以讓前後台數據通信一勞永逸了;

失望是因為看了看實例代碼,用起來真不是一般的麻煩:relay/MarkAllTodosMutation.js at master · facebook/relay · GitHub 一個 TodoMVC 你能給我整出這麼複雜的 mutation 來,大型應用我要去撞牆了。

有點高興是因為和 Relay 比起來,Meteor 實在是太好用了。

P.S. 即將發布的 Meteor 1.2 有官方 React 整合。


感覺沒Meteor好用呀



剛剛發布Dev preview 應該還不是production ready,但是就react conf上的介紹,好壞還比較明顯


好:

  • 由前端data driven, component 的數據既api
  • 各個 component 自己決定自己的數據的長相(shape),而不是由父 component 層層傳進去
  • query 的結構就是期望形狀的數據,無需 model 層

壞:

  • 雖然不是複雜的ql,但是還是ql
  • 無緣無故多了一層graphql server
  • 看到 schema 出現我已經瞎了


相比而言我跟喜歡與其類似的 netflix的falcor ,基本思想類似,由前端決定數據形狀,同樣是 dev preview 版本,試用了還不錯,至少不是QL,而且 falcor server 來聚合 micro services 的數據也不會顯得多餘。 附上自己試寫的 todomvc 例子 jcouyang/react-falcor · GitHub (WIP)


好消息!

Facebook 重寫 React 和 Relay 框架,旨在提升性能!

Facebook 已完全重寫用於構建用戶界面的 React 框架。新的項目名稱為 React Fiber,其在公布之前就已在 http://Facebook.com 運行使用。現在,Facebook 將此項目公示,並計劃在今年推出 React 16.0 之後將它向開發者開放。

同時,Facebook 也表示已重寫 React 的數據驅動框架 Relay。

React Fiber

React Fiber 包含 React 最初的開發理念,也兼容現有的基於 React 的應用程序。Facebook 將其作為 React 框架未來改進和功能開發的基礎。

關於為何重寫 React 的問題,React 核心開發團隊的 Ben Alpert 說道:「這並不代表舊代碼存在問題,而是我們希望從一個新起點開始,繼續往前發展。」這意味著新代碼從一開始就是可擴展的。Alpert 強調,重寫後的框架會帶來一些突破性的變化,強大的 API 合約將給項目的更新帶來靈活性。

Relay Modern

Relay 的重寫主要在其性能和可擴展性。Relay 將 React 與 Facebook 的 GraphQL 查詢語言結合起來成就了 Relay Modern,它旨在推動 Relay 的理念,並克服原始設計的一些限制,即簡化設計以提供框架整體性能。

Relay Modern 保留了 Relay 的最佳部分:

  • 共同定位的數據和視圖定義
  • 聲明式數據提取

同時:

  • 簡化 API
  • 增加新功能
  • 簡化框架大小以提升性能等

Facebook 表示,當他們將 Facebook 應用程序中的 Marketplace 選項卡從「Relay」轉接到「Relay Modern」時,Android 上交互的時間平均提高了 900ms,使應用程序的響應更敏捷。

原文:techcrunch

編譯:開源中國

相關鏈接

  • ReactJS 的詳細介紹:點擊查看
  • ReactJS 的下載地址:點擊下載

文章素材來源【開源中國社區】 Facebook 重寫 React 和 Relay 框架,旨在提升性能


唉,一看描述就不行。你想想工程量和請求數。另外好不容易數據能統一管理了,又給拆成碎片。你能相信facebook真的搞過工程......


目前在使用relay開發,relay 相對於apollo來說,入門稍微複雜些,但是周邊有許多可使用的模塊,

在開發上還是比較方便


正在入坑的我表示用起來相當麻煩。需要先理解GraphQL與React的相應概念才能去看Relay。


剛瀏覽了一下,很多問題需要解決或者等待方案。覺得還是要等等


推薦閱讀:

中美互聯網公司中,工程師和產品經理的職責和定位有何差異?
Facebook Timeline 的發布將對 Facebook 營銷造成什麼影響?
Facebook 董事會成員有哪些人?
如何評價 1 月 21 日李毅吧等 100 多個貼吧聯合出征 Facebook?
Facebook 為什麼決定關閉 Parse?

TAG:Facebook | 前端開發 | JavaScript | 前端框架 | React |