Web 和 Chrome 開發者之間的那些事!

2021-02-25 Java後端技術

來源 | 代碼灣

原文連結 | 請點擊閱讀原文進行查看

這個標題可能咋看之下似乎有那麼一點怪(不過你要知道,把標題起的這麼怪真不是我的本意),而我真正想看到的是,你們 web development 社區是如何看待 Web以及Chrome 開發者之間的協同配合。

接下來(講述)的大部分內容,都是我直接從自己寫的doc給摘錄過來的,(至於doc寫的是啥)?或許你們可以把它(簡單的)理解為團隊自己定下的(具有)高水準的目標(our high level goals as a team)吧。不過,我擔心的是,接下來的內容可能講的有點誇張(hyperbolic),(不過說句實在話),從長遠來看,我內心還是希望所有與web開發相關的團隊(developer relations team)都能夠遵守。

(上面講的內容)其實是可以變的(This isn’t set in stone),不過我還是想圍繞這個話題來和大家探討一下。如果大家都能夠給出一些反饋的話,我將不勝感激。(另外,我想說的是),我們大家是不是還忽略一些東西?是不是也沒有把關注點放到正確的事情上?(假如你遇到這些事情),你會怎麼做?

doc的定位:(其實我們可以把它看作)是一份關於(如何設立)目標、如何分清輕重緩急、如何與開發者共事以及如何為開發者服務的(公開)清單而已。如果你願意的話,完全可以把它稱之為和web開發者相關的那些事。

(要記住),web是屬於所有人。(為啥醬紫說呢,有什麼依據嗎)?就拿web這種媒介來說,也正是因為觸網(譯者註:接觸網絡的簡稱),對於我們來說不怎麼費勁(incredibly low friction),這才讓web能夠以迅雷不及掩耳盜鈴之勢的速度來到我們身邊,而且在歷史的長河中(in the history of the world),我也從來沒見過一個人就能夠讓web成為世界各地的人發布內容、吸收(consume )信息和經驗的媒介。

我們的目標,是幫助開發者構建自己的開放平臺,從而來滿足用戶的需求,然後就是讓這個世界的信息以及經驗都能夠唾手可得。

我們一直在提醒(advocate for)自己,(自己所在的)Chrome 團隊代表的是開放的web(精神),並且希望web用戶能夠和我們一起來維護(support)web生態系統,從而讓web生態系統,在不用顧及開發者究竟是使用哪種瀏覽器、工具或者用戶更偏向哪個平臺的前提下,達到更遠大的目標。當然,我們也會通過一些方式來支持目標的實現,例如寫一些輔助指南以及造一些成功的輪子。

(其實)我們更喜歡在一種開放的環境下工作,比如,我們力圖讓所有的開發者都能以更加透明的方式來實現自己的目標,那究竟啥是透明的方式?那就是直接與開發者合作。

我們不但是開發者的忠實擁護者,而且有時候還會去傾聽來自開發者社區的聲音(feedback)。為啥呢?因為這些聲音,可以很好的協助我們把Chrome團隊的重心(contribution)給引到web platform上去。

我們始終相信,web 是為所有人準備的,而且從(長遠的 )web 健壯性的角度來看,開發者很有必要去關注一些針對頁面可訪問性、頁面載入速度、安全性、易用性以及性能優化等方面的規則。

頁面的可訪問性

(大家都知道),web已經以迅雷不及掩耳盜鈴之勢的速度來到了我們身邊,這也就意味著,在不考慮性能(capability)的前提下,任何人或者應該這樣說所有的人都能夠使用web技術。

接下來,我們也會做一些(前期)工作,來確保能夠讓開發者明白,為啥他們需要構建可訪問性的站點以及告訴他們應該如何構建(具有)頁面可訪問性的站點。當然,我們也會造一些輪子,來確保讓開發者能夠擁有完善的工具鏈,從而簡化開發流程。

頁面的載入速度web的優勢在於其獲取內容的能力,舉個慄子,單點一個連結,就能夠輕鬆瀏覽到app裡面的內容以及遊戲裡面的內容。雖說,在用戶點擊(某個)連結的過程中,有時候也會出現上述內容訪問不到的情況,(不過,我覺得)內容訪問不到的這個鍋不應該由用戶來背,這是因為,與開發者相比,用戶的設備以及網絡連接情況不知道差哪去啦。

