前端周刊第57期:《戰爭與和平版》的 CSS-IN-JS 黑歷史

不知道大家是否注意到,社區中出現的 CSS 尤其是 CSS-IN-JS 風格的輪子輪子越來越多,這個事情在前端社區引發的很多的討論,或者說是爭吵,比如有人說 CSS is Broken,就有人對 CSS is Fine。Cristiano Rastelli 以《戰爭與和平》為藍本<a >回顧了歷史</a>,也給出了非常贊的觀察視角,程序員應該務實,而不是教條,更重要的是保持好奇心。

另外第 56 期提到的各種技術大會,已經陸續有人整理適合 WEB 的視頻列表,本期收錄了我看過的比較精彩的兩個,如果你有時間看更多,請移步:<a >Google I/O</a>、<a >JS Conf Europe</a>、<a >Vue Conf</a>。

共 2121 字,讀完需 4 分鐘。以下是本周精選內容,請享用。

技術動態

NPM 5.0 發布:更像 Yarn

官方的 NPM 5.0 發布日志,你需要知道的版本更新要點:更快,有 Benchmark 表明它比 Yarn 還快;能夠自動保持 package.json 里面的縮進;--save 變為默認參數;支持離線模式;支持依賴鎖定,直接 npm install -g npm@5 可以體驗。

styled-components 2.0 發布

對,就是以抹指甲油圖片為圖標的那個 CSS-IN-JS 庫,我第一次使用就愛上她了,本周發布了 2.0 版本,可以說是真正意義上的大版本,代碼體積更小、添加 SSR 支持、發布全新的文檔站點、新增多個 helper 函數幫助你實現代碼復用、新增 Babel 插件來優化生產環境的代碼,最重要的點是你可以直接升級到版本 2.0 而不用做任何更改。

Autoprefixer 7.0 發布

可能部分同學對 Autoprefixer 比較陌生,是能夠自動幫你提高 CSS 的瀏覽器兼容性CSS 預處理工具,各種構建工具都有對應的插件。初版于 4 年前發布的,作者重寫整個倉庫(從 Coffee 到 Babel)之后,最近發布了 7.0 版本,新版最大變化是升級 BrowserList 到 2.0。

文章教程

Stack Overflow 全站切換 HTTPS 之路

本周宣布幫助 100W 開發者成功退出 Vim 的程序員社交網站 Stack Overflow 最近宣布了另外一件大事:花了兩年時間終于把全站切換到 HTTPS,對于部分正在升級到 HTTPS 或者想升級的同學可以看看,有個心理準備。內容比較全面,從基礎設施的遷移、到應用架構、代碼邏輯的遷移,都有經驗和教訓。

JS 函數的前世今生

函數是 JS 中的一等公民,語言在進化,其中函數的編寫、使用方式也在不斷進化,這篇文章做了非常不做的梳理和講解,從早期的函數表達式、函數聲明,函數構造,匿名函數,到后來的箭頭函數、generator、async 函數,以及不同語法組合的函數,值得看看。

保障 CSS 編碼風格的工具鏈

清晰簡潔的代碼看起來養眼,讀起來也更易懂,在 JS 領域,有很多工具來保障編碼風格,比如 ESLint、Standard,也有工具幫你格式化代碼,比如 Prettier、JS-Beautify。社區還比較年輕的 CSS 領域呢?早期的 csslint 太難用,但是最近一兩年出現了幾個比較好的工具,比如代碼檢查的 stylelint,代碼格式化的 stylefmt。

Style Guide Guide:編寫樣式規范的指南

比較重視代碼重用和用戶體驗一致性的前端團隊在處理復雜的業務都會著手積累自己的樣式規范,但實際操作過程中,可能部分樣式規范后來淪為紙上的規范,該如何維護真正有價值的樣式規范呢?比如樣式規范該怎么組織?文檔該怎么寫?向 Brad Frost 學習。

開發工具

sitespeed.io:給你的應用來個全面的性能診斷?

sitespeed.io 完全基于開源工具構建,能夠一鍵對你的 WEB 應用做全面的性能診斷,內涵 Browsertime、ChromeHar、PageXRay 等工具,支持把結構輸出到 Grafana,安裝方式也比較靈活,近期在關注性能的同學可以看看。

代碼框架

Shoutem 開源的 React Native 動畫組件

Shoutem 已經被認為是移動領域的 WordPress,可以快速幫用戶構建 APP,其在 React Native 上做的事情還是不少,這是他們開源 React Native 的動畫組件,支持常見的位置、大小、透明度、坐標軸,動畫作者還在 Medium 上發了一篇不錯的文章:《Declare Peace with React Native Animations》,感興趣的可以去搜來讀讀。

在 Node.js 頂級作用域中直接使用 await

或許你也曾疑惑,為啥 Node.js 里面的 await 語法不能直接使用,而需要在特定的 async 函數中使用,這個 package 源自 Sindre Sorhus 在 twitter 發的一條牢騷,實現的方式也比較 hack,很可能這個特性會出現內置的支持,夢想是要有的,萬一實現了呢。

ensure-error:確保你收到的是 Error 對象

npm 社區貢獻的各種 package 在數量上絕對碾壓其他語言,但是質量也是參差不齊的,具體到筆者自己踩過的坑就是某些包拋出的錯誤不是標準的 Error 實例,導致我們的錯誤處理代碼要做特別的改造才不會在處理錯誤的時候再出錯。和 ensure-callback 類似,這個包能確保你拿到的 error 是正確的對象,Sindre Sorhus 這種發現問題解決問題的思路非常值得我們學習。

找找靈感

Awesome 系列:函數式編程的資料合集

Awesome 系列,整理了函數式編程方面的很多不錯的演講、文章、視頻,覆蓋的語言也比較多,感興趣的可以慢慢看。

視頻教程

DevTools: State of the Union 2017

由 Paul Irish 在 Google I/O 2017 上給大家帶來的分享,里面包含大量 Chrome 開發者工具的現場演示,比如:調試 PWA 的功能和技巧;如何解讀應用性能、可用性報告;如何使用最新的 async 單步調試功能;如何快速的在開發者工具中編寫、保存代碼。

WebAssembly 對 React 究竟意味著什么?

程序員卡通作家 Lin Clark 在 JSConf EU 2017 上的演講,Facebook 是真心想把 React 的性能做到機制,而 WebAssembly 確實快,二者結合起來會怎樣?我不劇透了,感興趣的自己看哈。如果想看 Link Clark 的更多卡通畫,可以去搜 ”A Cartoon Guide to“。

egghead.io:玩轉 JS 中的數組

數組可以說是任何編程語言里面最重要的數據類型,JS 也不例外,掌握他們的必要性不必言語,該視頻列表涵蓋了幾乎所有的 JS 數組操作,內涵不少使用數組完成常見任務的特別技巧。

One More Thing

本文作者王仕軍,商業轉載請聯系作者獲得授權,非商業轉載請注明出處。如果你覺得本文對你有幫助,請點贊!如果對文中的內容有任何疑問,歡迎留言討論。想知道我接下來會寫些什么?歡迎訂閱我的掘金專欄知乎專欄:《前端周刊:讓你在前端領域跟上時代的腳步》。

Happy Hacking

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評論 6 532
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,497評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,727評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,193評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,411評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,945評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,777評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,978評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,216評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,657評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,960評論 2 373

推薦閱讀更多精彩內容