Never Nop Tech

Never Nop Tech

分享軟體、旅遊、生活。

ReactJS vs JQuery 開發的比較

最近因為工作需要使用了近7個月的ReactJS,超久…。

因此來比較一下與以前使用JQeury的差異!

ReactJS:

1.以數據思考方式,將視圖呈現。

2.套件多(但畢竟JQuery稱霸大段日子,因此若真要比較JQuery是多過React的。)

3.對瀏覽器相容性低。指IE10以下,但普遍支援IE11、Chrome、Firefox、safari。

4.程式碼以JS方式呈現,不會出現其他種語言參雜。

5.代碼重用性高,一個元件寫好後在需要的地方都能使用。

6.使用者體驗較佳,SPA單頁面應用,只需載入一次換頁不用刷新。

7.不利於SEO,但可利用SSR(Server Side Render)解決。

8.對複雜性高的網頁能輕易掌控。

9.適合應用程式導向的網站。

10.門檻高。

11.適合前後端拆離的合作方式。

12.有Virtual DOM。(但我還是感受不到0.02秒的差異)

13.可使用Redux時光旅行,除錯簡易。

14.可以寫跨平台行動應用,React-Native但聽說很雷。

15.離線時網站還能使用。

JQuery:

1.以直接操作DOM方式,將視圖呈現。

2.套件多。

3.對瀏覽器相容性高。各個版本可以用降低JQuery版本方式進行相容。

4.程式碼常參雜各種MVC後端程式碼不時看到@if razor 等。

5.代碼重用性低。

6.使用者體驗較差。

7.利於SEO。

8.對複雜性高的網頁較難掌控。

9.適合呈現簡單內容的網站。

10.門檻低。

11.不利於前後端拆離的合作方式。

12.無Virtual DOM。

13.除錯不易。

14.不可以寫跨平台行動應用。

15.離線時網站不能使用。

結論:

沒有所謂的銀彈,能達到目標是第一個首要考量的點,再來才是去選擇實作的方式。

但若不是硬要求,我還是會選 React,畢竟寫過一次就回不去混雜後端語言的JQuery了!!

其次,也是因為在原生Javascript踩太多坑,原生產出bug很難維護,如Javascript ES5前的var就夠受了(現在都用let const)。

Whatever,現在都只寫Javascript,FrontEnd ReactJS / BackEnd Node JS。