我們希望看到的是,每個(站點的)頁面都能夠秒開,甚至是在網絡極度不好的情況下,也能夠達到上述效果。其次我們希望,網站的用戶體驗也能夠做的更加流暢。(最後補充一句),用戶體驗的建設,也不忘記把設備的電量、性能、所處的網絡環境以及其它跟用戶開銷相關的因素考慮進去。

將來我們也會做一些準備工作,來告訴開發者他們應該往哪個方向使勁(there are clear goals and targets for all developers to aim for),而且一般來說,開發者都會用執行速度快的工具以及庫,那也就是說,讓頁面實現秒開的想法是站得住腳的( the reason for reaching these goals is rational and well understood)。

安全性

從安全性的角度來講,web其實是用戶的死對頭。為啥呢?這是因為,對於開發者來說,開發一個釣魚網站真的不是什麼難事。所以,用戶只有在確保該網站不會存在追蹤用戶、監控用戶或者主動攻擊用戶的情況下,才可以信任該網站。

我們希望看到的是,在網絡不好的條件下或者在用戶使用外網服務的過程中,該用戶仍然能夠處於安全狀態。

將來,我們也會幫助開發者來構建出屬於自己的安全站點以及軟體,最常見的套路,參考最佳實踐指南、使用一些已經造好的輪子,然後就是(積極)參與生態圈周邊(的建設)。

隱私

從隱私的角度來講,web其實也是用戶的死對頭。所以說,只有在確保該網站不會存在追蹤用戶、監控用戶或者丟失用戶數據的情況下,用戶才可以信任該網站。

我們希望,用戶自己不但能夠理解他們是如何與網站進行交互的以及(他們)是如何使用網站服務的等細節,而且還能夠有選擇性的將(自己使用過的)網站添加到可以信任的網站列表當中,最後就是能夠認識到這些事情背後的深層含義以及權衡利弊(trade-offs and implications)。

我們也會給出最佳實踐以及針對最佳實踐的手冊,(可能有人會說,為啥要給出這些東西呢?我們做這麼多的事),還不是為了讓開發者知道如何來打造極致的用戶體驗,(那麼問題來了,啥是極致的用戶體驗呢)?簡單來講就是,在用戶看第一眼的時候,就能夠讓用戶產生心理預期,而不需要用戶主動降低自己的心理預期(users trust without the need to revert to 「dark patterns」 that erode trust)。針對上面提到的這些,我們也會做一些準備工作,確保開發者能夠意識到這些數據(指的是由他們自己收集或者他們自己分析得出的數據)背後的深層含義,然後就是對一些必要的事情實行嚴格審查機制。

易用性

對於能夠觸網的人們來說,web真的是一種最簡單、有效的方式啦。然而,(悲催的是),web的構建過程,(對於大多數人來說),真的有點過於複雜。

所以,在保證 web 構建簡單易用的同時,我們希望也能夠推動 web platform 的發展。另外,我們也會給 web platform 集成一些功能強大、且容易被開發者接受的新特性。

以後,我們也會說到,其實web platform一開始就是奔著打造web最佳實踐以及造輪子的目的去的,另外,我們也會攜手開源庫的作者,來一起支持一些框架周邊生態的建設。

性能

對於原生platform來說,web platform不失為一套可行的解決方案,不過令人遺憾的是,在跨瀏覽器以及行動裝置的過程中,(對web platform的)支持度讓web platform難以落地(make it hard for this to be a reality)。

我們希望看的是,(多年下來所積累的web)經驗都能夠分享給其他所有人,而不是把這些web經驗給爛死在app 以及其它的封閉平臺裡面。同時,我也希望用戶以及開發者都能夠明白web究竟能用來幹啥,然後就是知道如何把(豐富的web)經驗給遷移到一些媒介的選擇上去。

在尊重用戶設備兼容性以及各家瀏覽器兼容性的前提下,我們也會造一些輪子以及寫一些最佳實踐指南,來方便開發者上手體驗(web platform 的)新功能。(我再補充一句,我們推薦開發者使用 web platform 這些新功能的初衷),真不是為了從火力上壓制 native platform,(而且就算是沒有 web platform 這些新功能),開發者也還是會通過一種對用戶、對自己友好的方式,把前沿技術給整合進去的。

點擊圖片查看更多推薦內容

↓↓↓

大型網站架構之架構演變

做一個有批判性思維的程式設計師!

一步步帶你了解前後端分離利器之JWT

