阿里巴巴 D2 前端會議筆記

原文連接html

今年第三次參加 D2 大會了, 和前兩年體感有很大不一樣, 但收穫一樣很多.前端

  • 開場: 前端 = 渲染引擎 + web 標準. 前端方向: 能力 + 體驗 + 生態.
  • IoT: 兩個場景 + 擴展場景 + 本身的疑問
  • 我的成長: 前端的 5 個大方向, 和 3 個關鍵點
  • 貓超不同的視角: web 真的慢嗎?

開場

@圓心老師 開場講的兩句話, 記憶比較深入react

前端 = 渲染引擎 + Web 標準.webpack

我對他的理解, 前端不須要分 iOS 和 Android, Web 等等, 更高層次去看的話, 都是渲染引擎 + web 標準. 其中渲染引擎, 雖然可能只有 native 和 web 之分, 但若是分運行時的話, 還包括 webkit, weex, react native 等, (我這麼說其實也並非特別準確).git

我以爲重點是後半句, web 標準 ! 這句話, 讓我想起以前看到的另一句話[1]:程序員

在移動時代沒有找到一個比HTML/CSS/JS更合適描述界面和表達業務的方式,當前智能手機GUI體系只是對HTML拙劣的逼近和模仿。Weex/RN從某種意義上是必然的產物github

因此, 結合在一塊兒看的話, 前端作的所謂技術, 都是圍繞 渲染引擎 和 web 標準 來進行.web

前端的核心有了, 那將來的方向和體系怎麼建設?編程

能力 + 體驗 + 生態性能優化

  • 能力: 更多會是 web 能力的擴展, 好比: 前端的 Push, 離線, 桌面的觸達, 後臺進程, 攝像頭, 麥克風, U盤等等, 其中有一部分是 PWA 已經在作的事情 (包括 Service Worker, iOS 也正在支持), 其餘的能力, 其實 Chrome 作得也是很不錯了, 畢竟有 Chrome OS 這樣的存在.

    dingtalk20171217121607

    固然, 這其中還包括其餘和前端有光的能力, 如: 圖形, 數據可視化能力, IoT 能力, 管理能力等等

  • 體驗, 我以爲能夠分:

    • 開發者體驗, 開發者的體驗其實有了不少的表現, 其實也體如今工程效率和開發效率上, 好比: VSCode 替代 Sublime, 還有最近出的 Parcel 打包工具, 也是在某種程度上解決了開發中對 webpack 某些痛點(固然, 打包效率的提高可能會更關鍵些), 還有不少的 out of box( 開箱即用) 的模塊 也比之前更多了.
    • 用戶體驗, 這點能夠不用過多展開, 爲用戶考慮流暢度(性能優化), 便捷性(產品設計的合理性), 美觀(設計視覺, 不要忘記 D2中的一個 D) 等等, 更多地站在用戶的角度想問題, 獲得的也會更多.
  • 生態, 講的應該是開發生態, 包括開源, 社區的建設, 工具的共享, 共建等等, 特別是開源生態的建設, 也須要特別的智慧來推進開源的進程. 這個在2016 年雲棲大會的雲棲社區開發者技術峯會——開源技術專場[2] 特別有感觸.

開場的乾貨特別多, 前端的層次和視角也特別高, 不過, 和 @小紅 同窗一塊兒在討論些問題, 也錯過了很多其餘乾貨, 能夠看看直播回放再體會體會哈.

IoT

The Internet of Thing. 物聯網, 這個有點讓我驚訝. 此次 D2 大會, 沒想到有一個專門的分會場講 IoT, 最先聽到 IoT 這個詞已通過去2, 3年了吧, 不知道能和前端有什麼碰撞.

雖然以前和物電的同窗合做開發過養雞場的一個類物聯網系統, 也接觸到他們開發底層硬件的專業性 (電路本身畫, 電板找人待加工, 元件本身焊), 不過, 本身畢竟是之前端, 後臺, 上位機的角色參與進去的, 因此, 去了該會場尋找前端更多的可能.

來到該會場, 首先是各類單片機: Arduino, Ruff, 樹莓派. 其中樹莓派以前聽到比較多, 不過, 此次在 D2, Ruff 提的比較多.

Ruff 是一個支持 JavaScript 開發應用的物聯網操做系統,爲軟件開發者提供開放、高效、敏捷的物聯網應用開發平臺,讓 IoT 應用開發更簡單。

兩個應用場景

  • 菜鳥的出入庫系統, 須要結合 攝像頭的人臉識別, 超聲波的距離識別, 固然也須要訂單號的掃描. 其中值得一提的是, 人臉識別是放雲端的, 比較相似 SaaS, FaaS.
  • 智能樓宇的控制, 好比: 週一週五的電燈控制, 一個空間達到多少 wifi 的接入, 自動開啓空凋進行控溫. 這裏難度比較大, 或工做量比較大的的各個設備的不一樣協議的接入. 須要對接各類上個世紀的通信協議, 或者廠商的私有協議, 還有包括 Wifi, Bluetooth, ZigBee 之類的通信協議. (這是一個比較大的痛點, 不過, 這一點小米作的比較好, 在整個生態起來以後, 在作本身的協議標準, 也有開發平臺讓開發中對接: 小米 IoT 開發者平臺)

一個展開場景

聽 IoT 的講演後, 我有聯想到 Beacon 的使用場景, 早在 2013 年的 WWDC 會議上就有聽到相似的應用場景, 蘋果推出了 iBeacon 的概念.

