Web前端框架開發入坑指南

都2020年了,儘管 Web 開發的典型應用場景除了將服務器用作平臺、瀏覽器用作客戶端之外,幾乎很少活躍於其他業務領域,但不可否認 JavaScript 語言和框架的使用已經成爲了主流。Angular、React 和 Vue,作爲 JavaScript 的三大框架已逐步發展成熟,三者的差異性也越發明顯,假設 JavaScript 還會繼續流行十年左右,未來十年,你將會作何選擇?

preview

企業現狀

多個項目組協同開發多個業務應用:大一點公司叫做敏捷或者協同開發,小的公司就是一鍋粥開發人乾的事雜。

業務和產品形態:桌面應用、PC頁面、手機和H5頁面、微信和小程序應用、Android/IOS客戶端應用和控制檯程序等

前端開發框架各顯身手:FundationAngularJS,Vue,React Native,weex,Flutter,Electron,Dart等App混合開發。

(準確地說BootStrap不算是框架,只是CSS的類庫,雖然新版本底層也朝向js發展,Jquery也是一種前端框架)

題外話:2020年 開發桌面應用是用 flutter 還是用 electron? https://www.zhihu.com/question/390186321

以上框架都是JavaScript的分支或者衍生擴展,包過現在的TypeScript和****Script業界通常認爲都是JS的新增集。(在這裏不得不說明一點JavaScript是世界上最美的界面設計和渲染語言,沒有之一)

「 不學自知,不問自曉,古今行事,未之有也 」

前端越來越混亂了,當然也可以美其名曰:繁榮。可謂到了百家爭鳴的時代。
當新啓動一個前端項目,第一件事就是糾結:使用什麼框架,重造什麼輪子?各有各的好處,習慣行的經驗。

原生桌面客戶端加速移動開發,快速迭代的產品和業務活動更新,促使我們的application應用呈現了多元化和集約化。

再牛逼的技術框架離開業務談技術都是耍流氓,不知道大家認不認同。切身體會,因爲技術部門不是你一人說了算。

「前端程序發展的歷史」

我們都知道現在流行的框架:Vue.Js、AngularJs、ReactJs,已經逐漸應用到各個項目和實際應用中,它們都是MVVM數據驅動框架系列的一種。

在瞭解MVVM之前,我們先回顧一下前端發展的歷史階段,做到心中有數,纔會更好理解。

這段回顧歷史,由於網上就可查不少資料,但都篇幅很長,晦澀難懂。

所以我引用了 廖雪峯老師網站總結的一段話,言簡意駭,方便大家秒懂閱讀

在上個世紀的1989年,歐洲核子研究中心的物理學家Tim Berners-Lee發明了超文本標記語言(HyperText Markup Language),簡稱HTML,並在1993年成爲互聯網草案。從此,互聯網開始迅速商業化,誕生了一大批商業網站。

最早的HTML頁面是完全靜態的網頁,它們是預先編寫好的存放在Web服務器上的html文件。

瀏覽器請求某個URL時,Web服務器把對應的html文件扔給瀏覽器,就可以顯示html文件的內容了。

如果要針對不同的用戶顯示不同的頁面,顯然不可能給成千上萬的用戶準備好成千上萬的不同的html文件,所以,服務器就需要針對不同的用戶,動態生成不同的html文件。一個最直接的想法就是利用C、C++這些編程語言,直接向瀏覽器輸出拼接後的字符串。這種技術被稱爲CGI:Common Gateway Interface。

很顯然,像新浪首頁這樣的複雜的HTML是不可能通過拼字符串得到的。於是,人們又發現,其實拼字符串的時候,大多數字符串都是HTML片段,是不變的,變化的只有少數和用戶相關的數據,所以,又出現了新的創建動態HTML的方式:ASP、JSP和PHP等——分別由微軟、SUN和開源社區開發。

在以前:
在ASP中,一個asp文件就是一個HTML,但是,需要替換的變量用特殊的<%=var%>標記出來了,再配合循環、條件判斷,創建動態HTML就比CGI要容易得多。

但是,一旦瀏覽器顯示了一個HTML頁面,要更新頁面內容,唯一的方法就是重新向服務器獲取一份新的HTML內容。如果瀏覽器想要自己修改HTML頁面的內容,怎麼辦?那就需要等到1995年年底,JavaScript被引入到瀏覽器。