相關焦點

  • chrome 開發者工具實用技巧
    下面是測試報告:全局搜索代碼打開開發者工具,點擊 Console 標籤,按 ESC 彈出:利用 Performance 檢查運行時性能打開開發者工具,點擊 Performance 標籤:Rendering 實時檢測網頁變化打開開發者工具,點擊 Console 標籤,按 ESC 彈出:
  • 如何下載舊版的Chrome和Chromium
    而對於開發者來說,這是一個令人心動的功能,同時也會帶來不便。例如在做 web 測試時,我們需要下載一個舊版的 Chrome 瀏覽器;用戶在某個舊版的 Chrome 瀏覽器下遇到了一個錯誤,而用最新的版本無法重現。這時我們需要下載舊版瀏覽器進行測試。假設你需要 Chrome 44 來測試網站。
  • chrome 開發者工具——前端實用功能總結
    下面是測試報告:全局搜索代碼打開開發者工具,點擊 Console 標籤,按 ESC 彈出:利用 Performance 檢查運行時性能打開開發者工具,點擊 Performance 標籤:Rendering 實時檢測網頁變化打開開發者工具,點擊 Console 標籤,按 ESC 彈出:
  • 牛逼的chrome插件,不用一行代碼,輕鬆爬取各大網站公開信息!(附視頻)
    ,同學就感慨道,如今的各個網站的反扒手段是越來越厲害,前幾天寫的程序,過幾天就沒法用了,尤其像是大流量網站,例如某寶和某東,做的反扒真是越來越難,逼得他程序寫起來也越來越複雜。小編今天就為大家推薦一個chrome瀏覽器的爬蟲插件神器——web scraper。讓大家只需要簡簡單單的幾個操作,不需要寫哪怕一行代碼,就可以爬取到我們想要的數據內容。01.什麼是web scraperweb scraper是谷歌提供的網頁爬取插件,可以很方便的爬取數據。
  • 給你代碼:chrome插件心得
    最近需要做一款chrome的插件,關於chrome插件的種種資料而且很分散其實網上非常少。內容腳本,直接插入到頁面裡的腳本,因為有很多敏感信息或者說危險操作,所以他的api是限定的,只能操作dom和部分chrome插件api。他可以訪問dom但是不能訪問該頁面的其他js,相當於一個額外的沙箱。列印一些屬性就是這些chrome擴展可以用。
  • 給Web 開發者的 25 款最有用的 AngularJS 工具
    AngularJS 是讓 HTML 標記動態,使其對 web 開發者更有幫助,同時從大量的分段中給定一個標準結構,使開發速度更快更高效。越來越多的前端 web 設計師尋找在允許整體代碼非常長的時候能立即設置接口的方法。jQuery 是就是這樣一個示例架構,由本地 JavaScript 控制,可以很好的加速 Web 開發。
  • web開發者不可錯過的11個JavaScript工具
    JavaScript即將接管Web世界,如雨後春筍版冒出的JavaScript工具更是讓web開發者無所適從。Meteor的基礎構架是Node.JS+MongoDB,它把這個基 礎構架同時延伸到了瀏覽器端,如果App用純JavaScript寫成,JS APIs和DB APIs就可以同時在伺服器端和客戶端無差異地調用,本地和遠程數據通過DDP(Distributed Data Protocol)協議傳輸。因此部分應用如TODO列表,網絡在線和離線下使用功能完全沒有差異,動作響應和數據延遲也完全感覺不出來。
  • 提供給 Web 開發者的 8 款最佳的跨平臺編輯器
    非常感謝各位一直以來對我們文章的關注,支持和建議,讓我們更有鬥志為大家提供更多更好的材料。今天,我們要介紹集成開發環境(IDE)給各位 web 開發者。
  • 前端開發新手入門:Web開發工具有哪些?
    開發者可以完全實現Web設計的可視化操作,無需為代碼所困。3、Adobe ColdFusion 10ColdFusion是用來開發企業Web程序的伺服器端技術,通過Websockets、互動表單、視頻和地理標籤等HTML5技術創建富媒體用戶體驗。
  • 為開發者準備的11個新鮮方便的框架
    【IT168 技術】框架被看做是幫助開發者快速設計和開發動態站點的軟體應用程式。每個月都會有無數的框架經由一些開發者發布出來,讓開發過程變得簡單而高效。  本文中我收集了11個新鮮而有用框架,興許將能在你編碼的時候幫助到你,並激發你設計和開發跨瀏覽器動態網站和web應用程式。
  • 實例:如何將Chrome Extension遷移到Firefox上
    需要修改的部分為了評估工作量,我們必須先看我用了哪些 API。FocusBlocker 的 Chrome 版本主要使用三個 API:chrome.tabs:用來監測新開啟的標籤頁和攔截已開啟的標籤頁chrome.alarm:用來設定封鎖和解除封鎖的定時器chrome.storage.sync:用來儲存設置,以及確保瀏覽器重啟後定時器仍繼續計時很棒的是,Firefox 均支持這三款 API(至少支持我用到的部分
  • 騰訊前端團隊是如何做web性能監控的?
    web 的性能一定程度上影響了用戶留存率,Google DoubleClick 研究表明:如果一個移動端頁面加載時長超過 3 秒,用戶就會放棄而離開。BBC 發現網頁加載時長每增加 1 秒,用戶就會流失 10%。我們希望通過監控來知道 web 應用性能的現狀和趨勢,找到 web 應用的瓶頸?
  • 那些讓 Web 開發者們深感意外的事情 - OSCHINA - 中文開源技術...
    曾幾何時,Web 開發設計者們認為,隨著網絡帶寬的增加以及顯示器的變大,我們的 Web 畫面會越來越大,那些傳統的 960 網格已經顯得侷促,然而事實卻往相反的方向發展,Web 開始被放進那些狹窄的小屏幕,人們喜歡這種變化,隨時隨地用掌上設備訪問 Web 站點。 我們從中學到的東西是,相對於展示效果,人們更看重方便性。
  • DevTools(Chrome 85)的新功能
    以及 Source 和 Performance 面板中的改進。這也適用於 LitElement 之類的庫或 React Native for web。即使在打開 DevTools 之後插入樣式,這些樣式也是可編輯的,這也適用於 Constructable Stylesheets[10],目前僅在 Chrome 中可用[11]。
  • 谷歌瀏覽器Chrome穩定版迎v65正式版第二個版本
    ­  Chrome 65版本擴展頁面全面啟用Material Design設計,同時為web開發者新增了兩個全新API,分別是CSS Paint API和ServerTiming API。­  官方更新日誌­  Chrome穩定版已經更新到v65.0.3325.162­  v65.0.3325.146安全修復程序和獎勵­  更新包括45項安全修復­  [$5000][758848] High CVE-2018-6058: Use after free in Flash.
  • 7 個隱藏功能和使用技巧,讓你的 Chrome 瀏覽器用得更順手
    比如集成多個命令的地址欄、有趣的實驗功能頁面 chrome://flags、豐富的快捷鍵組合操作、高級好玩的開發者工具。無需額外安裝擴展,利用好這些被隱藏的內置功能,同樣可以讓 Chrome 瀏覽器用得更順手。
  • Chrome Devtools 高級調試指南(新)
    類似的,使用DevTools的工作區設置持久化,將本地的文件夾映射到網絡,在chrome開發者功能裡面對css 樣式的修改,都會直接改動本地文件,頁面重新加載,使用的資源也是本地資源,達到持久化的效果。
  • Google限制廣告攔截器使用的Chrome功能
    該公司開始限制一項名為webRequest API的Chrome關鍵功能,廣告攔截擴展程序可使用該功能過濾內容。谷歌在Chrome「企業部署」方面只是一個例外,Chrome將保留對API的完全訪問權限,這家科技巨頭上周在開發者論壇上透露。毫不奇怪,此舉激怒了那些製造廣告攔截器的人。uBlock Origin的開發者雷蒙德·希爾(Raymond Hill)在論壇上聲稱,谷歌的真正意圖是投放更多廣告。其他人則說他們計劃放棄Chrome。「這是Google的一個令人失望的決定。
  • 入門Web開發者福音 React學習少走彎路的實用貼
    從一張由adam-golab創作超詳細的React開發者學習路線圖,開啟今天的知識分享貼。基礎知識HTML、CSS和JavaScript,這三者是Web開發的三大支柱。HTMLHTML是第一根支柱,是Web開發者最重要的技能,它提供了網頁的結構。
  • Google Chrome 63.0.3239.108 正式版發布
    Chrome 63版本為開發者帶來了很多積極的改變,包括全新的Device Memory API,異步迭代和生成器,以及各種權限UI調整。此外還為Blink引擎帶來重磅更新,並修復了大量BUG。Chrome 63的Blink網頁瀏覽器引擎部署了類似於DOM, CSS, HTML, MediaStream, JavaScript, bindings, fonts, network, storage和sensor等諸多優化,本次更新同樣還重新設計了chrome://flags頁面,提升了Google Chrome的使用體驗。