有幸參加了第三屆FEDAY前端分享會,收獲了很多干貨膊存,也借此機會見識了北京的風光。這次活動講了8個主題忱叭,其中兩個是俄羅斯的朋友分享的隔崎,最大的感觸就是,一定要好好學習英語韵丑,否則需要用時真的后悔莫及爵卒。 對webpack打包機制和調(diào)試很感興趣,正好項目當中也遇到過類似的問題撵彻,但是通過ppt只看懂了問題钓株,沒聽懂怎么解決的,很是傷感陌僵。
第一講 談項目中如何選擇框架和庫 - 張克軍
每次開發(fā)新項目時轴合,都要經(jīng)歷技術(shù)選型的過程,選擇框架和庫尤為重要碗短。尤其是框架受葛,基本上框架定了,就不能再做修改偎谁,一旦要修改总滩,必定是大改。
張克軍老師為我們分享了項目中選擇框架和庫的一些原則和需要考慮的因素巡雨。
第一闰渔,基本前提。
? ? 需要考慮成本和效率铐望,主要從實現(xiàn)目標的成本和效率澜建、團隊協(xié)作的成本和效率向挖、后續(xù)迭代的成本和效率這三個部分考慮。如果想要嘗試一個新框架炕舵,但是對于整個團隊來說學習成本過高或者后續(xù)迭代成本過高時何之,都需要慎重考慮,慎重對待咽筋。
第二溶推,妥適性原則。
第三奸攻,選擇庫的原則蒜危。
? ? 1.縮小依賴范圍和向穩(wěn)定方向依賴
? ? 2.避重趨輕、避繁逐簡睹耐、以簡馭繁辐赞、避虛就實
? ? 3.可替代性
第四,主框架的選擇硝训。
? ? 1.沒有不二法則响委,任何框架都是可以替代的,沒有絕對的好窖梁,絕對的壞赘风。
? ? 2.擁抱未來,未來的可延伸性纵刘、擴展性要較強邀窃,便于未來維護。
? ? 3.經(jīng)驗價值高假哎,有助于從中學習提升到一些知識瞬捕。
? ? 4.架構(gòu)上的優(yōu)勢為重,對整體架構(gòu)上有較大的優(yōu)勢舵抹。
第二講 webpack打包機制及調(diào)試優(yōu)化 - Alexey Lvanov
這個主題是來自俄羅斯的Alexey Lvanov老師分享的肪虎,由于前段時間正好在學習和運用vue+webpack打包相關(guān)的東西,也遇到過一些問題掏父。正好老師分享的一些問題以前也遇到過,無奈只看懂了ppt上的問題秆剪,聽不懂老師講解如何解決的赊淑。
第三講:如何用JavaScript做好一個大型應(yīng)用-孟紅倫
孟紅倫主要介紹了一下釘釘使用的一些技術(shù)。包括使用TypeScript解決復(fù)雜代碼問題仅讽,解決日常我們經(jīng)常遇到的后端在不返回某些字段陶缺,但是前端使用到的時候,報undefined錯誤的問題洁灵,使用typeScript可以定義數(shù)據(jù)饱岸,解決這個問題掺出。
TypeScript支持范圍也很廣,對于現(xiàn)在主流的react\vue都可以支持苫费,由于我沒有使用過typeScript,所以不能有更深層的理解汤锨。還講了一些異步調(diào)、異步邏輯處理百框、漸進式調(diào)用的東西闲礼,只是沒有聽得太明白,總結(jié)如下铐维。
問題1:接口數(shù)據(jù)模型復(fù)雜柬泽,層次深,嵌套多嫁蛇,不知道屬性類型锨并、是否一定存在,會導致后續(xù)bug睬棚,不穩(wěn)定第煮。
解決方案 -> TypeScript,并且前后端采用統(tǒng)一 .idl文件 生成統(tǒng)一的數(shù)據(jù)模型闸拿。
問題2:異步邏輯復(fù)雜空盼。解決方案-> RxJS
第四講 葉俊星-從Cycle.js談函數(shù)式與響應(yīng)式編程
葉俊星老師主要是講響應(yīng)式編程與事件流本身,生動形象的對他們進行了解釋闡述新荤。以人和電腦之間輸入輸出過程來講解了cycle.js揽趾,cycle.js雖然是個好東西,但是目前還是概念性的苛骨,不能理解它的根本思想篱瞎。
第五講 鏈家工程化實踐 - 楊永林(教主)
教主從鏈家架構(gòu)的演變開始講,最開始前后端代碼是放在一個服務(wù)上的痒芝,然后發(fā)展到分別放在各自的服務(wù)上俐筋,通過最簡單spa實現(xiàn)前后端分離,最后加入nodejs,使用koa為node端的框架严衬,來實現(xiàn)前后端分離澄者。同時介紹了各種方式的優(yōu)點與缺點。
第六講 基于React Native的三端技術(shù)實踐 - 劉威
劉威老師介紹了React Native的優(yōu)缺點以及三端架構(gòu)的性能優(yōu)化请琳、數(shù)據(jù)上報粱挡、組件設(shè)計、文檔等內(nèi)容俄精。
React Native優(yōu)點:
學習成本比較低询筏、體驗接近原生、二個端代碼復(fù)用竖慧、社區(qū)活躍
React Native缺點:
不支持熱更新嫌套、不支持web 三端不通逆屡、向下兼容性差、低端機型會有崩潰
第七講 WebAssembly在白鷺引擎中的實踐 - 王澤
王澤老師講話自帶熱情氣氛踱讨,先介紹了html5游戲引擎-白鷺引擎魏蔗,然后從渲染內(nèi)核原理、如何提高JavaScript運行效率勇蝙、闡述了js執(zhí)行過程的原理沫勿,進而說明能優(yōu)化的點及解決方案,最終推出WebAssembly味混。不過最后良心的建議我們暫時不要去學習WebAssembly产雹。
第八講 Machines must sudder — Linters and tools for font-end development - Andrey Sitinik
Andrey Sitinik是PostCSS和Autoprefixer的作者,當我看到是Autoprefixer的作者的時候翁锡,著實激動了一把蔓挖。前段時間才在項目里邊引入了Autoprefixer,終于不用再寫各個瀏覽器的前綴了馆衔,減少了工作量瘟判。很喜歡這個主題,讓機器解放生產(chǎn)力,其實在我們的工作中也需要有這樣的思維,如果想減少重復(fù)的工作乾闰,我們就要努力去想辦法創(chuàng)造更簡單的方式代替我們?nèi)プ鲆恍]有必要的重復(fù)的工作坟岔。節(jié)省時間去做更多更重要的工作程癌,從而不斷替身自己。其中也提到了單元測試、還有一些讓代碼變得更規(guī)范的工具⊥灾ǎ可惜是全英文的,不能完全理解萧吠。
整體來說左冬,還是了解到很多知識,不期望一天能學到很多東西纸型,通過這個分享會了解到自己的不足拇砰,知道自己之后需要提升的方向、改變的思維就夠了狰腌。