摘要:代表公司去參加今年的第二屆前端開發(fā)者年度大會,散會的時候,技術(shù)老大問我,今天感覺怎么樣,有什么收獲,當(dāng)時就零零碎碎的回答了一些,不算完美趁著還記得點(diǎn)什么,在這里做個自我回顧總結(jié),謹(jǐn)代表個人見解,有不當(dāng)之處,或若涉及圖片隱私或者其它問題,煩請
代表公司去參加今年的 第二屆前端開發(fā)者年度大會,散會的時候,Team 技術(shù)老大問我,今天感覺怎么樣,有什么收獲,當(dāng)時就零零碎碎的回答了一些,不算完美;趁著還記得點(diǎn)什么,在這里做個自我回顧總結(jié),謹(jǐn)代表個人見解,有不當(dāng)之處,或若涉及圖片隱私或者其它問題,煩請指正.
知乎話題==================================================
記得小時候?qū)懽魑牡臅r候,老師都會強(qiáng)調(diào)三要素:時間,地點(diǎn),人物;那下面就從這三要素來作為時間線回顧:
時間:2016 - 03 - 19
地點(diǎn):廣州嘉裕太陽城廣場三樓金逸國際影城四號廳
演講嘉賓:絕對的重量級人物,看圖說話
由于是在電影院舉行這次前端大會,整個過程下來大屏幕的觀看效果還是挺贊的,人數(shù)目測也在400+,除了廣州本地,也有不少是從其他城市過來的,可見這次的會議還是挺高大上的
【進(jìn)入正文】
==================================================
09:00 簽到這里沒啥好講的,正常的會議流程,二維碼簽到,發(fā)送紀(jì)念T恤,進(jìn)入會場
==================================================
09:45 使用 React、Redux 和 Node.js 構(gòu)建通用應(yīng)用
Facebook 前端工程師 Stepan
第一個主題是由 Facebook 前端工程師 Stepan 帶來有關(guān)react的分享:從使用 rails 生成的項(xiàng)目目錄結(jié)構(gòu)為切入點(diǎn),講到大約在08以前的時候,JavaScript在人們的心中是只能做一些動畫的效果,整個JavaScript 腳本放在 Rails 項(xiàng)目目錄下面的一個 assets/javascripts 中,是不太受關(guān)注;而在09年左右出現(xiàn)了 BackboneJS,以及后來的AngularJS等前端框架,以及現(xiàn)在很熱門的 ReactJS,VueJS,EmberJS等等,大概的講述了這些年來 JavaScript的一個發(fā)展歷程;
接下來,拋出了一個問題:前端可以不依賴 rails 嗎,后端為什么不能也用JavaScript來寫?
之后順勢推出了 ReactJS,主推前后端都使用 JavaScript 來實(shí)現(xiàn),前端主要使用react,redux,后端使用 nodejs 去構(gòu)建整個應(yīng)用程序; 使用reactRouter做前端路由,使用 express 作為中間鍵等等,由于本人還沒有使用react和nodejs去寫過項(xiàng)目,這里就不好描述更多了,以免誤人子弟 :(
前后端都使用通一套語言的好處:
代碼共享
使用nodejs,數(shù)據(jù)處理放在服務(wù)器,前端只要渲染,性能可以得到很高的優(yōu)化
SEO
然后就是一些相關(guān)問題的代碼演示:
how about create store?
initial data?
how about fetching data?
關(guān)鍵詞: rails、react 、express、react-dom/server、reactRouter
==================================================
10:50 微信Web APP開發(fā)最佳實(shí)踐微信團(tuán)隊(duì)UI工程師 江劍鋒(jf)
第二個主題是由微信團(tuán)隊(duì)UI工程師 jf 帶來的有關(guān)微信 Web APP 開發(fā)的最佳實(shí)踐;可謂是干貨滿滿,把在微信開發(fā)過程中遇到的坑一一做了總結(jié),以及介紹微信團(tuán)隊(duì)出品的一個 UI庫:WeUI
jf 首先是展示了一些微信的數(shù)據(jù):
微信 Android 客戶端機(jī)型分布
微信 Android 客戶端系統(tǒng)版本分布
微信用戶網(wǎng)絡(luò)分布
重點(diǎn)來了,在大概的了解微信的一個現(xiàn)狀后,jf 開始分享他們在微信開發(fā)的踩坑過程:
腦補(bǔ)一下,當(dāng)我們在微信打開一個網(wǎng)頁后,默認(rèn)是在微信里打開了一個瀏覽器,這個瀏覽器是微信基于 webkit 研發(fā)的一個名為 x5 內(nèi)核瀏覽器,做過微信開發(fā)的人都清楚,在微信瀏覽器里總會遇到一些你意向不到的 BUG,以及調(diào)試?yán)щy的情況,下面看看微信團(tuán)隊(duì)總結(jié)的一些常見的坑
常見的坑:
動畫卡頓
不支持偽元素動畫
只支持部分的 flex 布局
視頻默認(rèn)是會有控制條的(去不掉,據(jù)說是為了防止惡意的視頻播放問題)
autoplay無效
待補(bǔ)充...
緩存問題:
可能有時候做微信開發(fā),你會碰到緩存失效的問題:
解決辦法:
打開微信,點(diǎn)擊“我”——> 設(shè)置 ——> 通用 ——> 清理微信存儲空間
同時設(shè)置 localStorage 和 cookie
黑科技://triggerWebViewCacheCleanup
Web 開發(fā)者工具
X5升級:
據(jù) jf 介紹,目前微信 x5 瀏覽器正在升級,由以前基于webkit改為了基于Blink,填掉了許多在 x5 出現(xiàn)的坑,目前已經(jīng)有30%的用戶微信瀏覽器默認(rèn)是已經(jīng)升級了的,據(jù)說也是某種黑魔法,會自動升級,jf 透露,預(yù)計(jì)在4月底會全部更新完成
【下午場】
==================================================
13:10 React TipsFacebook 前端工程師 黃士旗(ShihChi Huang)
下午場的第一個主題是Facebook前端工程師黃士旗帶來的主題React Tips,黃士旗是臺灣人,普通話講的非常的有power;主要是分享使用 react 開發(fā)一個 TODO 示例程序進(jìn)行講解相關(guān)的知識點(diǎn):
1. Container Component 的概念:
解決的問題:
Manage data/state
UI logic
Reusable
Needed tests
2. Flux ReduceStore
做資料(數(shù)據(jù)處理)
負(fù)責(zé)render (渲染)
Functional style
推薦使用 reduceStore, StateLess Component
提到一個 HOC 的概念 ,沒理解,后續(xù)在消化更新...
這個主題講的非常的棒,可是一時不知道該寫些什么...
==================================================
14:20 下一代Web技術(shù)運(yùn)用騰訊云平臺產(chǎn)品中心總監(jiān) 陳子舜(PuterJam)
主要講解與前端性能優(yōu)化相關(guān)的技術(shù)點(diǎn),從兩個常見的前端面試題引申話題:
問:如何做前端優(yōu)化:
答:
Yahoo xxx原則
js 文件請求合并
css 雪碧圖
拆分域名
壓縮
...
問:頁面白屏?xí)鞘裁丛颍?/strong>
答:
網(wǎng)絡(luò)問題
兼容問題
終端問題
作為面試者, 我們可能常常會想到以上一些關(guān)于前端性能優(yōu)化的點(diǎn),可是,做為騰訊云的技術(shù)總監(jiān),顯然不會給我們分享這么簡單的知識點(diǎn):下面看看大牛們是從哪些方面考慮性能優(yōu)化的,直接上圖:
==================================================
16:30 下前端能力的培養(yǎng)計(jì)算機(jī)之子,阿里高級技術(shù)專家 程劭非(winter)
winter帶來的主題沒有涉及太多的技術(shù)細(xì)節(jié),而是非常系統(tǒng),站在某一個高度上分享他自己的學(xué)習(xí)經(jīng)驗(yàn);強(qiáng)調(diào)前端不在于難學(xué),而在于不知道怎么學(xué);在他看來,如果前端分成100等分,前端技術(shù)知識點(diǎn)只占據(jù)20%,而能力則占據(jù)80%,這里的能力主要包括編程能力,架構(gòu)能力,工程能力(管理)
“好前端才分對錯,成年人只分利弊” -- winter
上面這句話表面看不出什么意思,可仔細(xì)想想,其實(shí)他描述的是一種想象:一個好的優(yōu)秀的前端是會區(qū)分對和錯的,應(yīng)該是能看到事情的本質(zhì)的一面,而不是僅僅只區(qū)分利與弊,能用就好的一個心態(tài);更具體的講,winter 推薦我們可以從以下幾個方面去學(xué)習(xí)培養(yǎng)前端能力:
尋找線索
附錄
源代碼
反射(在瀏覽器運(yùn)行查看效果,找到知識點(diǎn)的脈絡(luò))
建立聯(lián)系
美感
完備性(如果有insertAfter方法,那我們應(yīng)該想到會有insertBefore方法)
操作同一組數(shù)據(jù)(進(jìn)行分類)
歸類
按照關(guān)聯(lián)關(guān)系建立起連接,對偶性,對稱性
例如:insertBefore對應(yīng)insertAfter,bind對應(yīng)unbind
追本溯源
當(dāng)遇到問題有不同的見解時,我們應(yīng)該具有追本溯源的心態(tài),去google,看wiki,找到問題的關(guān)鍵本質(zhì),要有考據(jù)的過程,比如說閉包:
大部分可能會說: 閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)
那如果我們?nèi)プ繁舅菰矗谏钊胍稽c(diǎn)去研究:
簡單的說: 閉包是什么
深入一點(diǎn):閉包有什么作用
在深入一點(diǎn):常見的用法
在在深入一點(diǎn):會什么會有閉包這個東西
在在在深入一點(diǎn):......
能力培養(yǎng)
習(xí)題很重要 習(xí)題很重要 習(xí)題很重要
能力是需要訓(xùn)練的
主動性
習(xí)慣養(yǎng)成
系統(tǒng)訓(xùn)練
==================================================
17:35 HTTP/2 時代的Web性能國際知名Web設(shè)計(jì)師/前端工程師 Holger Bartel
最后一個主題是由Holger帶來的HTTP/2時代的web性能,由下面的一張圖可以看出人們正在排隊(duì)等待的一個過程,由此引申出當(dāng)我們?nèi)ピL問一個網(wǎng)頁時,如果需要等待一段時間才能得到反饋的這個過程
等待,是指我們需要一個特定的時間和特定的動作去執(zhí)行,然而當(dāng)我們需要做一件事情時,期望的應(yīng)該是立即去執(zhí)行,而不是需要等待一段時間
性能,主要是關(guān)乎用戶的一個期望,如果是2s內(nèi)打開一個網(wǎng)頁,用戶是不會抱怨的,5s內(nèi)如果能打開,那么用戶也還是可以接受的,但是如果是8s還不能打開,用戶是會失望的,他們會認(rèn)為這個網(wǎng)站已經(jīng)掛掉了;這個大概就是前端性能優(yōu)化時我們經(jīng)常會提到的一個2、5、8概念。
接著簡單說了目前一些常見的基礎(chǔ)優(yōu)化策略:
inline image
css sprite
.....
講解頁面的渲染流程, 強(qiáng)調(diào)現(xiàn)有的優(yōu)化主要是:阻塞資源,請求開銷,文件放置的位置,關(guān)鍵文件渲染的路徑等等,這些是在HTTP/1.1 時代做的事情,那么在HTTP/2,性能優(yōu)化應(yīng)該怎么處理,引申出 HTTP/2 的知識點(diǎn):
HTTP/2 相比 HTTP/1.1 的更新大部分集中于:
多路復(fù)用
HEAD 壓縮
優(yōu)先級請求
...
Holger Bartel 講解的 HTTP/2 涉及的新概念太多,這里不能一一道來,只能是在大海里取一瓢水的感覺,這里只能暫時的記錄一下,后面在去學(xué)習(xí)更新...
總的來講,HTTP/2 對未來 Web 性能優(yōu)化工作起到很重要的作用,是一切優(yōu)化的基礎(chǔ)。
推薦兩篇有關(guān)HTTP/2的文章:
HTTPS, SPDY和HTTP/2性能的簡單對比
HTTP2講解
總結(jié):在前端這個迭代更新如此快的領(lǐng)域,我們需要關(guān)注新的技術(shù)熱點(diǎn),但是也要保持自己的步伐;在幾年前,MVC剛剛興起的時候,backoneJS,angularJS是比較火熱的,可是今天ReactJS、VueJS,EmberJS等的熱度已經(jīng)遠(yuǎn)遠(yuǎn)超過了backboneJS,angularJS;很多新的前端框架可能會讓我們應(yīng)接不暇;這個時候,我想應(yīng)該靜下來仔細(xì)想想,最本質(zhì)的東西是什么;
注釋:以上內(nèi)容,謹(jǐn)代表個人見解,有不當(dāng)之處,或若涉及圖片隱私或者其它問題,煩請指正.
最后: 感謝前端圈組織的這次活動 ,希望明年會越辦越好.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/78988.html
摘要:寫在前面看到了死月佳楠等朋友都寫了關(guān)于的年度總結(jié),總覺得自己也應(yīng)該寫點(diǎn)東西來回首過去的一年,順便展望一下未來的年。在這份榜單上排在的位置,年也希望更上一層樓。年底跟女朋友結(jié)束了四年的戀愛長跑,成功領(lǐng)證。 寫在前面 看到了死月、doodlewind、佳楠等朋友都寫了關(guān)于 2017 的年度總結(jié),總覺得自己也應(yīng)該寫點(diǎn)東西來回首過去的一年,順便展望一下未來的 2018 年。 由于之前忙于撰寫《...
摘要:現(xiàn)在,組委會決定公開測試開發(fā)大會視頻含資料,作為獻(xiàn)給社區(qū)用戶和測試從業(yè)人員的年度大禮,期待推進(jìn)行業(yè)進(jìn)步。自年舉辦以來,近萬名有從業(yè)經(jīng)驗(yàn)的測試開發(fā)工程師測試經(jīng)理和質(zhì)量管理人員參加了大會,好評如潮。 過去的幾年中,軟件測試與質(zhì)量保障行業(yè)悄然間發(fā)生了很大變化,TesterHome 社區(qū)作為行業(yè)見證人,通過 MTSC 大會記錄了測試行業(yè)技術(shù)趨勢與人才結(jié)構(gòu)的變革歷程。 showImg(https...
摘要:最后,我們來到了提前預(yù)定好的今晚的住宿地杭州旅行者漫步主題酒店。先一本正經(jīng)的打打官腔,還有童鞋不知道什么叫嗎口答前端技術(shù)論壇簡稱。作為聽眾,不要對期待參加某場技術(shù)會議,提升自我技術(shù)修養(yǎng)的效果會立竿見影。 showImg(https://segmentfault.com/img/bV0tLv?w=859&h=487); 前言 在這里,閏土首先要感謝以下兩位大佬提供的門票,分別是來自新浪微...
閱讀 2566·2021-11-24 09:39
閱讀 3580·2019-08-30 15:53
閱讀 672·2019-08-29 15:15
閱讀 2974·2019-08-26 13:23
閱讀 3324·2019-08-26 10:48
閱讀 715·2019-08-26 10:31
閱讀 849·2019-08-26 10:30
閱讀 2427·2019-08-23 18:32