想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等着你!css
這個是我訂閱 陳皓老師在極客上的專欄《左耳聽風》,我整理出來是爲了本身方便學習,同時也分享給大家一塊兒學習,固然若是有興趣,能夠去訂閱,爲了不廣告嫌疑,我這就很少說了!如下第一人稱是指陳皓老師。前端
前端還有一個很重要的事就是設計。做爲前端人員,咱們有必要了解如今的一些知名且流行的設計語言或是一些設計規範或是設計方法,學習它們的設計思想和方法,有助於咱們拓寬眼界、與時俱進。我並不以爲這些內容是設計師要學習的,若是你要成爲一個前端程序員,那麼學習這些設計上的東西可讓你有更好的成長空間。react
對於學習設計的新手來講,推薦看看 7 steps to become a UI/UX designer ,這是一篇很不錯的讓新手入門的文章,很是具備指導性。首先,你得開始學習設計的一些原則和套路,如配色、平衡、排版、一致性等。還有用戶體驗的 4D 步驟——Discover、Define、Develop 和 Delivery。而後,開始到一些網站上找靈感。接下來,是到不一樣的網站上讀各類文章和資源,開始學習使用設計工具,最後是找人拜師。此外,其中還連接了其它一些不錯的文章、網站、博客和工具。我認爲,這篇文章是一篇很不錯的設計師從入門到精通的練級攻略。git
雖然有這麼一個速成的教程,但我以爲仍是應該系統地學習一下,因此有了下面這些推薦。程序員
先推薦幾本書。github
除了上面的這幾本書,還有下面的這幾篇文章也是很不錯的,推薦一讀。web
在 2013 年網頁設計師布拉德·弗羅斯特(Brad Frost)從化學中受到啓發:原子(Atoms)結合在一塊兒,造成分子(Molecules),進一步結合造成生物體(Organisms)。布拉德將這個概念應用在界面設計中,咱們的界面就是由一些基本的元素組成的。sql
喬希·杜克(Josh Duck)的"HTML 元素週期表"完美闡述了咱們全部的網站、App、企業內部網、hoobadyboops 等是如何由相同的 HTML 元素組成的。經過在大層面(頁)和小層面(原子)同時思考界面,布拉德認爲,能夠利用原子設計創建一個適應組件的動態系統。segmentfault
爲何要玩原子設計,我認爲,這對程序員來講是很是好理解的,由於這就是代碼模塊化重用化的體現。因而,你就是要像搭積木同樣開發和設計網頁,當你把其模塊化組件化了,也更容易規範總體的風格,並且容易維護……這些都意味着你能夠更容易地維護你的代碼。因此,這個方法論致使了 Web 組件化的玩法。這是設計中很是重要的方法論。設計模式
關於這個設計方法論,你能夠閱讀一下下面這幾篇文章。
可是,真正權威的地方仍是布拉德·弗羅斯特的電子書、博客和實驗室,能夠從中獲取更多的信息。
接下來是關於這個設計方法和 React.js 框架的幾篇文章。
下面來介紹一下設計語言和設計系統。
Fluent Design System
Fluent Design System 中文翻譯爲流暢設計體系,是微軟於 2017 年開發的設計語言。流暢設計是 Microsoft Design Language 2 的改版,其中包含爲全部面向 Windows 10 設備和平臺設計的軟件中的設計和交互的指導原則。
該體系基於五個關鍵元素:光感、深度、動效、材質和縮放。新的設計語言包括更多對動效、深度及半透明效果的使用。過渡到流暢設計體系是一個長期項目,沒有具體的完成目標,可是從創做者更新以來,新設計語言的元素已被融入到個別應用程序中。它將在將來的 Windows 10 秋季創做者更新中更普遍地使用,但微軟也表示,該設計體系不會在秋季創做者更新內完成。
微軟於 2017 年 5 月 11 日的 Microsoft Build 2017 開發者大會上公開了該設計體系。
還有 Build 2018 上的一些微軟的 YouTube 分享。
Material Design
Material Design 中文翻譯爲質感設計,或是材質設計、材料設計。這是由 Google 開發的設計語言。擴展於 Google Now 的"卡片"設計,Material Design 基於網格的佈局、響應動畫與過渡、填充、深度效果(如光線和陰影)。設計師馬蒂亞斯·杜阿爾特(Matías Duarte)解釋說:"與真正的紙張不一樣,咱們的數字材質能夠智能地擴大和變形。材質具備實體的表面和邊緣。接縫和陰影代表組件的含義。"Google 指出他們的新設計語言基於紙張和油墨。
Material Design 於 2014 年的 Google I/O 大會上發佈(參看 Google I/O 2014 - Material witness: How Android material applications work)。其可藉助 v7 appcompat 庫用於 Android 2.1 及以上版本,幾乎支持全部 2009 年之後製造的 Android 設備。隨後,Material Design 擴展到 Google 的網絡和移動產品陣列,提供一致的跨平臺和應用程序體驗。Google 還爲第三方開發人員發佈了 API,開發人員可將質感設計應用到他們的應用程序中。
除了到 官網 學習 Material Design,你還能夠訪問 Material Design 中文版 來學習。
另外,Wikipedia 上有一張 Material Design 實現的比較表,供你參考。
下面是幾個可供你使用的 Material UI 的工程實現。
接下來再來推薦其它幾家公司的設計語言。
我認爲,要了解 Web 動畫效果設計的第一步,最好的地方是 CodePen。這個網站不僅是讓人分享 HTML、CSS 和 JavaScript 代碼的網站。其中也有不少分享樣例都和動畫效果有關。這個網站可讓你對動畫效果有一些感性認識,固然還有代碼供你參考。
接下來,咱們要了解動畫效果設計的一些方法。基本上來講,動畫設計都會受 "動畫的 12 項基本法則 " 的影響,這個方法論源自於迪士尼動畫師奧利·約翰斯頓(Ollie Johnston)和弗蘭克·托馬斯(Frank Thomas)在 1981 年所出的《The Illusion of Life: Disney Animation》一書。這些法則已被廣泛採用,至今仍與製做 3D 動畫法則有關聯。這裏還有一篇文章 「Understand the 12 principles of animation」 是對這個法則的解讀和理解。
除此以外,還有幾個動畫設計指南和相關文章供你參考和學習。
6 Animation Guidelines for UX Design。這是 Prototypr 公司的一個指南,其中主要指出,動畫效果不是爲了炫配,而是能讓你的 UI/UX 能活起來,天然,不消耗時間,而且是生動故事型的動畫效果。其中還推薦了以下幾篇很不錯的文章。
Great UI/UX Animations 是設計師丹尼爾(Daniel)收集的一些很不錯的動畫,能夠給你一些靈感。
下面分享一下 UI/UX 設計的相關資源。文章資源主要有如下這些。
接下來推薦一些優秀設計的彙集地。
總結一下今天的內容。我並不認爲 UI/UX 設計這些內容只是設計師要學習的,若是你要成爲一個前端程序員,那麼學習這些設計上的東西可讓你有更好的成長空間。首先,我推薦了一些圖書和文章,讓你更好地瞭解經典的設計原則和指導思想。
而後介紹了原子設計,以及深刻學習和理解這一設計方法論的圖書、文章和其餘相關資源。最後分享了當下主流和知名公司中在用的設計語言和設計系統,並給出了大量的學習資源,推薦了一些優秀設計的彙集地。相信經過學習這些內容,你在 UI/UX 設計方面不只能收穫方法,還能得到很是多的靈感。
你的點贊是我持續分享好東西的動力,歡迎點贊!