在pc端和移動端是分爲兩套代碼來寫的。css
pc端:html
佈局:總體的佈局是從上往下的佈局方式,沒有特定的兩欄、三欄佈局,而是從上到下交錯式排列。 總體的思想是width固定爲1000px(無響應式),兩邊的margin是auto,這樣,能夠在瀏覽器大小發生變化時,實現一部分margin的響應式,可是內容沒有實現響應式。 總體看上去仍是比較樸素。 前端
用戶體驗:vue
性能:總體加載網頁的速度較快,可是也是存在一個問題。 首頁的加載,發送了各類請求287個。 而且去查看圖片的請求能夠發現多達134個,因此這個請求量仍是很是巨大的,由於其中只有部分常常不變的圖片使用了雪碧圖的方式,還有不少沒有使用雪碧圖的方式,致使請求量較大。 而且雪碧圖的合併也是有問題的, 佔用了較多的空間。 html5
js使用: 經過查看network,能夠發現js的數量爲40個左右,仍是比較多的,比較好的是大部分js都是通過壓縮的,只有一些沒有壓縮。能夠看到www.qq.com首頁使用的主要是jquery以及sea.js,前者使用的時1.11左右的版本,能夠看出qq首頁已經至少3年左右沒有改版,而是繼續沿用以前的技術, 後者是一種cmd模塊化解決方案,是阿里的玉伯開源的,可是目前也不是很火的。 node
問題: 報錯較多。 react
移動端:jquery
佈局: 移動端使用的就是普通的百分比佈局,rem使用的很是少,可是看上去也比較舒服。webpack
特色: 移動端也是瀏覽性質的偏多,對於item和圖片使用的都是懶加載的方式,當圖片尚未請求到的時候,背景是使用的企鵝的logo圖片來代替的,因此用戶體驗較好。 可是在後臺中能夠發現報錯比較嚴重。git
使用: 對於其中的視頻使用的也都是html5中的video元素。 在沒有打開視頻進行播放的時候,會在上面有一個div,而後添加一張背景圖片用來佔位置。技術上使用了react,從app.js能夠看得出來。另外,還有stats.js,經過這個js文件,咱們能夠檢測網站的相關性能,如FPS等。
問題: 導航欄的設計比較奇怪,共有不少的內容,可是若是但願看到更多的內容只能經過滑動的方式,若是能夠添加一些按鈕,將全部導航鋪滿全屏,這種形式在體驗上可能會好不少。對於連接的下劃線其實也是很差的,由於下劃線是緊貼着字體下方的,有一種入侵的感受,我更喜歡的方式仍是取消下劃線,使用其餘hover的方式來代替。
總結:
在技術上,騰訊的qq.com並無追求太先進的技術,總體表現也是中規中矩。 在體驗上,有一些地方作的仍是不錯。
移動端的手法也是相似的,即在點擊的時候,一個list是一個總體來體現的,而不是單獨的,體驗仍是不錯的。
在登陸、註冊方面,一個qq號就能夠進行登陸騰訊的全部產品,這點仍是很是讚的。
問題也是很明顯,不管是騰訊的pc端仍是移動端,一直呈現加載沒有完成的狀態。
總體感覺很是的陳舊,沒有新穎的感受。
一樣的,網易的163.com也是分爲PC端和客戶端來寫的。
PC端:
佈局: 網易的佈局在代碼結構上仍是沒有問題的,首先使用一個div將全部的內容包裹起來。 而後對於最上面的導航條使用鋪滿的通用方式,對於下面的內容部分使用的是960px的固定寬度,一樣margin爲auto。 總體也是從上到下進行佈局的,大多爲兩欄佈局。
用戶體驗:
性能:
即對於js結尾的文件咱們很是容易理解, 在右方點進去以後能夠看到返回的都是一些項目運行所須要的js代碼,可是,還有不少js不是以js結尾的,而是添加了後綴,可能是callback等於某個值、mode=2等等等等,點擊這些response的數據,咱們不難發現,這些返回的數據都是爲了填充在首頁的數據,而且不是同源的,因此這就是所謂的JSONP來進行跨域的方式,好比其中的index_pic_jsonp.js?INDEX_DATA_PIC_JSON 這個js就是一個跨域請求,返回的數據顯示callback後面的這個變量其實是一個函數,response就是在調用這個函數,而後將一個包含了咱們想要的數據的對象。 而後咱們就可使用這些數據了,併成功完成了跨域。 對於夏敏的幾個函數也都是如此,無一例外。 咱們這裏所說的跨域就是指不是同源(同協議、同端口號、同域名)的請求,這樣,咱們就能夠將其餘源的數據拿到了。 固然,有時候可能不只僅是經過callback=某一個函數,有時候還會傳遞一些額外的參數進行更精確的控制: 如
INDEX_NEWS_PROVINCE({"渭南市":{"inc":"http://house.163.com/special/00078GE7/weinan_ws_news_v1.js"},"延安市":{"inc":"http://house.163.com/special/00078GE7/yanan_ws_news_v1.js"},"商洛市":{"inc":"http://house.163.com/special/00078GE7/shangluo_ws_news_v1.js"},"defaultcity":{"inc":"http://house.163.com/special/00078GE7/xian_ws_news_v1.js"},"寶雞市":{"inc":"http://house.163.com/special/00078GE7/baoji_ws_news_v1.js"},"西安市":{"inc":"http://house.163.com/special/00078GE7/xian_ws_news_v1.js"},"安康市":{"inc":"http://house.163.com/special/00078GE7/ankang_ws_news_v1.js"},"咸陽市":{"inc":"http://house.163.com/special/00078GE7/xianyang_ws_news_v1.js"},"銅川市":{"inc":"http://house.163.com/special/00078GE7/tongchuan_ws_news_v1.js"},"漢中市":{"inc":"http://house.163.com/special/00078GE7/hanzhong_ws_news_v1.js"},"榆林市":{"inc":"http://house.163.com/special/00078GE7/yulin2_ws_news_v1.js"}})
固然,有些代碼可能就不會使用callback的方式,既然js就是一個請求,那麼我徹底能夠直接在js裏寫好數據,使用callback只是爲了更加精確的肯定使用哪一部分數據,若是沒有這麼精確,那麼咱們就徹底能夠直接請求一個js。 就像以前在寫socket.io的時候,一個src就是一個get請求。
而且這些請求每每不是你一進來就發出請求的,不少都是在你滑動頁面的過程當中,到了某一個版塊,好比特定區域的版塊如陝西而後再接着發出這麼一個跨域的請求,大部分跨域都是www.163.com下面的子域名,如new.163.com,可是這些也都屬於跨域,只能經過JSONP這種方式來請求了。
在這些js中,咱們還會發現其中有一部分並非js結尾,而是api結尾的,最後也會傳遞一個參數即callback=某個函數的名稱,一樣返回數據就是這個函數被調用,傳遞了某些數據。
在網易的netword下咱們又打開了xhr,發現xhr下面居然什麼都沒有!!!! 也就是說,整個頁面上的全部數據,都是經過js進行請求的,而沒有使用xhr進行請求,即全部的請求都是get請求,畢竟這是用於展現的。
在source中,咱們就能夠看到以下所示的源:
其中,只有第一個www.163.com,在對這個接口發出請求的時候不是跨域的,其餘的都不是同源的,可是都是和163.com相似的,因此不少採用了JSONP跨域的策略。
js使用:
在js的壓縮層面來講,作的仍是不錯的。可是網易目前具體使用的是什麼框架、方法還不得而知,在element中,咱們能夠截取到下面的片斷:
即對於每個模塊,咱們均可以看到在div中有一個屬性ne-module,後面是一個js文件,至於何時發出請求,發出的請求獲得的響應是什麼,咱們都不得而知,可是我認爲也是js請求到的數據包含了網易首頁想要填充的內容,這種方法仍是第一次見到。。。可是應該也是有懶加載的成分在的,就是當咱們不斷向下滑的時候,而後發出更多請求,獲取數據。
pc端js主要使用的都是網易本身封裝的框架,沒有什麼名氣的,對於咱們使用的主流的框架網易彷佛都沒有采用。
移動端:
在佈局上主要使用的時百分比佈局加rem佈局,都是一些比較常規的佈局方式。
移動端使用的主要就是zepto加上網易本身的一些框架。
因爲使用在移動端,因此使用了大量的html5的標籤,這些具備語義化的標籤使用仍是咱們很是推薦的。
另外,在用戶體驗上,也是單純的和騰訊比較,網易確實作得不錯,的確是一家有態度的企業。
在移動端,也是幾乎沒有沒有用到ajax請求,和pc端同樣,都是經過js來發送get請求的,並傳遞一些參數,這裏仍是能夠多學習一下的。
佈局:整體的佈局爲從上到下的佈局,沒有特別的規則,和騰訊的很是相似,對於每個模塊寬度限定,爲990px,能夠看到,這幾個網站的作法基本上都是一致的,就是寬度在950px到1000px之間,而後margin設置爲 0 auto。 另外, 淘寶的首頁總體的佈局顏色爲橙色。 看上去開始挺舒服的。
用戶體驗: 總體較好,由於阿里巴巴的網站在加載以後,首先總體框架(從上至下)會顯示出來,而後若是有更多的內容會開始渲染出來, 速度仍是比較快的,另外,在上下滑動的過程當中, 在頂部的淘寶logo和搜索欄會fixed,這樣能夠方便咱們實時進行搜索,這裏作的仍是不錯的。
性能:
在性能方面,我只能說淘寶作的真是不錯。 相對於騰訊、網易的首頁可能須要不少的內容信息,可是淘寶的也很多啊,第一頁全是內容、商品。 可是,進入首頁以後,淘寶的請求數最開始也就是68個左右,就算是穩定了下來也不會超過100個請求。固然,若是你一直向下拉,那麼請求就會迅速到幾百個,可是這種懶加載的方式就很好地保證了首頁的加載速度,這對於用戶體驗是相當重要的!而不管是騰訊仍是網易,在進入首頁的時候,請求都會直接超過200個,這差距,不言而喻!
在圖片方面比較不錯的就是雪碧圖用的不少, 可是仍是沒有徹底使用,有一些缺陷! 另外,在淘寶首頁的底部是一些推薦、管理之類的網站,這些網站也都用了雪碧圖的方式,能夠很好的減小http請求,加強性能。
另外,對於js而言,全部的js文件都是通過了壓縮和混淆的,壓縮的好處很清楚,就是減小沒必要要的空格、字符等,這樣能夠減小須要傳輸的字節數,而混淆以後,就能夠把比較長的變量使用更短的變量來代替,這樣,顯示也能夠減小傳遞的字節數的。
js使用:
能夠看到,PC端的淘寶使用的是內部的KISSY框架,雖然在github上只有2000多個star,可是在阿里內部使用的仍是比較普遍的,這個框架的好處就是 跨終端、模塊化、使用簡單的JavaScript框架。
其內部的js更新的仍是很是快的,今天是8月17日,可是咱們能夠看到8月15日的js代碼,可見內部對js的升級、維護仍是很快的。
經過看代碼,能夠發現,在pc端,淘寶對node也是有使用的,可是具體使用的程度還沒法作出判斷。
js代碼中,不少都是使用define()這種形式來定義一個模塊的,做爲前端的模塊化,這個在我看騰訊和網易的時候感受是不同的。
和網易同樣,阿里在請求內容的時候,爲何也不使用xhr呢 ? 而是使用js、JSONP的方式? 好比咱們拿出來一個分析吧:
https://tui.taobao.com/recommend?_ksTS=1502949060247_252&callback=jsonp253&appid=2952&from=PCtaobao
實際上在network下的js中,咱們只能看到?_ksTS=1502949060247_252&callback=jsonp253&appid=2952&from=PCtaobao, 至於前面是怎麼添加上去的,暫時不考慮。
存在的問題:
之因此淘寶在性能上如此追求極致,是由於淘寶用戶的訪問量是巨大的,因此對於性能的要求要很高,而像alibaba.com這種網站,他面對的用戶都是大用戶,成交金額通常都是在幾百上千萬的,可是訪問的頻率卻不高,因此,對這種網站而言,並不須要像淘寶那樣追求速度,而是可以保證穩定性,保證資金的安全就能夠了。
今天和阿里的何幻聊了不少,收穫不少。 其實這一路走來,仍是挺幸運的,遇到了一心一意、循循善誘的學長,遇到了主動幫忙、無私的前輩,那麼本身也只有很努力,才能繼續下去了。 因此啊,加油向目標出發,必定能夠走向遠方。
相比於網易使用的H5的標籤, 淘寶這裏作的就不是很好了,淘寶並無採用h5標籤,而是使用的通常的div,這樣的問題就是語義化不夠。可是總體上仍是比較清楚的,包括嵌套等。
進入網站以後,請求數仍是能夠的,一共也就不要50個,因此,淘寶在性能上作的仍是不錯的,畢竟面臨着這麼大的需求,這一塊是不能出現問題的。
在js這一塊,咱們能夠發現,淘寶仍是使用了方便操做DOM的zepto的,這個和網易是相似的,而且,咱們能夠看到, 在head中加載js,可是使用了async屬性,這樣就能夠保證異步加載了。 而且在head中的全部js都添加了async屬性。
另外,咱們能夠看到,在淘寶的head中的js的加載方式不少使用的都是cdn,即內容分發網絡,這樣能夠保證數據的及時請求。
除此以外,爲了保證首屏的加載速度,有些js代碼直接經過內聯的方式寫在了html中,這樣的好處確定是直接解析了,速度比較快,但問題是這樣的作法致使咱們不能很好地去保證js的模塊化。
另外,css也是如此,爲了少發送一個請求,reset css也沒有外聯,而是經過style的方式寫在了head中。 而且咱們看到還不僅一條,而是有不少都是直接內聯的。
html,body,.page-content{-webkit-overflow-scrolling:touch;}.zebra-oversea-toolbars{height:112px;}.app-download{position:fixed;left:0;bottom:0;width:100%;height:60px;padding:12px;background:rgba(0,0,0,.7)}.app-download .d-close-btn,.app-download .d-logo{float:left;margin-right:12px;height:100%;line-height:36px}.app-download .d-close-btn img{height:16px;width:16px}.app-download .d-btn{float:right;height:100%}.app-download img{max-height:100%;max-width:100%}.app-download .text{height:100%;color:#fff;overflow:hidden}.app-download .text h2{font-size:16px}.app-download .text span{display:block;font-size:12px;line-height:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.appshell.hide{opacity:0;-webkit-transition:all .2s linear;-moz-transition:all .2s linear;transition:all .2s linear}
總體的佈局用的就是百分比佈局,沒有更多的特點。
全部的js都是通過壓縮和混淆的,這樣才能保證必定的性能。
而且在移動端還使用了menifest方式,即PWA,咱們在chrome瀏覽器中能夠保存網頁到手機桌面,而後再打開的時候,就會發現有一個啓動logo,而且再也不有瀏覽器的限制,而是像一個app,這就是好的體驗,和餓了麼是同樣的。可是目前的體驗仍是有問題的,並非很好。
以下所示:
另外,咱們還能夠看到手淘中使用了不少先進的技術,包括localstorage、sessionStorage等等, 好比咱們首先打開sessionStorage,能夠看到:
即在當前源下面存儲了相關的localStorage,這裏存儲的時 isWebpSupport: true, 即此瀏覽器是支持webp格式的圖片的。
那麼爲何要使用webp呢? 這是由於在一樣質量圖片的基礎上,使用webp格式的圖片能夠比png、jpeg格式圖片的提交少25%左右,這個好處就不言而喻了,對於淘寶這種商品銷售,圖片的展現是不可避免的,而且數量還很是多,因此,若是咱們能夠在圖片上減小25%的流量,這仍是很是可觀的。 可是目前也就只有chrome和opera對webp支持的比較好。http://zhitu.isux.us/這個網站能夠對圖片的格式進行轉化。
另外,不管是移動端仍是pc端,w對於圖片的需求都是巨大的。能夠看 http://isux.tencent.com/introduction-of-webp.html 這篇文章。qq空間中的不少圖片目前也都使用上了webp格式的。
而後咱們再到源碼中查看,能夠發現幾乎全部的展現型圖片都是使用的webp格式的,這也算是提升性能的一種方式吧。而且這些圖片使用的都是cdn的方式來引入的。
另外,咱們還能夠看看淘寶首頁的localStorage是怎麼樣的?
這個結果一目瞭然,存儲了一些經緯,存儲了一些其餘的基本信息。
當時cookie使用的是最多的。
而且在cache storage中能夠看到相關的cache。
而且在淘寶內部還使用了service worker這個技術。
至於使用的框架,還不能直接判斷出來。
qq郵箱使咱們使用的很是普遍的網站,這裏作一個簡單的分析。
佈局: 就佈局而言,只能說是中規中矩,畢竟這是一個完成功能的網站,不須要華麗的外表,由於總體比較簡單,只有一些基本的功能,因此也作了一點響應式,可是響應式作的也是比較糙,由於在650px以上時,總體效果仍是能夠的(馬馬虎虎),可是繼續縮小時,就能夠發現,網站已經很難去操做了,可是qq郵箱方面對其min-width也沒有作限定,因此說,這裏仍是有很大的改進空間的。
性能: 通常。主要是整個網站比較簡單。 在css方面仍是能夠的,基本上都使用了壓縮,在圖片上面作的也不錯,大部分的小的靜態圖片都是作了雪碧圖的,只是js方面作的很是差。幾乎全部的js文件都只是作了一些混淆的工做,有一個超過10000行的js文件,居然沒有壓縮,其餘的比較短的文件也沒有壓縮、更沒有合併,因此在郵箱這裏qq的代碼質量仍是比較差的。
請求: 整個網站的xhr請求仍是比較正常的,與淘寶和網易不一樣,這兩個網站幾乎沒有使用xhr,而所有使用的js,可是mail.qq.com不只使用了xhr,也是用了js,只是js都是純的js,而沒有使用jsonp, 因此的跨域都使用在了xhr中進行跨域,咱們能夠打開其中一個跨域的請求,以下所示:
即rl.mail.qq.com和mail.qq.com顯然不是同一個域的,因此使用了CORS跨域請求, 相比於JSONP,使用cors能夠發送post請求(這裏就是),而且從響應頭能夠看到這裏是使用了cookie的。
佈局:在總體佈局方面,搜狐也是採用的主流作法,即寬度固定,而後使用margin: 0 auto;來居中,可是搜狐在寬度方面仍是和其餘網站都不一樣的,即header採用的是徹底覆蓋, 而後下面的內容是一個總體,使用一個div包裹起來,固定寬度爲1200px,與主流網站的950px到1000px,搜狐的作法可謂不同凡響,標新立異。
用戶體驗:
性能:
終於到了性能這一部分了,其實不用看network就能夠猜想到搜狐總體須要加載的數據量很大,畢竟20條廣告就擺在那裏呢。。。
特色:
也就是說對於IE瀏覽器,幾乎都是不支持的,因此使用video標籤在搜狐來說是不可能的,畢竟做爲門戶網站,而國內IE仍是佔有必定比例的,不能輕易不考慮。
css使用: 使用了bootstrap。
js使用:
能夠看到,這個就是jsonp的使用了,值得注意的是,jsonp並不意味着必定要使用js來請求,由於這裏還能夠看到不少json和一些直接沒有後綴的請求,甚至沒有js! 嗯,長見識了。
另外,這裏的jsonp有的返回格式是: code、message、data, 這是一種比較合適且通用的返回格式,這個也是我常用的後端返回格式,經過code來作判斷,經過message來表示信息,經過data來表示獲得的數據,不錯。
搜狐移動端分析:
首先值得關注的是搜狐在移動端使用的時https,即更安全的通訊方式,這個仍是不錯的。而網易等卻沒有這麼作,使用https當然好,可是也不是絕對的,雖然更加安全,可是要考慮是否有這個必要,另外,https還須要考慮服務器的增長,網速等等。
佈局:在html中,搜狐居然使用了大量的id,這個是很是難以想象的,另外,能夠看到在命名規範上面,搜狐作的彷佛也不盡如人意,還有許多須要改善的地方。可是整個代碼結構仍是值得鼓勵的,而且註釋也比較清楚,這是比較好的地方。
性能:只能說還好,在進入首頁以後,大約會加載160個左右的請求。
用戶體驗:通常啦
js使用:從element能夠看出搜狐的移動端已經大量使用了vue框架, 從data-v-ghlkads 這種形式就是能夠看出來的,而且從js的main.js能夠看出,搜狐使用了webpack進行打包,這些也都是比較好的作法,雖然在pc端使用了require.js, 可是在移動端能及時做出改變仍是不錯的。
搜狐在使用的過程當中存在這麼一個bug,就是我好比我在chrome瀏覽器上瀏覽器移動版的搜狐,而後再切換爲正常的pc,再去請求網頁的時候,返回的網頁是pc端的,就算我在百度裏搜索以後,再去打開網頁版的搜狐,仍是沒法奏效!
一樣地,知乎也是分爲移動端和pc端兩套代碼,可是讓我感到很是困惑的是,看了這麼多的網站爲何只有知乎的網站,
pc端的知乎在代碼結構上總體仍是比較舒服的,至少和前面的一些網站相比是這樣的,一個主要緣由也是知乎在架構上不是很複雜,下面分爲幾個方面來具體分析。
佈局方面知乎也未能免俗,也是使用的最爲通常的作法,在header上是width: 100%的,在下面的主題部分採用的是固定寬度1000px,而後maigin: 10px auto;因此,這些主流網站的作法都是固定死寬度,而且也不會太寬,這樣能夠保證在小屏幕的電腦上也不會出現橫向的滾動條,另外,能夠發現,這種作法彷佛是一種趨勢,由於這樣作在佈局方面也會簡單一些。
在側邊欄,知乎推出一個相關的專題,總體顏色也很是和諧,而且,當咱們鼠標hover的時候,能夠看到右上角是能夠刪除的,這一點在體驗上作的是很是棒。
下面,咱們再看一條關於大數據的應用的:
能夠看到,當咱們的鼠標滑過某一個list的時候,右上角會出現一個X,而後呢,若是咱們滑動到這個X上,就能夠發現提示若是點擊這個X就表明對這條內容不感興趣。 下面的那條就是我已經點過X的,能夠發現, 提示以下:
已屏蔽該條,還不想看見如下的那些內容?
而後給出了一些選項,另外,咱們甚至還能夠撤銷,經過撤銷,咱們就能夠繼續回到初始的頁面了!
固然,若是咱們真的不想看到相關的內容,咱們就能夠選擇其中幾個不感興趣的標籤,以下:
而後,咱們就能夠提交了,提交以後會有一個提醒,提示再也不出現相關的內容,是否是很智能呢?
首頁加載的過程當中,一共有大約40個請求,總體仍是不錯的,下面咱們具體分析這些請求。
可見,這裏使用的就是CORS跨域,messaging.zhihu.com顯然和www.zhihu.com不是同一個域的,另外,經過Access-Control-Allow-Credentials能夠知道,這是須要發送cookie的, 經過Access-Control-Allow-Origin能夠知道,只有www.zhihu.com這個域才能跨域請,還有一些緩存的設置等。
能夠發現,請求的url是wss, ws即websocket,第二個s表示的是secure,加密的意思。
能夠看到通常的請求以下:
connection: upgrade
upgrade: websocket
sec-websocket-key: 4A........A==
sec-websocket-version: 13
sec-websocket-Extensions: permessage-deflate; client_max_window_bits n
其中 connection 和 upgrade都是使用websocket所必須的,而sec-websocket-key的做用就是做爲一種通訊的key。 而version是指明使用的websocket的版本,這樣你們通訊纔是順暢的。extensions是其餘的一些擴展,能夠不去了解。
而響應以下所示:
connection: upgrade
upgrade: websocket
sec-websocket-accept: BhfhOfTOEVYvEfgEnbI9+iQr54=
另外,經過觀察,咱們能夠看到,每隔一分鐘左右,就會發送一條websocket信息。
js使用:
移動端使用的域名一樣也是 www.zhihu.com/ 。
佈局: 知乎整體使用的是百分比佈局。 總體中規中矩。
請求:
請求共70個左右,勉強能夠接受。
xhr --- 一樣使用了CORS跨域,而且跨域使用的很是普遍。
js --- 移動端主要使用的仍是jquery,很是普通的方式。 全部的js都是通過了壓縮了的,仍是能夠接受的。
css --- 只有一個m.css,能夠接受。
圖片 --- 使用了大量的雪碧圖,值得鼓勵。
ws --- 移動端也使用了websocket, 這樣,在推送消息的時候就會帶來很好的用戶體驗。能夠看到websocket請求也是大約1分鐘會請求1次。
體驗:通常。 較之於pc端仍是存在差距的,畢竟像hover這種移動端仍是作不了。
優勢: 使用了https,能夠很好的保證用戶的數據安全。
PC端:
佈局: 總體佈局攪亂,簡直沒有辦法看。
代碼規範:
體驗:
性能:
優勢:
安全:
JS使用:
不出所料,移動端的域名爲 http://m.mogujie.com/ 仍是很是不錯的。
佈局: 網站總體使用的是rem佈局,因此在適配方面應該仍是很是不錯的,html的font-size是根據js來設定的。 可是沒有使用html5標籤,而是使用的通常的div。
體驗:
性能:
js使用:
經過觀察,能夠發現,不少質量要求不是過高的,通常都會使用webp格式,而質量要求很高的,可能就會使用png或者是jpg格式,而webp格式的圖片是很是清楚的。
總結:
蘑菇街至少在移動端和pc端沒有出現報錯的狀況,因此總體仍是很是不錯的,說明了前端必定的功底。