有了JavaScript後,瀏覽器就可以運行JavaScript,然後,對頁面進行一些修改。JavaScript還可以通過修改HTML的DOM結構和CSS來實現一些動畫效果,而這些功能沒法通過服務器完成,必須在瀏覽器實現。

下面先跟着我節奏揭開MVVM原理。

JavaScript操作HTML

至於 js如何在瀏覽器執行,這又是另外一個資深課題了(前端真的是隻是龐雜),這裏我們不做研究,有興趣的可以自己去搜資料。我們只需要知道瀏覽器就是也JS執行容器,執行完之後,通過頁面顯示結果就行了,就像java需要編譯器一樣原理。

用JavaScript在瀏覽器中操作HTML,也經歷了若干發展階段: 我們利用【小北最帥】這個案例來展示

【第一階段】

是JS原生通過瀏覽器解析機制,它的原理是使用瀏覽器提供的原生API 結合JS語法,可以直接操作DOM,如:

HTML:
<div id="name" style="color:#fff">前端你別鬧</div> <div id="age">3</div>

JavaScript:
// JavaScriptvar dom1 = document.getElementById('name');var dom2 = document.getElementById('age'); dom1.innerHTML = '小北'; dom2.innerHTML = '666'; dom1.style.color = '#000000';  // css樣式也可以操作

結果變成:
<div id="name" style="color:#fff">小北</div> <div id="age">'666</div>

【第二階段】

我用一個字總結 就是懶,就是我們上一篇說的jQuery時代,由於原生API晦澀難懂,語法很長不好用,最重要的是要考慮各種瀏覽器兼容性,因爲他們的解析標準都不一樣,造成了,寫一段效果代碼要寫很多的兼容語法,令人沮喪,所以jQuery的出現,迅速佔領了世界。

上邊的例子用 jQuery 是這樣的

HTML:
<div id="name" style="color:#fff">前端你別鬧</div> <div id="age">3</div>

JavaScript:
// jQuery 一句話就行

$('#name').text('小北好帥').css('color', '#000000'); $('#age').text('666').css('color', '#fff');

結果變成:
<div id="name" style="color:#fff">小北好帥</div> <div id="age">666</div>

【第三階段】

MVC模式,需要服務器端配合,JavaScript可以在前端修改服務器渲染後的數據。

一句話就是所有通信都是單向的: 也就是前期我們最常用的狀態,提交一次反饋一次,通信一次相互制約。

比如:提交表單 填寫內容 → 點擊提交 →業務邏輯處理 →存入數據庫 → 刷新頁面→服務器取數據庫數據→渲染到客戶端頁面→ 展示上一次你提交的內容

視圖(View):用戶界面。
控制器(Controller):業務邏輯
模型(Model):數據保存

各部分之間的通信方式如下。

View 傳送指令到 Controller
Controller 完成業務邏輯後,要求 Model 改變狀態
Model 將新的數據發送到 View,用戶得到反饋

這個模式缺點是什麼呢?

缺點一:它必須等待服務器端的指示,而且如果是異步模式的話,所有html節點、數據、頁面結構都是後端請求過來。

瀏覽器只作爲一個解析顯示容器,Model 作用幾乎是廢x,Model 層面做的很少幾乎前端無法控制,你前端幾乎是切圖仔和做輪播圖的工作/哭

缺點二:因爲你前端渲染的頁面結構,幾乎是後端服務器包紮一堆數據一起發送過來,前端的你只需要用拼接字符串 或者字符串拼接引擎

 比如Mustache、Jade、artTemplate、tmpl、kissyTemplate、ejs等來做事,說白了純苦力和重複工作居多,這也導致了,如果很多人認爲前端並不重要,只負責美工 和 動作體驗就好了。

缺點三:一發而動全身。數據、顯示不分離!爲什麼這麼說,因爲如果業務邏輯要變,比如很簡單的需求,你用jsp或者php 拼接出來的ajax數據頁面,年齡這個字段我不需要了,把性別字段 區分開,男的單獨顯示,女的單獨顯示,以前是一起顯示到一個表的

那麼,後端先要sql查詢把 男、女數據分開,然後渲染字符串時候把 年齡 這個字段去除,然後把男女分開成2個table,然後再推送給前端接收。

前端收到了,然後從新在渲染一遍,在加工一次頁面甚至是展示動作效果。。。真苦逼啊(前後端一起大聲喊到:加班使我快樂,嗚嗚嗚)

