可用性有如此重要?
請原諒我取了個如此有爭議的標題,原文的標題是《瀏覽器不是什么》。我個人覺得作者有點脫離題目,但這并不影響其想要陳述的觀點。
可用性一直是我們前端爭論的焦點之一。但仔細想想,我們是否值得為那些連見都沒見到過的盲人閱讀器或者那些自行禁用JavaScript的用戶投入額外的、大量的開發成本去“滿足”他們?
回想在那混沌初開時期,計算機是沒有聲音的,如果需要這項功能,則需要插入額外的聲卡。而后過了段時期,有些計算機默認就加入了聲卡,而有些則仍然保持著“啞巴的傳統”。
然后再過了許多年,主板廠商們直接將聲卡集成進了主板中--至此,幾乎所有的計算機都配置了聲卡。那么問題是:這期間,多媒體行業做了些什么改變了這一切?
開始,應用程序發出如果想使用的聲音,那么只能通過內置的PC 揚聲器發聲 。而后過了段時期,出現了能夠同時使用揚聲器和聲卡的應用程序。
話說回來,現在是否還有人關心自己的機子上有無聲卡嗎?我想恐怕已經沒有。甚至我覺得人們已經遺忘了機箱中的揚聲器了。
例如,我從來沒有見過某款游戲因為機子上沒有聲卡而自動關閉其聲音--當然,如果我耳朵聽不到那是另外回事情(老外的這個說法比較冷)。
說了那么多,上述故事和瀏覽器以及 JavaScript 的故事非常的相似。不同的是現在的開發人員,在開發應用的時候,仍然在考慮如果沒有腳本支持的這一情況。
其實和當年的聲卡普及情況差不多,JavaScript 發明于 1995 年(已經是 15 年前了)。當時其在瀏覽器中的份額不到 1%,而且當時的用戶(甚至開發者)都認為這玩意是可有可無的。
我的觀點是,每個 Web 應用程序應該能夠盡可能的運行在不同環境中,但它并不說明無條件的遷就于某一情況,在任何情況下都表現一致。
例如,在瀏覽器沒有 JavaScript 支持的情況下,新聞類站點仍然可以顯示其主要內容(新聞),同時不保證那些依賴 JavaScript 的相冊腳本,仍然還能正常工作。
我們現在稱之為“瀏覽器”的應用程序必須為:它能理解 HTML、能使用 CSS 渲染頁面、同時能驅動 JavaScript 腳本。某個應用程序只能夠完成上述一項或者其中兩項功能,那么這壓根就無法稱之為“瀏覽器”。
例如,搜索引擎理解 HTML(以及部分 CSS 防止作弊),我們只需要提供內容讓其收錄 -- 同時它不需要過多的了解 GUI 相關的設計。
從內容方面考慮,其實我只關心兩件事物:搜索引擎和瀏覽器。首先,我第一步需要做的就是創建具有語義的 HTML(這對于 HTML 來說并不容易),然后再使用 CSS 排版并且使其支持現代瀏覽器,然后再使用 JavaScript 增加針對 IE 的 CSS 規則(很明顯原作者非常討厭 IE)。
我的上述工作流程有時候會收到指責,因為這樣必須讓老舊的瀏覽器具備 JavaScript 支持才能引入針對其自身的 CSS 規則。同時情況可能變得模棱兩可,我真的不認為我們稱之為“瀏覽器”的玩意竟然不支持 JavaScript,哪怕是那些可以稱之為古董的玩意(暗指 IE 嗎?)。
總而言之,我們的思路應該為未來而開發,而非遷就過去(We should develop for the future not for the past.)。
我們應該為大多數(用戶)而非少數服務。如果我們的用戶中有 0.1% 禁用了 JavaScript,那么在我看來,我們可能不值得去耗費大量的開發時間去爭取那些 0.1% 的用戶。
同時另一個事實是,如果我們讓用戶覺得在沒有使用 JavaScript 的情況下也能使用我們的應用,那么他們會毫不猶豫的禁用它(類似?noscript 插件)。那么這樣,我們推進 Web 的前進幾乎是不可能的,我們和用戶都會認為 JavaScript 是額外的附屬品。
最后,其實我想說明的是:在著手實際開發之前,我們首先規劃那些有限的資源(例如時間、人力等)-- 它們的計劃投入和實際產出是否能符合我們的預期。
-- Split --
原文地址:?http://blog.istvan-antal.ro/2010/10/what-is-not-a-browser/
-- EOF --
來源:http://www.gracecode.com/archives/3035/
- 目前還沒評論,等你發揮!