Web開發中的「黑話」

做者:戴嘉華html

轉載請註明出處,保留原文連接和做者信息git

前言

在Web開發這個突飛猛進的時代,老是須要閱讀一些最新的英文技術博客來跟上技術的發展的潮流。而有時候會遇到一些比較高頻的「黑話」,在社區裏面可能已是人人皆知的「共同語言」,而你接觸的少就恰恰看不懂。就像如今幾乎全部中國人都知道duang是什麼東西,可是一個剛學中文的外國人看到之後可能就一頭霧水。github

duang

黑話也是要學習的,本文收集各類Web開發的黑話。這裏先介紹兩個。canvas

Polyfill

Polyfill或者Polyfiller,是英國Web開發者 Remy Sharp 在咖啡店蹲坑的時候拍腦殼造出來的。當時他想用一個詞來形容"用JavaScript(或者Flash之類的什麼鬼)來實現一些瀏覽器不支持的原生API"。Shim這個已經有的詞彙第一時間出如今他的腦海裏。可是他回頭想了一下Shim通常有本身的API,而不是單純實現原生不支持的API。苦思冥想一直想不到合適的單詞,因而他一怒之下造了一個單詞Polyfill。除了他本身用這個詞之外,他還給其餘開發者用。隨着他在各類Web會議演講和他寫的書《Introducing HTML5》中頻繁提到這個詞,你們用了都以爲很好,就一塊兒來用。瀏覽器

Polyfill的準確意思爲:用於實現瀏覽器並不支持的原生API的代碼。框架

例如,querySelectorAll是不少現代瀏覽器都支持的原生Web API,可是有些古老的瀏覽器並不支持,那麼假設有人寫了庫,只要用了這個庫, 你就能夠在古老的瀏覽器裏面使用document.querySelectorAll,使用方法跟現代瀏覽器原生API無異。那麼這個庫就能夠稱爲Polyfill或者Polyfillerpost

好,那麼問題就來了。jQuery是否是一個Polyfill?答案是No。由於它並非實現一些標準的原生API,而是封裝了本身API。一個Polyfill是抹平新老瀏覽器 標準原生API 之間的差距的一種封裝,而不是實現本身的API。學習

已有的一些Polyfill,如 Polymer 是讓舊的瀏覽器也能用上 HTML5 Web Component 的一個PolyfillFlashCanvas是用Flash實現的可讓不支持Canvas API的瀏覽器也能用上Canvas的Polyfill網站

這裏有一堆Polyfills,有興趣能夠把玩一下:HTML5 Cross Browser Polyfillsurl

Vanilla JavaScript

Vailla JavaScript是目前世界上跨平臺兼容性最好、最小、最快的JavaScript框架。它的官網爲:http://vanilla-js.com/

vanilla.png

在官網上,你能夠嘗試能夠選擇不一樣的功能模塊自定義進行下載。可是無論你怎麼選怎麼下,下下來的js文件都是空的。好吧,這個網站自己就是個玩笑。Vanilla JavaScript指的就是純原生的JavaScript,因此不須要任何代碼。

在基佬百科上Vanilla的意思爲:

Computer software, and sometimes also other computing-related systems like computer hardware or algorithms, is called vanilla when not customized from its original form...

在計算機軟件領域中,若是你對原生系統沒有作任何定製性的修改,就是Vanilla。你把Vailla當作是Pure或者Plain的意思都是能夠的。Vanilla JavaScript就是Pure JavaScript的意思。

例如,我在巨硬官網下載了官方的xp系統鏡像,這個系統就能夠稱爲是vanilla的。可是若是你在國內某些網站下載了某些定製的盜版鏡像,那就不是vanilla了。

參考資料

(待續未完)

相關文章
相關標籤/搜索