原文連接html
今年第三次參加 D2 大會了, 和前兩年體感有很大不一樣, 但收穫一樣很多.前端
@圓心老師 開場講的兩句話, 記憶比較深入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 這樣的存在.
固然, 這其中還包括其餘和前端有光的能力, 如: 圖形, 數據可視化能力, IoT 能力, 管理能力等等
體驗, 我以爲能夠分:
out of box
( 開箱即用) 的庫
和模塊
也比之前更多了.流暢度
(性能優化), 便捷性
(產品設計的合理性), 美觀
(設計視覺, 不要忘記 D2中的一個 D) 等等, 更多地站在用戶的角度想問題, 獲得的也會更多.生態, 講的應該是開發生態, 包括開源, 社區的建設, 工具的共享, 共建等等, 特別是開源生態的建設, 也須要特別的智慧來推進開源的進程. 這個在2016 年雲棲大會的雲棲社區開發者技術峯會——開源技術專場
[2] 特別有感觸.
開場的乾貨特別多, 前端的層次和視角也特別高, 不過, 和 @小紅 同窗一塊兒在討論些問題, 也錯過了很多其餘乾貨, 能夠看看直播回放再體會體會哈.
The Internet of Thing. 物聯網, 這個有點讓我驚訝. 此次 D2 大會, 沒想到有一個專門的分會場講 IoT, 最先聽到 IoT 這個詞已通過去2, 3年了吧, 不知道能和前端有什麼碰撞.
雖然以前和物電的同窗合做開發過養雞場的一個類物聯網系統, 也接觸到他們開發底層硬件的專業性 (電路本身畫, 電板找人待加工, 元件本身焊), 不過, 本身畢竟是之前端, 後臺, 上位機的角色參與進去的, 因此, 去了該會場尋找前端更多的可能.
來到該會場, 首先是各類單片機: Arduino, Ruff, 樹莓派. 其中樹莓派以前聽到比較多, 不過, 此次在 D2, Ruff 提的比較多.
Ruff 是一個支持 JavaScript 開發應用的物聯網操做系統,爲軟件開發者提供開放、高效、敏捷的物聯網應用開發平臺,讓 IoT 應用開發更簡單。
聽 IoT 的講演後, 我有聯想到 Beacon 的使用場景, 早在 2013 年的 WWDC 會議上就有聽到相似的應用場景, 蘋果推出了 iBeacon 的概念.
Beacon 技術, 主要進行室內的精準定位, 和室外基於基站, Wifi, GPS 的定位有所不一樣, Beacon 技術依賴 Bluetooth 進行室內定位. 並依賴室內的精準定位, 在商城進行更有想象空間的營銷.
關於 IoT , 想象空間仍是很大的, 但做爲一個前端, 在可預見的將來, 發展道路會愈來愈窄的狀況下6, 如何找到突破口? 如何更好地去作切入? 咱們能作些什麼? 落地的場景有哪些? 所能帶來的價值? 以及比較重要的一點, 如何和傳統搞物理和電子的同窗競爭? 物電的同窗, 有物理, 電路, 電子方面的知識, 通常狀況下, 使用 C, C++ 去編程? 咱們前端能有什麼不同的優點, 怎麼去尋求這其中的差別化發展呢?
@岑安老師 分享.
企業中後臺 | 開發者服務 | 泛 NodeJS | 端技術 | 圖形 |
---|---|---|---|---|
組件通, 協議通 標準化: DSL 協議, 數據接口 智能化: 從設計到代碼 |
1: 從端到雲一體化應用解決方案 2: OS 系統深度連接, 閉環生態 3: ISV 的開發和升級 |
一條基本線+一個突破點 基本線: Node 應用治理 突破口: IoT |
Weex + Webview weex: 性能, IoT 能力, 國際化 webview: 內核, 渲染引擎, 新標準 |
可視化 + 互動能力 互動: 容器, 引擎, 框架, 平臺 可視化: 智能化, 數據聯動 |
接着上面我對 IoT 的疑問, 會後跟 @岑安老師 聊了聊他認爲前端方向中泛 Nodejs 的突破口是 IoT
的疑問, 簡單寫一下聽完老師後的感想和本身的理解:
天貓精靈的無屏設備
, 前端的角色顯得更爲尷尬, 因此, 簡單說, 一篇空白, 等待本身去探索出一條前端之路.本身對它的理解是, 作的時候, 更多須要去思考作背後的邏輯, 以及解決了什麼問題. 不少時候, 對技術選型或技術探索, 優化之類的, 須要和團隊的目標 或 老闆的想法結合在一塊兒.
發聲, 最近有聽到不少相似的, 好比, 工做須要透明, 須要更多地和團隊成員分享, 還有包括技術分享等等. 說的多不如作的多, 因此, 這三點就不展開.
@由校老師 貓超的 Web 實踐, 使用 U4 2.0 內核的將 Android 4.4 及以上的兼容磨平, 並將 web 性能提高了不僅一點點. 由於也恰好遇到了有同窗問 web 和 weex 技術選型的問題, @由校老師 也作了很好的回答.
貓超在首次加載中, 對 Service Worker 作了優化, 經過 UC 內核, 能夠將 Service Worker 自己 Push 到內核中,並提早加載資源進行首次優化. 在二次加載中, 經過 Service Worker 的 Cache 能力, 也能得到很多的加速.
會後, 和 @由校老師 簡單聊了一下性能痛點: 長列表的內存回收, 或 cell 重用複用的問題等等. 在他看來長 list 的性能問題已經不是特別大的問題了, 相反, 他給我舉了一個 tabbar 滾動後沒法保持狀態的痛點.