Beacon 技術, 主要進行室內的精準定位, 和室外基於基站, Wifi, GPS 的定位有所不一樣, Beacon 技術依賴 Bluetooth 進行室內定位. 並依賴室內的精準定位, 在商城進行更有想象空間的營銷.

本身未解決的疑問

關於 IoT , 想象空間仍是很大的, 但做爲一個前端, 在可預見的將來, 發展道路會愈來愈窄的狀況下6, 如何找到突破口? 如何更好地去作切入? 咱們能作些什麼? 落地的場景有哪些? 所能帶來的價值? 以及比較重要的一點, 如何和傳統搞物理和電子的同窗競爭? 物電的同窗, 有物理, 電路, 電子方面的知識, 通常狀況下, 使用 C, C++ 去編程? 咱們前端能有什麼不同的優點, 怎麼去尋求這其中的差別化發展呢?

我的成長

@岑安老師 分享.

前端方向5個大方向

企業中後臺 開發者服務 泛 NodeJS 端技術 圖形
組件通, 協議通
標準化: DSL 協議, 數據接口
智能化: 從設計到代碼
1: 從端到雲一體化應用解決方案
2: OS 系統深度連接, 閉環生態
3: ISV 的開發和升級
一條基本線+一個突破點
基本線: Node 應用治理
突破口: IoT
Weex + Webview

weex: 性能, IoT 能力, 國際化
webview: 內核, 渲染引擎, 新標準
可視化 + 互動能力
互動: 容器, 引擎, 框架, 平臺
可視化: 智能化, 數據聯動

接着上面我對 IoT 的疑問, 會後跟 @岑安老師 聊了聊他認爲前端方向中泛 Nodejs 的突破口是 IoT的疑問, 簡單寫一下聽完老師後的感想和本身的理解:

  1. 首先, 咱們得跳出當前前端的技術棧和業務的限制, 很顯然, 以目前前端的知識堆棧和能力, 沒有特別好的切入點來涉足 IoT 這個領域. 因此, 一個好的建議是, 作好該有的知識儲備, 以目前的狀態進入 IoT, 註定是被淘汰的那一批.
  2. 其次, 目前沒有一個好的技術方案來讓前端參與進來, 甚至是像天貓精靈的無屏設備, 前端的角色顯得更爲尷尬, 因此, 簡單說, 一篇空白, 等待本身去探索出一條前端之路.
  3. 若是非要和物電的同窗進行正面競爭, 爲何不差別化發展, 作鏈接的工做呢? 既然端上被他們緊緊掌握着, 咱們將他們做爲基礎服務, 將本身作爲一個鏈接的角色, 整合端的能力? 作一個用戶的鏈接者? 有用戶的地方, 就應該有前端哈?
  4. 單片機開發搞不過或搞不來, 咱們能搞嵌入式系統嗎? 能用 Ruff 來作端嗎? 能用 Android 手機來作端嗎? 在作可行性方案的時候, 是否是有必要必定要搞單片機和低成本硬件呢? 我能不能在 Android 手機上作一些 IoT 開發, 在批量生產時, 再讓物電的學生作電路設計和硬件成本的下降呢?

wechatimg49

我的成長的3個關鍵詞

  • 作: 有目標地作, 分階段地作, 作到極致
  • 思考: 思考是核心, WHY 有時候比 HOW 更重要
  • 發聲: 執行的總結和思考的傳達

本身對它的理解是, 作的時候, 更多須要去思考作背後的邏輯, 以及解決了什麼問題. 不少時候, 對技術選型或技術探索, 優化之類的, 須要和團隊的目標 或 老闆的想法結合在一塊兒.

發聲, 最近有聽到不少相似的, 好比, 工做須要透明, 須要更多地和團隊成員分享, 還有包括技術分享等等. 說的多不如作的多, 因此, 這三點就不展開.

wechatimg53

貓超不同的視角

@由校老師 貓超的 Web 實踐, 使用 U4 2.0 內核的將 Android 4.4 及以上的兼容磨平, 並將 web 性能提高了不僅一點點. 由於也恰好遇到了有同窗問 web 和 weex 技術選型的問題, @由校老師 也作了很好的回答.

貓超在首次加載中, 對 Service Worker 作了優化, 經過 UC 內核, 能夠將 Service Worker 自己 Push 到內核中,並提早加載資源進行首次優化. 在二次加載中, 經過 Service Worker 的 Cache 能力, 也能得到很多的加速.

會後, 和 @由校老師 簡單聊了一下性能痛點: 長列表的內存回收, 或 cell 重用複用的問題等等. 在他看來長 list 的性能問題已經不是特別大的問題了, 相反, 他給我舉了一個 tabbar 滾動後沒法保持狀態的痛點.

wechatimg59

其餘小細節

  • 好多程序員背景的 PPT 在配色和字體大小上, 用戶體驗不是特別好, 好比: 藍底黑字, 大段字體很小的代碼, 這點在轉正預講的時候本身也犯過相似的錯誤, 因此, 體感也比較強.
  • 一個好的, 使人印象深入的演講, 不是講一些共識, 而是講些不同的觀點. 即便是相同的觀點, 也須要有不一樣的角度或維度, 去解讀本身的不一樣觀點. 相同的觀點能包裝成不同的產品也不錯.

References

  1. Weex團隊負責人:我眼中的Weex和Weex開源那些事
  2. 雲棲社區開發者技術峯會——開源技術專場
  3. Ruff 文檔
  4. 小米 IoT 開發者平臺
  5. estimote, iBeacon是什麼 iBeacon怎麼用
  6. 前端的職業危機感 by 本身
相關文章
相關標籤/搜索