MVVM框架模式

終於來到【第四階段】,爲什麼在MVC模式我說這麼多廢話呢,因爲你瞭解了MVC才能更清楚的知道

「 何爲mvvm模式 」

MVVM最早由微軟提出來,它借鑑了桌面應用程序的MVC思想,在前端頁面中,把Model用純JavaScript對象表示,View負責顯示,兩者做到了最大限度的分離。也就是我們常說的,前後分離,真正在這裏得以實現

它採用雙向綁定(data-binding):View的變動,自動反映在 ViewModel,反之亦然,model數據的變動,也自動展示給頁面顯示

把Model和View關聯起來的就是ViewModel。ViewModel負責把Model的數據同步到View顯示出來,還負責把View的修改同步回Model。

可能理論知識枯燥無味,那麼我們還是實戰派,來看代碼不就好了嗎?

js和jQuery的寫法 大家也看到了,那麼我們來MVVM 數據綁定怎麼實現。

由於數據驅動模式的精髓在於【數據】和【視圖】分離,所以我們首先並不關心DOM結構,而是關心數據的展現。

最簡單的數據存儲方式是什麼呢?顯然不是mysql、數據庫而是使用JavaScript對象

HTML:
// 這次我不關心你了,哼哼

JavaScript:
// JS基礎對象// 原始數據
var xiaobei = {    name: '前端你別鬧',    age: 3,    
   tag:'乾貨'
};

結果是:
name: 前端你別鬧
age: 3
tag: 乾貨

假設:
我們把變量xiaobei 看作Model數據,把HTML某些DOM節點看作View,並意淫它們已經通過某種手段被關聯起來了。

下面我們把name 從[ 前端你別鬧] 改爲 [小北],把顯示的age從 [3] 改爲 [666],tag變成 [最帥!]
按照以前我們肯定操作DOM節點,而現在我們只需要修改JavaScript對象:

JavaScript:
// JS基礎對象// 改變的數據

var xiaobei = {    name: '小北',    age: 666,    
   tag:'最帥'
};

結果是:
name: 小北
age: 666
tag: 最帥

通過實驗和理論

小夥伴驚呆了,我們只要改變JavaScript對象的內容,就會導致DOM結構作出對應的變化!
這讓我們的關注點從如何操作DOM變成了如何改變JavaScript對象的狀態,而操作JavaScript對象比獲取和操作DOM簡單了一個地球的距離!

這也是MVVM的核心思想:關注Model的變化,讓MVVM框架利用自己的機制去自動更新DOM,從而把開發者從操作DOM的繁瑣中解脫出來!

也就是所謂的 數據 - 視圖分離,數據驅動視圖, 視圖不影響數據,再也不用管繁瑣的DOM結構操作了,世界頓時清淨,完美!

常見的MVVM框架:Vue.JS、AngularJs、reactJs 等在繼續我們今天的討論

我們學一個東西,通常兩個目的:

- 爲了解決現有的問題
- 爲了解決將來可能會有的問題

所以,在學這些東西之前,先必須瞭解,它們是用來解決什麼問題的。

Angular,React,Vue,這三者其實面對的是同一個領域,那就是Web應用。

Angular

AngularJS 自 2009 年誕生,至今已有十年曆史。在這短短十年中,其對 Web 社區的發展產生了十分深遠的影響。作爲一款優秀的 JavaScript 框架,在其推出一年後,便在全球引起了廣泛關注,如今更是在 Google 的 600 多款產品中得以成功運用,如 Firebase 控制檯、谷歌分析、谷歌快車、谷歌雲等。

AngularJS 有着諸多核心特性,包含:MVC ( Model – view – controller )、模塊化、自動化雙向數據綁定、語義化標籤、依賴注入等。Angular 最新版 7.0.0 已於 2018 年 10 月發佈,下一版本預計將於今年第二季度正式上線。以下是 Angular 7 針對性能、命令行工具和 Material Design 組件的優化項:

  • 性能方面:Angular 7 新增的虛擬滾動優化了單頁面的呈現方式,對於那些吸引訪問者繼續向下滾動的 clickbait 網站來說,這將派上大用場。Angular 7 的另一個性能亮點被稱爲 Bundle Budgets,它用於預警開發人員當前使用的 JavaScript 包的大小,當 JavaScript 包超過 2MB 時開始預警,在達到 5MB 後直接中斷生成。
  • 命令行提示:當在 CLI 中鍵入某些命令,如 ng new 或者 ng add @angular/material 時,Angular 7 會提示用戶,讓你找到像路由或 SCSS 支持之類的內置特性,從而簡化編碼體驗,幫助開發者發現新功能或提供靈感。
  • 視覺風格:谷歌在 Angular 7 之前已於 2018 年更新了 Material.io ,用戶更新後會出現細微的視覺差異:如,UI 結構層次更爲大膽、形狀的邊角更加圓滑,五種全新的 Icon 樣式,以及一個非常時尚且現代化的拖放模塊。

