歷時兩天的 JSConf EU 2018 剛剛結束,總結了下還是有不少有趣的點,包括錯誤處理、BigInt、deno、無障礙性訪問、事件迴圈、Node.js 安全、視覺化、擴增實境、AI & DL、Push 推送等等。我盡力按主題總結了相關演講以及 Slides 等資料。
- [演講中文]JavaScript (TypeScript) Runtime - deno:大家都在談 ry/deno ,既包括前幾天鬧得沸沸揚揚的 issues 被濫用事件也包含大家拿它和 Node 對比的熱情,那就先說說他吧。Ryan 在演講中總結了 Node 的設計缺陷,包括 安全性、GYP、node_modules、package.json 等等,及為何要啟動 deno 專案和它 2018 年的開發規劃。Slides 見 tinyclouds.org/jsconf2018.… ,Ryan 的演講視訊也剛放出在 YouTube 上 www.youtube.com/watch?v=M3B…。關於 deno 中文的介紹可以參考 @justjavac 大大的回答 justjavac:如何評價ry(Ryan Dahl)的新專案deno?
- 中國開發者:今年一個很有意思的演講來自 Hannes 的 Quirks and surprises of webdev in China。如果不能正常訪問 Google、Facebook、Twitter 等網站,世界會變成什麼樣?Hannes 在演講中談到了中國 web 開發的現狀,以及蘊含其中的一些驚喜,暫時沒找到 Slides 地址,感興趣可以關注他的推 twitter.com/escapedcat;
- 錯誤處理:今年 JSConf 頭兩個議題都在關注錯誤處理,Patricia 的演講 Existential Engineering or How Ethics Precedes Error Handling 和 Sarah 的演講 Kablooie: A History of Errors & a Future of Solutions。Sarah 談到了計算機中 error 的發展歷史(這裡不用中文,防止歧義)以及 JavaScript 中的錯誤運作機制,網友 @malweene 為該演講總結了一張圖:
- BigInt:來自 TC39 的 Daniel 演講主題為 Native BigInts in JavaScript: A Case Study in TC39,他在演講中主要談到 JavaScript 程式設計師是如何與 JavaScript 引擎開發者和 TC39 委員一起創造出 BigInt ——一個可以表示無限大小的整數型別的。Slides 地址 docs.google.com/presentatio… 。這裡又要推薦一篇 @justjavac 大大的一篇文章了 BigInt:JavaScript 中的任意精度整數 ;
- 無障礙性:即使在2018年,無障礙性訪問也一直是被 JavaScript 開發者忽視的一個方面。記得 Uber 中國沒被滴滴收購之前,在無障礙性訪問上一直都做得很好。國內其實也有很多開發者在努力推動這部分的工作,例如黃希彤大大。Marcy 這次在 JSConf 的演講主題是 Empathy-Driven Development,有關她的詳細思考可以參照之前她發表的一篇文章 Accessibility is a Civil Right;
- 事件迴圈:Erin 在演講 Further Adventures of the Event Loop 中談到了多執行緒事件迴圈的工作機制,promise 和其他回撥的區別以及 Node 中事件迴圈的具體內容,Erin 還做了一個簡單的展示頁面 Simple Event Loop;
- ECMAScript 及未來:比如 William 的演講 Back to the future of JS: the next features and amazing proposals 談到了一些新提案 Array.prototype.flatMap,管道操作符,:: 操作符等等;
- 非同步:JavaScript 從2009年開始支援非同步操作,從最開始的基本操作到後來陸續支援的 promise,generator 以及現在的 async/await 關鍵字,Shelley 在演講 Asynchrony: Under the Hood 中詳細介紹了非同步發展過程中這些具體內容以及對未來非同步將去往何方的討論;
- WebAssembly:這個主題無需多說,具體關注 Emil 的演講 Hand-crafting WebAssembly 以及 Lin 的演講 Baby's First Rust+WebAssembly module: Say hi to JSConf EU! 後者可以參考 Lin 在 Mozilla Hacks 的博文 Baby's First Rust+WebAssembly module: Say hi to JSConf EU! – Mozilla Hacks;
- 圖形學與視覺化(擴增實境):由於瀏覽器引入 WebGL 實現和硬體加速 API,Web 開發被賦予了更多的想象力空間,優秀的工具庫也是層出不窮、經久不衰,經典庫包括 D3、three.js、deck.gl 等,國內優秀的開源庫 也有 G2、Echarts 等等。關於這部分的演講包括 Ivan 的 Photorealistic Real Time Computer Graphics with Javascript 、Sean 的 Visualising Enterprise Data with D3;如果你關注擴增實境,可以關注 Jordan (推: twitter.com/jsantell GitHub jsantell)演講 Exploring Augmented Reality on the Web;
- [演講中文] 人工智慧與深度學習:JavaScript 界流傳著一句什麼話來著 "Any application that can be written in JavaScript, will eventually be written in JavaScript." 哈哈,所以 AI 和 DL 盛行的當下,JavaScript 也“不能落後”。利用腦波(感測器)控制介面和操作,在瀏覽器上實現深度學習模型的訓練和計算,記得 TensorFlow.js 嗎?關注這些議題的可以檢視 Charlie 的演講 Look mum, no hands! — Brain controlled JavaScript,Ashi 的演講 Deep Learning in JS。Ashi 的演講視訊會及時更新到個人主頁,詳情可檢視 Ashi Krishnan;
- [演講中文] Push 推送:這一塊推薦 Phil 的演講 Aggressive Web Apps,哈哈,是 Aggressive 不是 Progressive 哦。演講 Slides 見 speakerdeck.com/philnash/ag…。除此外,如果你對是否應該採用 HTTP/2 Server Push 而感到疑惑,可以關注 Patrick 演講 To push, or not to push?! - The future of HTTP/2 server push,裡面既談到了設計思想也包含實際開發中的案例分析,Slides 見 To push, or not to push?!
- 安全:Mike 關於 Node.js 安全的演講 A Node.js Security Roadmap;Katie 關於站點安全的演講 Securing your site like it's 1999;
- TCP:Ola 的演講 TCP - A story about hope, (pkg) loss && the missing link,來自 @stephaniecodes 的卡通總結圖一張:
- [演講中文(0)][中文演講(1)] JavaScript 引擎:Mathias 的演講 JavaScript Engines: The Good Parts™,演講 Slides 見 JavaScript engines: The Good Parts™ by Mathias Bynens ,主題文章見 JavaScript engine fundamentals: Shapes and Inline Caches,譯文見 JavaScript 引擎基礎:Shapes 和 Inline Caches ;
其他的一些關注點還包括:
- 社群運營的經驗和收穫:Neha 的演講 Journey of JS community from 2 to 2k members;
- 技術面試:想看看國外的技術面試是如何準備的可以參考 Ben 的演講 From Rabbi to Coder: How To Prepare for the Technical Interview;
最後,Malte Ubl 在前不久結束的 JSConf AU 2018 發表了一場關於超大型 JavaScript 應用開發的演講,反響非常棒,感興趣的同學可以移步譯文 超大型 JavaScript 應用的設計哲學。
與會演講的視訊如果可以公開後續會發到 YouTube,可以關注 www.youtube.com/jsconfeu,歡迎補充。感謝各位開發者的分享。
文章整理自知乎回答 JSConf EU 2018 有哪些值得關注的點?
(完)