如何評價 Meteor 的替代品 Meatier?

官網https://github.com/mattkrick/meatier

有人用過嗎?體驗如何?


技術棧的區別mattkrick描述的很詳細了

個人評價一下:

Meatier完全採用React社區流行的技術,有很多是Bleeding edge,意味著更先進的設計實現,更美妙的流程,也有更多的bug

Meteor技術比較成熟,如果你很關注最新的技術進展,會覺得很多想用的東西難以嵌入

Meatier使用Webpack,這點很重要,這意味著和幾乎所有React生態圈的項目集成的能力

Meteor在這方面有很多問題

React生態圈非常靈活,幾乎所有問題都有解決方案。但是,很多問題是由社區維護的,沒有最佳方案。工程師需要投入非常多精力研究/評比/測試方案

Meteor的主要方案由一個穩定的團隊維護,所以方案和技術支持非常穩定

所以個人建議是

1.如果你有dead line,需要快速構建項目

2.團隊技術能力參差不齊

3.沒有非常新的技術需求 (例如offline-first,progressive loading這種只有依賴社區的需求)

4.不是非用React不可

使用Meteor是更好的選擇

如果你是個人學習,當然是Meatier了

Meatier的作者現在接工作去做項目去了,所以這個repo已經有一陣沒有更新了。有一個基於Meatier的面向商業的r3stack,似乎沒拉好投資也沒什麼進度

Meteor啟動了Apollo Stack項目,結合Meteor的經驗,完全由npm組件構建,可以關注一下。個人覺得是比Meatier更好的選擇(有穩定的團隊支持),當然,還在積極開發的階段

RethinkDB啟動了Horizon,也是非常值得關注的

當然還有FB親兒子Relay

摘取一些mattkrick的概述

ProblemMeteor"s solutionMy solutionResultDatabase

  • Database Meteor:MongoDB Meatier:RethinkDB

RethinkDB有內嵌的實時通知支持。

Meteor綁定在沒有實時通知的MongoDB上,實時通知是Meteor team自己開發的,社區反應了很多性能問題,Meteor出了不少關於MongoDB配置優化的文章

  • Schema Meteor:Simple Schema Meatier:GraphQL

GraphQL提供客戶端定製API響應的能力

很多意見認為這是將替代Restful的概念性進步

  • Client-side cache Meteor:Minimongo Meatier:redux

Meteor也可以和Redux集成,但是現有的集成方式還不是很理想(使用redux+ddp或redux+minimongo,前者支持不夠,後者只能說是hacky)

Meatier使用Redux,和React集成非常好

  • Socket server Meteor:DDP-server Meatier:socketcluster

早些時間看到DDP-SERVER有性能問題,不清楚現在的版本是不是有改進。

Socketcluster顯然是為水平擴展設計的AuthenticationMeteor accountsJWTs標準和非標準

  • Front-end Blaze vs React

Meteor社區現在也有許多和React集成的經驗了

  • Build systemmeteor vs webpack

Meteor正在(1.5版本,已經完成?)嘗試分割為npm包,這樣就也可以使用webpack(systemjs)構建

現在的情況是使用Meteor導入npm包可能有各種問題(涉及非js文件時)。有一個Meteor webpack項目,非常好的集成方式,可惜個人感覺開發進度不是很快,還不夠好用

很多React框架或組件難以直接在Meteor內使用,專門為Meteor開發的React組件還是比較少

  • CSS magically bundle serve vs css-modules

css-modules+postcss是React社區比較流行的方式吧

當然,如果你使用css-in-js可以無視這點區別

  • Optimistic UI latency compensation vs redux-optimistic-ui

Redux vs no Redux

Optimistic ui是麵包上的糖,不是很重要

可以讓應用很流暢,但是需要自己做更好的錯誤處理

  • Testing Velocity (or nothing at all) vs AVA

Meatier可以集成任何測試框架,只要你自己花時間

  • Routing FlowRouter vs react-router-redux

......不知道React社區有沒有人用FlowRouter

React router的功能更多一些

  • ServerNode 0.10.41 vs Node 5


不客氣地說,凡是這種「打包一籮筐」思路搞出來的棧,都是沒有品位的 —— 玩具。


個人感覺,目前各種類似或基於mean的框架層出不窮,沒有任何人敢說這個項目未來的生命力如何。工作方面自然是根據項目需求來決定,學習方面比較適合找一個能快速利用現有技能掌握的框架來學習和跟蹤,而不是花太多時間去學習太多陌生的新技術, 將新技術點控制在1,2個內。像已經有足夠react經驗的人,我是建議學習一下meteor,嘗試下angular, 而如果沒有angular和react經驗的人,同樣是建議學習meteor,可以同時學習兩種JS框架,或可使用blaze快速上手,當對meteor有了一定的經驗,並且將js框架的發展方向定位於react,再學習meatier,我想基本沒有太多曲線。個人的經驗就是想快速學會一樣東西,初期別把目標定的過高,當超出你理解太多的話,很難堅持學完,除非是工作中被逼無奈。


推薦閱讀:

API的過去,現在與未來

TAG:前端開發 | JavaScript | React | Redux | GraphQL |