React

Angular 的出現,在 Web 社區引發了強烈轟動。兩年後,Facebook 也推出了一款同樣具備豐富功能的 JavaScript UI 組件庫—— React。

使用 React,意味着您將用一種更簡約的方式開始前端開發,這也是大部分開發人員所期待的:

  • 沒有依賴注入
  • 使用 JSX (一種基於 JavaScript 構建的類似 XML 的語言),而非經典模板,創建虛擬 DOM
  • 使用狀態管理 setState 和 Context API
  • XSS 保護
  • 用於單元測試組件的實用程序

不多,卻正好夠用,您完全可以根據自己的需要,自由添加任何組件庫,它們包括:

  • 路由:React-router
  • 獲取 HTTP 請求:Fetch (或 axios )
  • 各種各樣的 CSS 封裝技術
  • 用於單元測試的 Enzyme Google 和 Facebook 作爲 Web 社區開源項目的主要發起者,彼此之間從未停止過競爭,尤其是關於 Angular 和 React 之間的辯論已經持續了四年之久。但嚴格來說,將 Angular 與 React 進行比較並不完全公平,因爲 Angular 是一個功能齊全、組件豐富的框架,而 React 只是一個 UI 組件庫。爲了解決這個問題,我們將就 Angular 框架中的一些常用組件庫與 React 進行對比。

組件功能:React VS Angular

Angular 提供了比 React 更多開箱即用的功能,如:

  • 依賴注入
  • 基於 HTML 的擴展模板
  • 由 @angular / router 提供的路由
  • 使用 @angular / common / http 的 Ajax 請求
  • 用於構建 @angular /forms 的表單
  • 組件 CSS 封裝
  • XSS 保護
  • 用於單元測試組件的實用程序 其中,依賴注入等功能作爲 Angular 的核心,您無法選擇不使用它們,這好像一把雙刃劍,在帶來強大功能模塊的同時,也使得 Angular 變得越來越笨重。

當然,Google 工程師已經意識到了這個問題,也在一定程度上致力於簡化 Angular 框架的複雜性,希望在 Angular 8 中能讓人耳目一新。

Vue

在 React 與 Angular 孰優孰劣的討論逐步升溫的時候,另一個 JavaScript 框架 Vue 抵達了現場,使得這場最優 Web 開發框架的角逐變得更加白熱化。

Vue.js 是由 Google 的核心開發工程師——尤雨溪( Evan You )所創建的框架,作爲一個比 React 和 Angular 都更年輕的框架,Vue 從它們那裏借鑑了好的部分,即函數式和麪向對象編程的混合體。2014 年 2 月(在微軟收購 GitHub 平臺四年之前),Evan You 在 GitHub 上發佈了第一個穩定版本的 Vue,標誌着一個構建數據驅動的 Web UI 的漸進式框架就此誕生。

儘管沒有得到谷歌和 Facebook 等科技巨頭的支持,但自 2018 年以來,Vue 一直受到開發者的廣泛關注。從去年幾大主流前端開發框架的熱度來看,大多數知曉 Vue 的開發者都表示有興趣學習它。

也許,那些已經熟練掌握 Angular 和 React 前端框架的開發人員也應該花些時間去了解一下這個簡單、小巧、省心的前端框架,希望下面的內容能對你有所幫助。

學習曲線:React VS Vue

如果前端框架的學習不包含 TypeScript (即便 TypeScript 通常被認爲是 JavaScript 的增集,但要完全掌握仍需要學習額外的類處理過程),那麼 React 和 Vue 的學習速率都高於 Angular。

