前端搞那麼多工具框架庫,是讓開發更簡單,還是更複雜?


變複雜了,同時變容易了。

複雜的反義詞是簡單。

容易的反義詞是困難。

電鋸很複雜,但是用電鋸砍樹很容易。

斧頭很簡單,但是用斧頭砍樹很困難。

如果電鋸壞了,你就哭吧。因為修電鋸太複雜了。

如果斧頭壞了,磨一磨斧刃或者換根柄就好了。因為斧頭簡單。

如果你只需要砍幾棵樹,買個電鋸是不是划不來?

電鋸還需要用電,你砍樹的地方有沒有電。

對普通人家來說,還是常備斧子吧。

回到正題。

你喜歡容易,還是簡單?

大部分人喜歡複雜而容易的東西。


你不能說你會騎自行車了以後就不讓造火箭了嘛……

確實沒有必要在家學習坦克裝甲車的駕駛技巧,但是你拿著匕首去參加一場槍戰也說不過去…


技術的複雜度同力一樣不會消失,也不會憑空產生,它總是從一個物體轉移到另一個物體或一種形式轉為另一種形式。

——《RePractise前端篇: 前端演進史》


佛很簡單,佛經很複雜。

佛經是人搞出來的。

大道至簡,如果不簡單,只能說明大家還在跋涉。

--

所有以自動化為名讓人手動去配置它的工具都是耍流氓。


讓簡單的項目開發變複雜了,讓複雜項目的開發變簡單了。


簡單不代表高效,複雜不等同低效。

前端「那麼多」工具其實只不過在經歷後端走過的老路罷了。

正確的看待眼光應該是:從原始到現代,從低級到高級的過程。


殺雞焉用牛刀


肯定是簡單了。準確的說是降低成本了。可以讓一大波編程水平比較普通的人也能夠完成一定程度的開發,這樣公司就可以少花一些錢僱人。


不會用就說不會用,沒有那麼多借口


工具框架庫的目的是為了讓開發更簡單,解決開發過程中的不便。

但是如果對這些工具框架庫的理解不夠深入,沒有用好,出了問題也不知道如何解決,這時候恐怕會覺得很複雜了


工具是簡單的,人的思維是複雜的。所有的工具都是為了方便生產工作,之所以你會感到負責,主要是因為工具太多,而你思維覺得不知道從何下手,從哪用起,而覺得複雜。

其實每個工具都是為了完成不同工作而產生的。每個工具都有自己的複雜度,每個需求也有自己的負責度,當你選擇的工具複雜度大於你的需求複雜度,那麼這必定不是一個最好的、最簡的工具。所以有一個漸進式的思維還是很有必要的,根據實際需要,漸進式添加學習心得框架,新的技術,沒有必要一竿子撂倒。

如果樓主用過vue,更能體現出這種漸進式的思維


以修改網頁內容舉例你就懂。

原生 JavaScript

// && document.getElementById("zhihu").innerHTML = "知乎"

JQuery

// && $("#zhihu").html("知乎")

vue.js

// &{{ message }}& var app = new Vue({
el: "#app",
data: {
message: "知乎"
}})

咋一看,首次修改好像 vue.js 最複雜。但是,再次修改就不是一樣的情況了。

原生 JavaScript 還是這樣

document.getElementById("zhihu").innerHTML = "知乎2"

JQuery 還是這樣

$("#zhihu").html("知乎2")

vue.js 就簡單多了

app.message = "知乎2"

而且 vue.js 這種現代庫,只要綁定了元素,其他模塊改了 #zhihu 的內容 app.message 也會跟著變,用後端數據就能完成邏輯處理。

自從用了 vue.js

一天的工作半天做完了

玩耍時間更多了

吃飯更香了

頭髮也不白了

坐著電梯一口氣都能上十六樓了

世界都變得美好起來了


假如你不了解源碼,參數永遠是詭異的。

fn()

相當於加密,返回的結果的預測只能靠"迷信」,

所以,文檔的撰寫都是宗教訓戒一般的玄學文字。

這點決定了,自己發明的函數,能為自己提升效率。

而要是使用他人的函數(所謂庫,框架),那首先得墊付讀經、解經的成本。


框架本身具有複雜度

開發一個複雜的東西

當框架複雜度跟目標複雜度比很小時 框架使前端開發簡單

當框架複雜度跟目標複雜度比很大時 框架使開發複雜

根據具體情況選擇框架 架構用最低的成本達到目標就是好的選擇


其實你不用都用啊,對比一下,看你需要哪個就用哪個就好了,每個框架都有不同的優勢和劣勢,專註一兩個其實就足夠了,像我現在就比較專註於angular,也非常看好angular的未來發展。


這個問題我也在考慮


又沒有強制要用。但是不可否認的是,很多新的前端需求變複雜了。


回答這個問題需要比喻句排比句?需要那麼多的修飾?

一句話:工欲善其事,必先利其器。找出開適合你的,學會了什麼都簡單。不會那必然寸步難行


淘汰一些不會後台的人


上手複雜了,需要多學框架知識。

比如: 本來只需要會html/css/js/jquery就可以開發了。現在又需要學vue.js。學習成本增加。

開發效率更高了。

還用解釋嗎,不然用它幹嘛,逗逼別點贊。


推薦閱讀:

react 有哪些最佳實踐?
上海及周邊有哪些值得去實習的IT初創?
html,css,js的下載 & 執行順序是什麼?
如何評價螞蟻金服體驗技術部推出的數據可視化解決方案 AntV?

TAG:互聯網 | 前端開發 | JavaScript | 前端框架 | AngularJS |