整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          兩款開源免費的手機網頁前端開發者調試面板-eruda+vConsole

          eruda和vConsole是兩個針對手機網頁的前端開發者調試面板。讓移動端網頁開發調試變得更加簡便,前端開發者都知道在PC端瀏覽器調試非常方便,可以隨時查看調試信息等,而移動端就沒這么方便了。因此eruda和vConsole也就孕育而生!eruda和vConsole是兩個不同的產品,本文分別來介紹它們!



          Github

          https://github.com/liriliri/eruda

          https://github.com/Tencent/vConsole

          eruda簡介和使用

          Eruda 是一個專為手機網頁前端設計的調試面板,類似 DevTools 的迷你版,其主要功能包括:捕獲 console 日志、檢查元素狀態、捕獲XHR請求、顯示本地存儲和 Cookie 信息等等。

          • 功能介紹


          1. 按鈕拖拽,面板透明度大小設置。
          2. Console面板:捕獲Console日志,支持log、error、info、warn、dir、time/timeEnd、clear、count、assert、table;支持占位符,包括%c自定義樣式輸出;支持按日志類型及正則表達式過濾;支持快捷命令加載underscore、jQuery庫;支持JavaScript腳本執行。
          3. Elements面板:查看標簽內容及屬性;查看應用在Dom上的樣式;支持頁面元素高亮;支持屏幕直接點擊選取;查看Dom上綁定的各類事件。
          4. Network面板:捕獲請求,查看發送數據、返回頭、返回內容等信息。
          5. Resources面板:查看并清除localStorage、sessionStorage及cookie;查看頁面加載腳本及樣式文件;查看頁面加載圖片。
          6. Sources面板:查看頁面源碼;格式化html,css,js代碼及json數據。
          7. Info面板:輸出URL及User Agent;支持自定義輸出內容。
          8. Snippets面板:頁面元素添加邊框;加時間戳刷新頁面;支持自定義代碼片段。

          • 快速上手

          通過CDN使用或者通過npm安裝:

          npm install eruda --save
          

          在頁面中加載腳本:

          <script src="node_modules/eruda/eruda.min.js"></script>
          <script>eruda.init();</script>
          

          Js文件對于移動端來說略重(gzip后大概100kb)。建議通過url參數來控制是否加載調試器,比如:

          ;(function () {
           var src = 'node_modules/eruda/eruda.min.js';
           if (!/eruda=true/.test(window.location) && localStorage.getItem('active-eruda') != 'true') return;
           document.write('<scr' + 'ipt src="' + src + '"></scr' + 'ipt>');
           document.write('<scr' + 'ipt>eruda.init();</scr' + 'ipt>');
          })();
          

          初始化時可以傳入配置:

          • container: 用于插件初始化的Dom元素,如果不設置,默認創建div作為容器直接置于html根結點下面。
          • tool:指定要初始化哪些面板,默認加載所有。
          let el = document.createElement('div');
          document.body.appendChild(el);
          eruda.init({
           container: el,
           tool: ['console', 'elements'],
           useShadowDom: true
          });
          

          插件

          • eruda-fps:展示頁面的 fps 信息。
          • eruda-features:瀏覽器特性檢測。
          • eruda-timing:展示性能資源數據。
          • eruda-memory:展示頁面內存信息。
          • eruda-code:運行 JavaScript 代碼。
          • eruda-benchmark:運行 JavaScript 性能測試。
          • eruda-geolocation:測試地理位置接口。
          • eruda-dom:瀏覽 dom 樹。
          • eruda-orientation:測試重力感應接口。

          如果你想要自己編寫插件,可以查看Github提供的教程


          vConsole

          vConsole是由騰訊出品的一個輕量、可拓展、針對手機網頁的前端開發者調試面板。



          特性:

          • 查看 console 日志
          • 查看網絡請求
          • 查看頁面 element 結構
          • 查看 Cookies、localStorage 和 SessionStorage
          • 手動執行 JS 命令行
          • 自定義插件

          安裝使用:

          使用 npm 安裝:

          npm install vconsole
          

          引入 dist/vconsole.min.js 到項目中:

          <script src="path/to/vconsole.min.js"></script>
          <script>
           // 初始化
           var vConsole = new VConsole();
           console.log('Hello world');
          </script>
          

          對于 TypeScript,可引入 d.ts 文件:

          import 'path/to/vconsole.min.d.ts';
          

          PS:你還可以編寫自己的插件,具體的詳細文檔可查閱Github


          總結

          eruda和vConsole都是移動瀏覽器端網頁調試的調試利器,更加方便準確的調試移動端,尤其是在APP內置的webView上加載我們的頁面,想要查看手機瀏覽器信息是非常不容易的一件事情,有了它們,這些問題都將不復存在,有需要的朋友不要錯過,Enjoy it!

          知道早期的開發中,前后端是不分離的嗎?那么后來它們又為什么要“分家”呢?分離后又有什么好處呢?

          在前面一篇文章中,產品汪搞懂了前后端的工作分工。但是了解過程中,一個程序猿哥哥不經意間的一句話:“現在都是前后端分離的”,讓小汪感到納悶了,以前難道前后端不分離的么?于是小汪就繼續深究起來。

          不溫馨的一家人

          在十幾年前,前端的地位其實相對于后端并不那么強勢,以下是一種經典的編程框架。

          MVC:Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼。

          有意思的事情出現了,內容是傳給用戶的,前端并不是直接接觸用戶的!前端只是提供了個樣式模板,由后端把內容嵌入進入,再由后端直接傳給用戶。

          這個時候,前端的編程要各種順著后端哥哥的心意,而且前端要是出bug了,還得拉上后端一起研究,誰讓你往我的模板里插了內容,出了幺蛾子你就得負責到底。

          這個時期前后端高度耦合,從編程環境、到開發調試,都必須“在一起”,對于前端來說,其實自主權就不高,對后端來說,也要懂一些前端的知識。

          于是前端程序猿對后端程序猿說,要不……你只管你的業務和數據,把結果給我,我來負責組裝與呈現,這樣大家都輕松些。于是前后端就分離了。

          當初是你要分開,分開就分開

          前后端分離帶來的好處:

          (1)編程更輕松

          前后端分離之后,后端更專注于實現業務邏輯,形成一套標準化的“API接口”,例如需要創建商品,前端將商品信息傳給后端創建商品的接口,后端就會完成商品的創建,并返回創建結果。如果前端給的創建商品信息缺了標題或者價格,后端還能返回創建失敗的結果,并且提示缺失了哪些信息等。

          前端除了負責界面樣式和交互,還接管了獲取和展示數據的權利,從此前端開發就自由多了,如果遇上bug,也能很輕松定位到是前端還是后臺的事情。

          (2)更高的可復用性

          前后端分離,更是順應了互聯網發展多樣化的潮流。后端通過提供一系列可以實現不同業務功能的接口,就可以讓不同的前端、甚至外部系統過來對接。

          這樣方便了公司不斷推廣自己的產品,今天推出手機網頁版、明天推出APP版、后天推出小程序版本等。而后端只需要提供一次接口,無需每增加一類客戶端,后端就要新寫過。

          用戶訪問網站的過程小知識:

          1. 瀏覽器先下載HTML的內容
          2. 根據HTML里的內容,下載并加載對應的CSS,讓網頁漂亮起來
          3. 根據HTML里的內容,下載并加載對應的JavaScript,讓網站具備交互動效,其中部分JavaScript代碼負責向服務器上的后端請求數據,并展示在頁面上。

          但是久而久之,前后端分離在web網頁上也遇到了一些問題,最明顯的是以下兩點:

          1. JavaScript的請求在用戶瀏覽器中進行,當一個網站需要展示非常多的內容時,JavaScript就要向后臺多個接口請求數據,然后再在用戶瀏覽器上完成頁面組裝,這過程中就會給用戶設備的網速、設備的運行速度(CPU、內存等)帶來一定的壓力。
          2. 搜索引擎,如百度、搜狗、谷歌等,想爬取網頁的內容時,就會用到爬蟲。爬蟲會抓取網頁HTML里面的內容,然后讓其他網友可以搜索到你的網頁。但是此時,HTML文件就是個框架,要依靠JavaScript才能獲取到數據。這就會導致你的網頁難以被搜索引擎收錄,用戶很可能搜不到你的網頁。

          前后端分離為用戶設備帶來的影響,可以通過“換臺新手機”、“換臺新電腦”解決,但是搜索引擎爬不到網頁的數據,對很多重度依賴搜索引擎流量的產品來講,打擊可就大了。

          例如你需要找一個菜譜的時候,可能會在百度搜索“芥藍怎么炒好吃?”,然后再從搜索結果里面訪問各種美食網站。又或者你想去哪里玩,就會在百度搜索“土耳其旅游攻略”等等。對于這類重搜索引擎流量的網站而言,如果爬蟲爬不到自己的數據,客流損失就比較嚴重。

          運行在后面的前端

          考慮到上訴問題,聰明的網頁前端程序猿就想到了一個新的辦法,那我們先把后臺的數據跟HTML內容整合好,再呈現給用戶吧,得力于一種叫做Node.JS的、可以使用網頁前端熟悉的JavaScript編程的工具,于是有了2.0版本的前后端分離。

          前端程序猿跟服務器上的后端說,讓一讓,給我騰個地兒,然后把Node.JS放在了服務器上。等用戶或者爬蟲需要訪問網頁時,這個運行在服務器上的程序,先請求后端獲得數據,并整合到HTML中,然后再返回給用戶。

          這樣一來,用戶的設備就少了JavaScript多次請求后端的煩惱,加快了運行速度,而爬蟲也可以爬取到填充好內容的HTML網頁了。

          看到這里,小汪就想,這么一來,用戶體驗、爬蟲的問題確實解決了,但是讓本來本該發生在用戶瀏覽器上的事情,都在服務器上做了嘛,如果訪問量大的話,咱服務器的壓力不就很大了?

          前端程序猿哥哥呵呵一笑,其實不然,你想想,很多用戶都是在訪問同一個網頁,看同一個商品、讀同一篇文章,這些請求,要是服務器的前端就請求后臺一次,然后把整合好的HTML保存起來,下次再有人再來訪問,就把這個生成好的HTML展示給用戶,這樣不就服務器輕松了、用戶訪問也快了么!

          小汪又問了,那咋們頁面多了,不就要每個頁面都保存一份HTML文件么,服務器儲存的空間不就越來越少了么?

          前端程序猿哥哥繼續答道:久而久之,HTML文件在服務器積累多了,就把好久都沒人訪問的HTML刪了,給其他新保存的HTML文件讓位置,通過“緩存”技術,讓服務器永葆活力。

          小汪恍然大悟,原來這就是緩存啊!這下子,小汪終于明白了前后端分離是什么回事,以及為什么要前后端分離。

          現在隨著很多大型產品的形成、獨立運行,新的“信息孤島”正在形成。例如微信的公眾號-小程序-朋友圈-圈子,然后通過搜一搜進行統一搜索,內部造血,而不再依賴傳統的搜索引擎為他引流。

          又例如淘寶,很多年前就拒絕了讓百度爬蟲爬取他的商品信息,只允許在淘寶內進行搜索。你在百度上搜不到淘寶的商品,在微信上也找不淘寶的任何信息、無法訪問淘寶任何的鏈接,如果你要淘寶購物,就只能去淘寶網站或者下載淘寶APP。新的互聯網格局的形成,肯定會進一步影響著前后端的關系。

          本文由 @iCheer 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

          題圖來自Unsplash,基于CC0協議。

          坤 發自 凹非寺

          量子位 報道 | 公眾號 QbitAI

          “你有蘋果充電線嗎?”“我用的是安卓。”充電器不一樣,實在是不方便。

          現在,歐洲要實現充電接口的統一了。

          歐盟一項最新提案要求電子行業統一使用USB-C作為充電設備標準。目的是為了減少電子垃圾,給消費者帶來更方便的使用體驗。

          歐盟委員會提出,USB-C將成為所有智能手機、平板電腦、相機、耳機、藍牙音箱和游戲掌機的標準端口。

          無論在家還是出門,都只需要一個充電器,簡直不能更方便。

          充電器統一標準的具體內容如下:

          將USB-C作為充電器唯一接口類型。其他接口如Lightning等,將不被允許出現在歐洲市場上。

          統一快速充電技術,確保充電速度相同。各商家的充電器參數需調整到統一水平,允許不同設備兼容。

          充電器與電子設備分開銷售,消費者自由選擇是否需要購買充電器。

          廠商必須明確提供電子設備的充電參數,由消費者決定是否需要更新充電器。

          也就是說,歐盟不僅要讓充電接口統一,快充標準也得統一。

          圈地自萌的市場現狀

          來看看手機市場充電接口的現狀:目前已經是蘋果Lightning與安卓Type-C二分天下,相比瀕臨淘汰、只能單面插入的micro-USB接口,這兩種類型使用起來更安全,不易損壞接頭。

          而可適配USB 3.0的Type-C端口,在傳輸速度和功率方面,也要比USB 2.0時代的Lightning接口強大得多。

          安卓宇宙的參差

          安卓和蘋果充電器不兼容,那插口類型相同的各品牌安卓充電器,能不能通用呢?

          雖然都叫Type-C,但也是有功率大小之分的。各家手機廠商都發展了自己的獨特快充技術,50W以上快充功率比比皆是。

          小米達到了50W功率,至尊紀念版則一路飆升到120W,Vivo、OPPO也分別實現了120W、125W快充技術。只要充電頭和電子設備的芯片互相支持,協議達成就可以實現快充。

          那么不同快充功率的充電器可以混用嗎?可以,但沒必要。無法匹配的設備,快充技術將無法體現出價值。

          現在,歐盟不光要統一接口類型為Type-C,還要求統一快充標準,大家都是充電器,還分什么高低貴賤。

          這種政策當然是消費者最喜聞樂見的,不僅不用再為滿滿一抽屜的雜亂數據線頭疼,還不用再去買第二個充電器了。

          但是故事的主角——各大電子廠商才不會乖乖照做。

          為什么各家廠商都不愿統一

          廠商為什么不會配合?還不是賺不了這部分利潤了。

          安卓內部各自開發快充技術,就是為了做到隱形捆綁銷售。既然都要買配件,為什么不能是買自己家的?為了讓“原裝”更有分量,只能在充電速率技術壁壘上下點功夫了。

          雖然在十年前歐盟的倡議下,行業內達成了一致,充電器類型從30個減少到3個,但大家還是得各自把技術壁壘建立起來。

          技術壁壘建在哪?接口上加個獨家認證還不是分分鐘的事。

          而蘋果與歐盟通用充電器標準的拉鋸戰也已經持續了十多年,歐盟這次的提案,直接將事態帶入到了白熱化階段。

          在歐盟倡議使用統一micro-USB標準階段,蘋果依然自顧自開發出了Lightning接口,并以附贈micro-Lightning轉接頭的方式無視了這一規定。

          隨后,歐盟再次將統一充電標準提上日程,去年進行了歐洲議會投票,以582 : 40的票數通過決議。

          蘋果立刻發表聲明,稱歐盟這項舉動會“扼殺創新”。并委托哥本哈根經濟學專家做出“充電器改革一點都不環保”的研究結論。

          為了證明保留Lightning也可以環保,蘋果從iPhone 12開始,手機與充電器分開銷售,聲稱這一措施節約了861,000 噸金屬資源。但是由于蘋果的獨家芯片,消費者還得花高價買。

          但是Lightning不支持更高傳輸速率和更高充電功率。

          蘋果只能在最新Mac筆記本和iPad中使用USB-C接口,但是iPhone產品卻依然堅持Lightning接口。

          對于廣受質疑的“歐盟立法是在針對蘋果”問題,歐盟行業負責人表明:“我們不是在針對蘋果,我們沒有在針對任何人。”

          同時,歐盟也表示:“這項提案考慮的情況是,未來蘋果已經在其他設備上實現了USB-C兼容。”

          至于蘋果接下來會怎么做,還挺讓人期待的。

          參考鏈接:
          https://www.engadget.com/europe-proposes-usb-c-as-a-common-charger-for-electronic-devices-131605815.html

          https://ec.europa.eu/commission/presscorner/detail/en/ip_21_4613
          https://www.engadget.com/2020-01-23-apple-rejects-eu-call-for-common-phone-charger.html
          https://www.bbc.com/news/technology-58665809

          — 完 —

          量子位 QbitAI · 頭條號簽約

          關注我們,第一時間獲知前沿科技動態


          主站蜘蛛池模板: 日本一区二区在线免费观看| 无码毛片一区二区三区中文字幕| 国产91大片精品一区在线观看| 亚洲中文字幕在线无码一区二区 | 亚洲国产系列一区二区三区| 麻豆va一区二区三区久久浪 | 国产一区二区电影在线观看| 亚洲国产系列一区二区三区 | 国产成人无码一区二区在线观看 | 精品无码av一区二区三区 | 北岛玲在线一区二区| 国产一区二区三区久久精品| 日本免费一区二区在线观看| 国产丝袜无码一区二区三区视频| 日本一区二区三区精品视频| 国产精品夜色一区二区三区| 看电影来5566一区.二区| 亚洲一区二区三区在线播放| 国产激情一区二区三区四区 | 国产成人无码一区二区三区| 国产成人精品一区二三区在线观看| 午夜一区二区免费视频| 综合无码一区二区三区四区五区 | 91福利视频一区| 3d动漫精品啪啪一区二区中 | 亚洲欧洲一区二区三区| 一区二区三区91| 久久久久女教师免费一区| 亚洲AV永久无码精品一区二区国产| 日本一道一区二区免费看| 精品一区二区三区在线观看l| 日韩人妻一区二区三区蜜桃视频| 国产综合一区二区| 无码一区二区三区免费| 日韩人妻无码一区二区三区99| 日韩高清国产一区在线| 91在线看片一区国产| 亚洲AV香蕉一区区二区三区| 国产综合视频在线观看一区| 一区二区福利视频| 成人精品视频一区二区三区|