相對於 React,許多初學者認爲 Vue 的學習成本更低,因爲它提供了更加豐富的資源文檔和中文支持。事實上,Vue 和 React 學習速率的實際情況是大致相同的,由於大部分 Vue 的學習資料直接以單個 Web 應用程序的開發實踐開始,直觀且清晰的代碼邏輯的確可以幫助初學者更快入門,但是,隨着學習內容的深入,當您需要開發複雜的 Web 應用程序時,花哨靈活的指令和邏輯反而會讓人覺得 Vue 比 React 更難掌控。

技術社區:React VS Vue

React 是一個已經存在近十年的 Facebook 開源項目,因此它擁有更加成熟的技術社區支持。儘管 Vue 已經成功地在短短几年間吸引了相當多的追隨者,但在它真正建立出一整套完善且豐富的生態系統之前,仍需要更多人和時間的打磨。

當你看到許多使用 Vue 完成的項目時,你會注意到,其整體的設計理念更趨向現代化,這是因爲 Vue 仍是一個相對較新的框架,比如,這個示例。 衆多周知,React 所包含的工具、組件庫和代碼包的數量更多,但 Vue 靈巧、精緻和簡單卻更加令人印象深刻

安全性:React VS Vue

前端幾乎無安全可言!當然,這裏所指的安全性,僅僅是 React 和 Vue 這兩個框架之間的對比,相對於 React,Vue 更爲小衆且不同,因此在面對大規模黑客攻擊的時候,React 更容易成爲目標。

Vue 和 React 同樣都容易受到跨站點腳本( XSS )攻擊,這也是 Web 應用程序中最爲常見的安全漏洞。XSS 攻擊允許攻擊者將客戶端腳本注入到其他用戶查看的網頁中,以影響其關聯的任何 JavaScript Web 應用程序。 PS:緩解此問題的最佳方法是將數據保存在腳本之外,加入黑名單機制並從白名單中進行數據驗證。

靈活性:React VS Vue

這也是爭議最大的地方。React 專注於 UI,所以在構建 UI 組件時可以從它那裏獲得很好的支持。Vue 作爲一個漸進式框架,只允許使用最基本的功能來構建應用程序,但同時也提供了一些開箱即用的東西:如,用於狀態管理的 Vuex、用於應用程序 URL 管理的 Vue Router、Vue 服務器端渲染。

Vue 剝離了許多元素,相比之下 React 更加全面。但如果您正在尋找一種精簡、新穎、簡單易學、樣板代碼少、高性能、靈活且完整的前端框架,Vue 更加適合;當然,如果您打算使用低版本 jQuery 代碼,Vue 也同樣支持。

React 的靈活性則更多依賴於其背後強大的技術社區,在 Facebook 的強力支撐下( Facebook 的 React 團隊包括了 10 名專職開發人員),提供了更多工具、UI 庫和教程。

如果您的開發理念更趨向全棧文化、跨平臺、保持獨特、引領潮流而不是跟隨,那麼您一定會喜歡 Vue ;但如果您的項目需要大量熟練使用該框架的前端開發者、大量的工具及第三方庫,那麼您最好使用 React。不過小孩子才做選擇,您最需要的應該是一個全面兼容 Angular、React 和 Vue 的前端開發工具包—— WijmoJS

Vue 的未來

截至 2019 年初,Angular、React 和 Vue 之間的競爭持續升溫,越來越多的開發人員開始拋棄 Google 項目,就商業開發工具的提供者而言,Vue 的未來一片光明。

爲開發速度更快的 Web 應用程序而選擇了 Vue 的人有明顯的增長,Vue 很有趣,開發起來也很簡單。雖然,React 依託於其龐大的生態圈,在目前爲止,處理更復雜的 Web 項目時佔據優勢,但隨着前端社區內大量 Vue 追隨者的出現、Vue 社區穩定增長的良好氛圍,都在暗示着 Vue 很快就會變得像 React 一樣受歡迎。

GitHub受歡迎程度

Angular、React,還是 Vue ?

這四個裏面bootstrap不是框架,它只是一個HTML CSS庫(儘管現在bt也採用了最近版本的jqs),用來快速搭建視圖的。以前很火,現在的話,項目頁面比較簡單重複的企業可能會用它,它和jQuery一樣,已經不再是主流了。反正我看見明確需要會bootstrap的企業,基本能猜到要麼他們是招人做後臺頁面,要麼是做套模板的企業網站(jquery+bootstrap),總之沒啥前途。

