標籤:

為什麼要選擇一個前端框架?

眼下說起前端,框架無疑是最熱門的話題。

沒用過個react vue啥的出去都不好意思說自己是做前端的。

但,我們在選擇框架的時候,是否基於業務充分考慮到為什麼我們選擇了一個框架?

半年前,差不多是2016年中的樣子,我跳槽到了一家電商公司做前端。

當時新東家的技術團隊經歷了大換血,老大提出了要做前後台分離的需求。

之前我只是一個菜雞頁面仔,所做過的工作僅為asp.net里畫好樣式,用jQuery做邏輯操作,也不知道自己做的是服務端渲染。

要扛起前後端分離的工作明顯是有困難的。

之間的一段時間裡,我嘗試了網紅的react與vue,且向做前端同學@ywthoho取經(在這之前根本都沒聽說過react什麼的,唉~-_-!),腦子裡有了展開這項工作的大致構思。

第一,我需要一個框架,原因為:

1、將以往基於java spring的後端渲染移植為前端渲染;

2、以往基於jQuery的頁面邏輯維護起來相當吃力,對團隊開發協作很不友好,且隨著項目邏輯的複雜化存在著性能方面的問題;

3、公司的一部分業務場景適用作SPA。

第二,選擇哪一款框架。

當時的場景為react已打下半壁江山,vue因vue-router的發布大放光彩。

最終的選擇是react,原因為:

1、vue透露出vue2.0正在進行中,彼時採用vue將來必定會面對遷徙的問題;

2、當時react社區非常成熟,而vue的社區生態相形見絀,團隊中也沒有其他同事在之前進行過相關框架的使用,考慮到開發過程中問題的發現與排查react還是更為妥當;

3、相對於vue略高於react的性能優勢(當時vue還沒有virtual dom),react在做好性能優化的時候是足以滿足我們的需求的。

以上,在當時的需求下我為什麼選擇了一個前端框架。

時過半年,業務已經非常穩定,但反觀現在的架構還是存在很多問題的。

首先,框架的採用還是要基於業務需求的,忌不能一概而論。很多場景下,譬如僅僅需要返回一個狀態頁面,一些需要seo的業務,顯然後段渲染是更好的解決方式。

本想著引入react可以在很多業務場景中採用spa,但真正到了做的時候才發現適用於spa的業務場景屈指可數,且不說spa還將帶來bundle size過大的問題(可以使用code splitting)。

其次,後端做路由前端渲染,怎麼感覺也是繞了一圈。。(node的BFF也剛提上日程。。)

並且,在使用react後前端邏輯完全對後端透明,介面的協定就變的至關重要,每一次業務迭代時伴隨的介面文檔是必須的。

。。

在目前的業務中,我們也是在選擇性的使用框架(譬如搶購之類的頁面還是後端渲染來完成)。

最好的技術選型,還是要由業務需求來決定。


推薦閱讀:

React填坑記(三):國際化方案
前端日刊-2018.01.26
十本學習前端必看書籍,讓你效率提升10倍
前端日刊-2018.02.02
VuePress 快速踩坑

TAG:前端開發 |