如今,許多科技公司都開發(fā)了自己的 Bootstrap
版本,稱為設(shè)計系統(tǒng)。這些是由明確的設(shè)計標(biāo)準(zhǔn)指導(dǎo)的可重用組件的集合,以支持應(yīng)用程序開發(fā),這使企業(yè)能夠?qū)⑺麄兊囊苿雍?Web
應(yīng)用程序與其他應(yīng)用程序區(qū)分開來,同時保持產(chǎn)品的視覺外觀和感覺,從 Bootstrap 到設(shè)計系統(tǒng)的演變是自然的。想要盡快掌握Web
應(yīng)用程序技術(shù),參加Web前端培訓(xùn)也是個不錯的方法,幾個月的學(xué)習(xí)就能掌握全面系統(tǒng)的知識和技能,快速上崗。
你有沒有注意到同一家公司的兩種不同產(chǎn)品可以有兩種完全不同的用戶體驗?設(shè)計不一致通常來自兩個獨立的設(shè)計團(tuán)隊,它們不同步并獨立構(gòu)建自己的 UI
集。這就是設(shè)計系統(tǒng)可以提供幫助的地方。設(shè)計系統(tǒng)的目標(biāo)應(yīng)該是使開發(fā)人員和設(shè)計師能夠通過在所有產(chǎn)品中提供一致的用戶體驗來創(chuàng)造引人入勝的產(chǎn)品體驗。
最重要的是,設(shè)計系統(tǒng)不僅僅是 UI
組件庫,而是標(biāo)準(zhǔn)和指南、視覺語言、可訪問性支持以及如何開始實施系統(tǒng)的信息的文檔。當(dāng)然,這個列表并不詳盡,但一個完整的設(shè)計系統(tǒng)并不止于構(gòu)建一個 UI
庫。
此外,設(shè)計系統(tǒng)使開發(fā)人員受益。作為工程師,你可以專注于解決技術(shù)問題或?qū)W習(xí)新技術(shù),而不是構(gòu)建冗余用戶界面。如果你是前端開發(fā)人員,當(dāng)多次要求你構(gòu)建相同的
UI 組件時,你可能會感到沮喪。使用設(shè)計系統(tǒng),組件只需構(gòu)建一次,然后你就可以實現(xiàn)它。讓我們看看設(shè)計系統(tǒng)如何幫助工程團(tuán)隊擴(kuò)展。
系統(tǒng)思考規(guī)模
系統(tǒng)思維是一組原則,可幫助組織通過解決問題所在的整個系統(tǒng)來更有效地擴(kuò)展。沒有硬性規(guī)則,每個組織都應(yīng)該制定自己的原則并將其與業(yè)務(wù)目標(biāo)聯(lián)系起來。設(shè)計系統(tǒng)目標(biāo)是一種系統(tǒng)思維形式,可大規(guī)模解決設(shè)計挑戰(zhàn)。在設(shè)計系統(tǒng)變得普遍之前,“設(shè)計無法擴(kuò)展”的口號非常普遍。在Web前端培訓(xùn)中,有理論課程+實踐項目一起學(xué)習(xí),深化所學(xué)知識,積累項目經(jīng)驗,獲得快速提升。
如果一個組織有一個產(chǎn)品組合,并且每個團(tuán)隊都在構(gòu)建自己的資產(chǎn),提出調(diào)色板和頁面布局,那就不是很好地利用他們的時間。一遍又一遍地構(gòu)建相同東西的開發(fā)人員將寶貴的時間從解決核心工程問題上浪費了,那些忙于為幾個月前由其他團(tuán)隊構(gòu)建的相同
UI 創(chuàng)建規(guī)范的設(shè)計師可以通過進(jìn)行用戶研究得到更好的服務(wù)。
從本質(zhì)上講,設(shè)計系統(tǒng)要成為一個活生生的、不斷發(fā)展的系統(tǒng),代表組織的最佳思維,它需要交付共享價值。要使組件可重用,它需要與多個產(chǎn)品團(tuán)隊相關(guān)。讓設(shè)計系統(tǒng)團(tuán)隊參與構(gòu)建僅特定于你的產(chǎn)品的組件不是系統(tǒng)思維。具有一次性案例的組件不應(yīng)屬于組件庫或設(shè)計系統(tǒng)。
來自中央團(tuán)隊的支持
任何設(shè)計系統(tǒng)的核心都是設(shè)計和開發(fā) UI
組件的中心團(tuán)隊。一個功能強(qiáng)大的設(shè)計系統(tǒng)團(tuán)隊遵循定義明確的流程來設(shè)計、構(gòu)建和記錄組件、視覺指南、工程指南和用戶體驗?zāi)J健?/span>
例如,在構(gòu)建系統(tǒng)功能(例如,按鈕組件)時,設(shè)計系統(tǒng)團(tuán)隊?wèi)?yīng)通過對變量、大小和可組合性等項目進(jìn)行初始設(shè)計發(fā)現(xiàn)來收集需求。在最初的發(fā)現(xiàn)之后,團(tuán)隊?wèi)?yīng)該與想要使用該組件的開發(fā)人員分享他們的發(fā)現(xiàn),以確保它具有發(fā)布后需要采用的所有功能。在這一點上,構(gòu)建組件是容易的部分,但應(yīng)該有關(guān)于設(shè)計、代碼和可訪問性的清晰文檔來支持這個新元素。這些是設(shè)計系統(tǒng)團(tuán)隊的核心職責(zé)。
此外,該團(tuán)隊還負(fù)責(zé)修復(fù)錯誤、支持設(shè)計社區(qū)、創(chuàng)建培訓(xùn)材料等。設(shè)計系統(tǒng)應(yīng)該被視為一個產(chǎn)品團(tuán)隊,其客戶是內(nèi)部設(shè)計師和前端工程師,專注于構(gòu)建和擴(kuò)展系統(tǒng)。想學(xué)習(xí)前端技術(shù)的同學(xué)可以參加Web前端培訓(xùn),有系統(tǒng)全面的課程,還有經(jīng)驗豐富的專業(yè)講師指導(dǎo)教學(xué),可以快速掌握前端知識和技能,節(jié)省很多學(xué)習(xí)時間,少走彎路。
最后,團(tuán)隊負(fù)責(zé)采用。如果沒有被其他團(tuán)隊采用,那么為了構(gòu)建一個設(shè)計系統(tǒng)而構(gòu)建一個設(shè)計系統(tǒng)是一種浪費的努力。有許多方法可以評估設(shè)計系統(tǒng)在組織內(nèi)的影響,例如,設(shè)計系統(tǒng)團(tuán)隊可以掃描公司范圍的代碼庫,以確定系統(tǒng)的使用位置和方式,這也有助于了解哪些團(tuán)隊正在使用最新版本的
UI 組件。
評估采用率的另一種方法是要求產(chǎn)品團(tuán)隊每季度自我報告他們的采用進(jìn)度,這取決于組織的規(guī)模,設(shè)計系統(tǒng)團(tuán)隊還可以將調(diào)查與其他評估方法結(jié)合使用。通常有一名產(chǎn)品經(jīng)理負(fù)責(zé)與其他利益相關(guān)者建立伙伴關(guān)系,他們創(chuàng)建開發(fā)路線圖并將社區(qū)需求帶回給設(shè)計人員和開發(fā)人員。
旨在幫助開發(fā)人員
設(shè)計系統(tǒng)旨在為前端開發(fā)人員提供他們的開發(fā)工作流程。
如果一個設(shè)計系統(tǒng)構(gòu)建了組件,但無法分發(fā)它,它會讓許多開發(fā)人員感到沮喪。或者,如果包是通過過時的包管理器分發(fā)的,這將使開發(fā)人員使用設(shè)計系統(tǒng)組件具有挑戰(zhàn)性。一個好的設(shè)計系統(tǒng)會不斷發(fā)展其分發(fā)工具,當(dāng)今許多設(shè)計系統(tǒng)都普遍支持現(xiàn)代包管理器工具,例如
NPM 或 Yarn。參加Web前端培訓(xùn),有明確清晰的學(xué)習(xí)路線,可以在短時間內(nèi)盡快掌握web開發(fā)的相關(guān)知識,有助于你更好地進(jìn)行開發(fā)工作。
此外,需要對組件進(jìn)行正確的版本控制,并且需要經(jīng)常更新發(fā)行說明以反映主要和次要版本的更改。許多設(shè)計系統(tǒng)通過圍繞測試記錄他們的過程來獲得開發(fā)人員對組件穩(wěn)定性的信心。
此外,開發(fā)人員關(guān)心樣式封裝以及代碼的編譯和轉(zhuǎn)譯。一些開發(fā)人員關(guān)心作用域 CSS 類名。許多設(shè)計系統(tǒng)使用 CSS
模塊來模塊化和組合 CSS,設(shè)計系統(tǒng)利用 CSS 模塊來啟用類名稱的自定義范圍,并防止不同版本之間的名稱沖突,CSS 模塊允許 UI
組件與其他版本的庫在頁面上共存。
設(shè)計系統(tǒng)可以幫助解決其他幾個工程問題——Javascript polyfill、對 Vue 或 React 框架的支持、使用
CDN 分發(fā)庫資產(chǎn)、SCSS 后處理或覆蓋、內(nèi)置可訪問性等等。關(guān)鍵是設(shè)計系統(tǒng)遠(yuǎn)遠(yuǎn)超出了視覺指南,支持工程任務(wù)是設(shè)計系統(tǒng)工作的一部分。
如果你發(fā)現(xiàn)你的團(tuán)隊一遍又一遍地構(gòu)建相同的組件,那么也許是時候?qū)⒛愕脑O(shè)計系統(tǒng)化了。
借助設(shè)計系統(tǒng),你的工程和設(shè)計團(tuán)隊之間的聯(lián)盟可以有效地為最終用戶構(gòu)建一致的用戶體驗,并且可以輕松地跨多個產(chǎn)品和平臺進(jìn)行擴(kuò)展。如果你想學(xué)習(xí)設(shè)計系統(tǒng)相關(guān)知識和技能,你可以從web前端培訓(xùn)課程開始,這是一個很好的起點。