前端搞那麼多工具框架庫,是讓開發更簡單,還是更複雜?
變複雜了,同時變容易了。
複雜的反義詞是簡單。
容易的反義詞是困難。
電鋸很複雜,但是用電鋸砍樹很容易。
斧頭很簡單,但是用斧頭砍樹很困難。
如果電鋸壞了,你就哭吧。因為修電鋸太複雜了。
如果斧頭壞了,磨一磨斧刃或者換根柄就好了。因為斧頭簡單。
如果你只需要砍幾棵樹,買個電鋸是不是划不來?
電鋸還需要用電,你砍樹的地方有沒有電。
對普通人家來說,還是常備斧子吧。
回到正題。
你喜歡容易,還是簡單?
大部分人喜歡複雜而容易的東西。
你不能說你會騎自行車了以後就不讓造火箭了嘛……
確實沒有必要在家學習坦克裝甲車的駕駛技巧,但是你拿著匕首去參加一場槍戰也說不過去…技術的複雜度同力一樣不會消失,也不會憑空產生,它總是從一個物體轉移到另一個物體或一種形式轉為另一種形式。
——《RePractise前端篇: 前端演進史》
佛很簡單,佛經很複雜。
佛經是人搞出來的。
大道至簡,如果不簡單,只能說明大家還在跋涉。
--
所有以自動化為名讓人手動去配置它的工具都是耍流氓。
讓簡單的項目開發變複雜了,讓複雜項目的開發變簡單了。
簡單不代表高效,複雜不等同低效。前端「那麼多」工具其實只不過在經歷後端走過的老路罷了。
正確的看待眼光應該是:從原始到現代,從低級到高級的過程。
殺雞焉用牛刀
肯定是簡單了。準確的說是降低成本了。可以讓一大波編程水平比較普通的人也能夠完成一定程度的開發,這樣公司就可以少花一些錢僱人。
不會用就說不會用,沒有那麼多借口
工具框架庫的目的是為了讓開發更簡單,解決開發過程中的不便。
但是如果對這些工具框架庫的理解不夠深入,沒有用好,出了問題也不知道如何解決,這時候恐怕會覺得很複雜了
工具是簡單的,人的思維是複雜的。所有的工具都是為了方便生產工作,之所以你會感到負責,主要是因為工具太多,而你思維覺得不知道從何下手,從哪用起,而覺得複雜。其實每個工具都是為了完成不同工作而產生的。每個工具都有自己的複雜度,每個需求也有自己的負責度,當你選擇的工具複雜度大於你的需求複雜度,那麼這必定不是一個最好的、最簡的工具。所以有一個漸進式的思維還是很有必要的,根據實際需要,漸進式添加學習心得框架,新的技術,沒有必要一竿子撂倒。如果樓主用過vue,更能體現出這種漸進式的思維
以修改網頁內容舉例你就懂。
原生 JavaScript
// &&
JQuery
// &&
vue.js
// &{{ message }}&
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 |