框架 庫 工具

術(shù)語“framework(框架)”,“l(fā)ibrary(庫)”和“tool(工具)”可以根據(jù)情境,在不同時期,對不同的人,意味著不同的東西。這里使用的一般定義如下:

庫是有用功能的有組織的集合。一個庫的典型功能包括處理字符串、日期、HTML DOM元素、事件、Cookie、動畫、網(wǎng)絡(luò)請求等等。每個函數(shù)都將值返回給調(diào)用應(yīng)用程序,該應(yīng)用程序可以在您選擇的情況下實(shí)現(xiàn)。你可以把它想象成汽車零件的選擇:你可以自由地使用任何零件來建造一輛能跑的車,但是你必須自己造一個引擎。

一個庫可以將開發(fā)時間縮短20%,因為您不必?fù)?dān)心細(xì)節(jié)問題。但是它也不是沒有缺點(diǎn)的:

框架是一個應(yīng)用程序的骨架。它要求您以一種特定的方式來處理軟件設(shè)計,,并在某些點(diǎn)插入您自己的邏輯。通常為您提供諸如事件、存儲和數(shù)據(jù)綁定之類的功能。使用汽車類比,那么框架提供了一輛車的底盤,車身和發(fā)動機(jī)。為了讓車輛始終保持運(yùn)行狀態(tài),你可以添加、刪除或修改某些組件。

框架通常比庫提供更高的抽象層,并且可以幫助您快速構(gòu)建項目的 80%。但它的缺點(diǎn)是:

工具有助于開發(fā),但不是項目的一個組成部分。工具包括系統(tǒng)構(gòu)建、編譯器、轉(zhuǎn)譯器、代碼壓縮、圖像壓縮、部署機(jī)制等等。

工具應(yīng)該提供一個更容易的開發(fā)過程。例如,許多程序員喜歡用 Sass編譯成CSS,因為它提供了代碼分離,嵌套,渲染時變量,循環(huán)和函數(shù)。瀏覽器不了解 Sass / SCSS語法,因此在測試和部署之前,必須使用適當(dāng)?shù)墓ぞ邔⒋a編譯為 CSS。

庫,框架和工具之間的區(qū)別很少??蚣芸梢园ㄒ粋€庫。庫可以實(shí)施類似框架的方法。對于前面二者來說,工具又是必不可少的。我試圖標(biāo)記每個提到的項目,看看他們屬于庫,框架還是工具,但尺度不同,標(biāo)記的類型也可能會有所不同。

如果這聽起來太復(fù)雜,可以考慮編寫 vanilla JavaScript。沒關(guān)系,但是您將不可避免地編寫自己的庫和/或框架代碼。JavaScript本身就是一種瀏覽器和操作系統(tǒng)抽象塔的抽象!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文來自于:葡萄城控件技術(shù)團(tuán)隊博客 幾乎每隔一個星期,就有一個新的 JavaScript 庫席卷網(wǎng)絡(luò)社區(qū)!Web ...
    zenmshuo_2919閱讀 502評論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評論 19 139
  • 之前被朋友問過一個問題,如果身邊有兩個異性朋友,一個是自己心儀的,但對方似乎不太鐘情于自己。另一個是很喜歡自己的,...
    lee0605閱讀 190評論 0 0
  • 【2017年11月26日pan覺察日記】 ?.本日覺察: 突然想放松自己,卸下厚厚的防護(hù),讓自己好好的喝點(diǎn)酒,讓自...
    快樂女巫閱讀 152評論 0 0

友情鏈接更多精彩內(nèi)容