今天來不及了

今天來不及寫文章了,就決定給大家分享一個(gè)關(guān)于bootstrap的文章!

來之掘金,真心給大家推薦這個(gè)app。文章真是高質(zhì)量的。

[譯]你考慮清楚了嗎就決定用 Bootstrap ?

原文鏈接 github.com

原文地址:Bootstrap considered harmful

譯文出自:掘金翻譯計(jì)劃

譯者: MAYDAY1993

校對(duì)者: Kulbear hpoenixf

近年來,在前端項(xiàng)目中, Bootstrap 已經(jīng)成為了一個(gè)非常受歡迎的工具。 Bootstrap 的確有很多優(yōu)點(diǎn),然而,如果你的團(tuán)隊(duì)中恰好有一個(gè)專職的前端工程師。那我推薦你們不要使用 Bootstrap ,因?yàn)樵谀承┣闆r下, Bootstrap 弊大于利。

Bootstrap 對(duì)什么有好處

Bootstrap 帶有柵格系統(tǒng),也有針對(duì)很多組件的樣式和腳本,包括表格,導(dǎo)航欄,進(jìn)度條,分頁,表單樣式,模態(tài)框和提示框。在這篇文章中,談?wù)?‘Bootstrap’,我的意思是包含所有組件的實(shí)踐(與只選擇包括一部分相反,例如, 只是柵格)。

對(duì)于需要把項(xiàng)目輸出成標(biāo)記語言,并且不想操心將結(jié)果樣式化的后端開發(fā)工程師來講, Bootstrap 是一個(gè)好的工具。如果因?yàn)槟承┰?,比如預(yù)算或其他因素,在一個(gè)團(tuán)隊(duì)里沒有前端開發(fā)者或設(shè)計(jì)師, Bootstrap 適合用來填坑。

對(duì)于設(shè)計(jì)師來講, Bootstrap 也有一席之地:它是一個(gè)很有價(jià)值的工具,用來從設(shè)計(jì)軟件快速移動(dòng)到瀏覽器,而不需要過度擔(dān)心前端代碼策略。

甚至對(duì)于主要和數(shù)據(jù)打交道很少關(guān)注 UI 和布局的前端開發(fā)者,讓一個(gè)開發(fā)者關(guān)注于搭建應(yīng)用本身, Bootstrap 在這一方面也很好。

什么時(shí)候你最好別用它

然而,如果你的團(tuán)隊(duì)里有一個(gè)前端開發(fā)工程師,使用 Bootstrap 會(huì)潛在地浪費(fèi)他們寶貴的時(shí)間,并且將他們的注意力從解決實(shí)際的問題轉(zhuǎn)移。 Bootstrap 恰恰做的是前端開發(fā)者擅長(zhǎng)的,但是它以一種很普遍的方式來實(shí)現(xiàn)。你的網(wǎng)站或應(yīng)用是很具體的,所以如果你用一個(gè)普遍的系統(tǒng),它有可能不會(huì)起作用。這意味著你的代碼將包含全部的可能性才有可能實(shí)現(xiàn)具體的需求。

當(dāng)你需要很多代碼來覆蓋 Bootstrap 的樣式

Bootstrap 是由 Twitter 的開發(fā)者開發(fā)來系統(tǒng)化他們網(wǎng)站應(yīng)用的樣式。當(dāng)你的網(wǎng)站應(yīng)用的樣式和他們不一樣,這意味著你不得不覆蓋掉他們的樣式來。

大多數(shù)網(wǎng)站的樣式并不像 Twitter 那樣。因此,如果他們安裝 Bootstrap ,他們會(huì)覆蓋掉很多樣式。

在一些我參與的網(wǎng)站中,我發(fā)現(xiàn)多達(dá)十分之九的 Bootstrap 樣式會(huì)被網(wǎng)站自己的樣式覆蓋掉。很坦率的講,這是荒謬的。

當(dāng)它讓簡(jiǎn)單的事情復(fù)雜化

CSS 用來為網(wǎng)頁增加一系列簡(jiǎn)單的在某些條件下會(huì)被代碼覆蓋的樣式規(guī)則。當(dāng)你的網(wǎng)站中有 Bootstrap 的樣式,幾乎網(wǎng)站內(nèi)所有的東西都已經(jīng)被一系列復(fù)雜的代碼規(guī)則設(shè)置好了。任何例外都會(huì)超出這個(gè)框架所設(shè)置好的規(guī)則。而大多數(shù)網(wǎng)站所面臨的問題正是它們的樣式對(duì)于 Bootstrap 來說往往是例外。

Bootstrap 的樣式是復(fù)雜的:你會(huì)有一個(gè)帶有 12 列的柵格系統(tǒng),這 12 列能以你想要的任何方式組合使用,有特殊的類來基于用戶的視圖尺寸設(shè)置不同的偏移量和列結(jié)構(gòu)。很多網(wǎng)站是簡(jiǎn)單的:在小屏幕上沒有列,在更大的屏幕會(huì)有一到兩列。

當(dāng)它產(chǎn)生了技術(shù)債務(wù)

一個(gè)前端代碼庫依賴 Bootstrap 的時(shí)間越長(zhǎng),糾纏的越多,并且它包含了更多只是用來覆蓋掉 Bootstrap 代碼的規(guī)則。這常常導(dǎo)致代碼庫陷于巨大的技術(shù)債務(wù),尤其當(dāng)前端代碼以經(jīng)常需要手動(dòng)更新的方式整合在后端的時(shí)候。

當(dāng)它引入可能不是你的應(yīng)用的命名習(xí)慣

命名很難,而且想出有意義的屬于你的團(tuán)隊(duì)和應(yīng)用的命名習(xí)慣很花時(shí)間。對(duì)于組件名使用合適的名詞,不要和一些名詞的縮寫像 ’btn’ 的類名混淆。

結(jié)論

在開發(fā)網(wǎng)站的過程中 Bootstrap 和朋友在各種各樣的階段是有好處的。然而它們不是一個(gè)能使任何事都簡(jiǎn)單的魔法:相反,會(huì)有很多能夠通過讓前端開發(fā)者關(guān)注于親自開發(fā) UI 來避免的缺點(diǎn)。

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

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,109評(píng)論 1 92
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評(píng)論 25 709
  • Bootstrap是什么? 一套易用、優(yōu)雅、靈活、可擴(kuò)展的前端工具集--BootStrap。GitHub上介紹 的...
    凜0_0閱讀 11,114評(píng)論 3 184
  • 策劃期待已久的西藏之旅正式開啟了~ 出行前,身旁的朋友親人知道我們兩個(gè)女孩子一起到西藏這個(gè)一直聽說的地方時(shí)候,都勸...
    Libj閱讀 337評(píng)論 1 1
  • 大學(xué)第一站,同學(xué)你好 大學(xué)初映像 熱情洋溢,第二站 正式進(jìn)入,進(jìn)錯(cuò)了的大學(xué) 何旺
    鋮毅閱讀 290評(píng)論 0 0

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