其他三個都是目前主流的js方面的框架,其中vue react中小型項目用的多,會的人多,用的也多,學習起來不算很難,所以市場上你會我也會,最後應聘一樣沒競爭力,最重要的核心技能依然是原生js的深入理解(注意是js,不是js裏的dom和bom)。angular主要用於大型項目,相比前兩個使用比重稍微少一點,學習難度也大一點。PS:經驗上國內vue和react比較多。

前端工程構建工具的話:gulp 和grunt ,個人比較喜歡 gulp,簡單粗暴。

JS/CSS模塊化開發

 

 

 

模塊化Amd和Cmd其實用哪個都無所謂,自己熟練哪個就好,大家也都還在繼續使用

如何選擇一個面向未來的前端框架呢?  

基於 Responsive,我們就不得不考慮寬屏 Web 和窄(觸摸)屏 Web 的操作不同之處,因此這也要求了前端 JS/CSS 框架對此的兼容性。  

基於 Real-time,就需要考慮到通訊技術,如WebSocket、E-Polling等等,這些需要框架給出對應的模型層或服務層或XXX層給予支持。  

而基於Reactive,就必須要考慮到組件的實時刷新原理、方式,這些刷新還不能影響用戶操作(舉例:用戶剛剛輸入了一段內容,被實時更新的狀態變化強制刷掉了)。  

最後再基於整個項目的架構方式來思考引入一種前端框架對項目的衝擊(如複雜度,團隊成員知識鏈)。

當選擇不再是猶豫的恐懼症

年輕的程序員都是好奇的貓,玩過一個又一個的前端框架。從毛球上弄出一條條的線,玩啊玩,最後這一個個的框架在腦子裏攪漿糊。  技術選型:不僅僅受技術影響  有太多的選擇,就是一件麻煩的事;沒有選擇時,就是一件更麻煩的事;有唯一的選擇時,事情就會變得超級簡單。  倘若,我是那個使用 Java 來開發 API 的少年,我會使用 Spring Boot 來作爲開發框架。儘管 Java 是一門臃腫的語言,但保守的選擇不會犯上大錯。  倘若,我是那個使用 Python 來開發 Web 應用的少年,我會使用 Django 來作爲開發框架。它可以讓我快速地開發出一個應用。  只可惜,我不再是一個後臺開發者,我不再像過去,可以直接、沒有顧慮的選擇。當我選擇 JavaScript 時,我就犯上了「選擇恐懼症」。技術選型也是沒有銀彈的——沒有一個框架能解決所有的問題。

總結

碼字好累,終於通過簡單的例子和很白話的語言,引出了mvvm框架話題,大牛請忽略,也別笑我,我只是用最簡單易懂的語言和表達,讓更多的人看明白原理,纔好進行實際應用,其實沒什麼技術難點。
話說react總感覺無論是代碼優雅性還是效率來說都比不上vue.js,但是貌似招react的工作要比vue多得多。(動態數據)

大部分的框架並不只是那麼簡單。爲了使用這個框架你,可能需要學習更多的框架、知識、理論。一個很好的例子就是 React,這個框架的開發人員,引入了相當多的概念,JSX、VIrtual Dom。而爲了更好地使用 React 來開發,我們還需要引入其他框架,如 Redux、ES6 等等

補充一點:關於工程化的問題。  其實工程化怎麼都是需要的,無論自有與否工程內部統一的規格也是肯定的,直接比較工程化整套方案和單個模塊是沒意義的。  它們真正的區別在於,Angular 提供了較佳實踐,而 Vue 允許你自己選擇其它部分和架構工程化方案。  因此,如果你能夠接受或因爲管控能力不得不接受較佳實踐(的每一個無法自由替換的部分),那麼 angular 更好。如果你需要而且能夠搞定更適合自己的整體方案,並讓每個部分對未來更好的局部替代方案敞開,那麼 Vue 更好。

上手容易程度:Vue.js > ReactJS > AngularJS > Angular 2

效率也分兩種,一種是開發效率,一種是運行效率。只要不影響上線的效率就是高效。所以對於全局權衡,仁者見仁智者見智。

對於一個真正的工程師,選用什麼框架並沒有多大的區別,因爲你只需要花時間去學習和熟悉它們。每一個框架都有各自的優點和缺點,所以主要是看自己的應用場景下哪個框架最適合。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章