JS引擎
Weex使用V8,
React native使用JSCore
JS開發框架 ( Js Framework )
Weex基於vue.js(2W+ star)。小巧輕量的前端開發框架,組件化,數據綁定,2.0引入virtual dom。
ReactNative使用React(4W+ star)。革命性的前端開發框架,組件化,數據綁定,virtual dom。
學習成本
React模板JSX學習使用有一定的成本,vue更接近常用的web開發方式,模板就是普通的html,數據綁定使用mustache風格,樣式直接使用css
支持的平台:
雖然Weex和React Native都支持跨平台開發,但實際還是有一定的區別。
- Weex的目標是實現代碼共用,一次開發多平台運行,能同時支持IOS、Android和Web,降低了開發難度,節約開發成本;
- React Native則希望替換整個APP,所以更加注重平台的獨立性,其代碼需要針對IOS和Android平台編寫,代碼無法實現完全公用,從官方提供的組件也可以很明顯的看出,例如ProgressBarAndroid、ProgressViewIOS等;
核心理念:
Weex:
- Write Once Run Everywhere
- 只需要編寫一份代碼,然后打包即可運行在Web、iOS、Android;
React native:
LEARN ONCE, WRITE ANYWHERE
需針對iOS、Android編寫2份代碼,但是可以共用的代碼很多;
性能:
不能說 React native不注重性能,只是Weex的性能比React native更加優秀
相同點:
- 都可以實現hot reload,邊更新代碼邊查看效果
總結:
React Native相對來說比較成熟,社區成熟、文檔成熟,Weex開源較晚,互聯網上相關資料還比較少,社區規模較小,所以學習的路上踩的坑會比較多;建議等文檔完善之后再上手;