我爱编程

阿里巴巴前端 D2 会议笔记

2017-12-21  本文已影响0人  zhoukeke

原文链接

今年第三次参加 D2 大会了, 和前两年体感有很大不同, 但收获同样不少.

开场

@圆心老师 开场讲的两句话, 记忆比较深刻

前端 = 渲染引擎 + Web 标准.

我对他的理解, 前端不需要分 iOS 和 Android, Web 等等, 更高层次去看的话, 都是渲染引擎 + web 标准. 其中渲染引擎, 虽然可能只有 native 和 web 之分, 但如果分运行时的话, 还包括 webkit, weex, react native 等, (我这么说其实也并不是特别准确).

我觉得重点是后半句, web 标准 ! 这句话, 让我想起之前看到的另外一句话[1]:

在移动时代没有找到一个比HTML/CSS/JS更合适描述界面和表达业务的方式,当前智能手机GUI体系只是对HTML拙劣的逼近和模仿。Weex/RN从某种意义上是必然的产物

所以, 结合在一起看的话, 前端做的所谓技术, 都是围绕 渲染引擎 和 web 标准 来进行.

前端的核心有了, 那未来的方向和体系怎么建设?

能力 + 体验 + 生态

开场的干货特别多, 前端的层次和视角也特别高, 不过, 和 @小红 同学一起在讨论些问题, 也错过了不少其他干货, 可以看看直播回放再体会体会哈.

IoT

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++ 去编程? 我们前端能有什么不一样的优势, 怎么去寻求这其中的差异化发展呢?

个人成长

@岑安老师 分享.

前端方向5个大方向

企业中后台 开发者服务 泛 NodeJS 端技术 图形
组件通, 协议通<br />标准化: DSL 协议, 数据接口<br />智能化: 从设计到代码 1: 从端到云一体化应用解决方案<br />2: OS 系统深度链接, 闭环生态<br />3: ISV 的开发和升级 一条基本线+一个突破点<br />基本线: Node 应用治理<br />突破口: IoT Weex + Webview<br /><br />weex: 性能, IoT 能力, 国际化<br /> webview: 内核, 渲染引擎, 新标准 可视化 + 互动能力<br /> 互动: 容器, 引擎, 框架, 平台<br /> 可视化: 智能化, 数据联动

接着上面我对 IoT 的疑问, 会后跟 @岑安老师 聊了聊他认为前端方向中泛 Nodejs 的突破口是 IoT的疑问, 简单写一下听完老师后的感想和自己的理解:

  1. 首先, 我们得跳出当前前端的技术栈和业务的限制, 很显然, 以目前前端的知识堆栈和能力, 没有特别好的切入点来涉足 IoT 这个领域. 所以, 一个好的建议是, 做好该有的知识储备, 以目前的状态进入 IoT, 注定是被淘汰的那一批.
  2. 其次, 目前没有一个好的技术方案来让前端参与进来, 甚至是像天猫精灵的无屏设备, 前端的角色显得更为尴尬, 所以, 简单说, 一篇空白, 等待自己去探索出一条前端之路.
  3. 如果非要和物电的同学进行正面竞争, 为什么不差异化发展, 做连接的工作呢? 既然端上被他们牢牢掌握着, 我们将他们作为基础服务, 将自己做为一个连接的角色, 整合端的能力? 做一个用户的连接者? 有用户的地方, 就应该有前端哈?
  4. 单片机开发搞不过或搞不来, 我们能搞嵌入式系统吗? 能用 Ruff 来做端吗? 能用 Android 手机来做端吗? 在做可行性方案的时候, 是不是有必要一定要搞单片机和低成本硬件呢? 我能不能在 Android 手机上做一些 IoT 开发, 在批量生产时, 再让物电的学生做电路设计和硬件成本的降低呢?

[站外图片上传中...(image-e9a0a1-1513824975958)]

个人成长的3个关键词

自己对它的理解是, 做的时候, 更多需要去思考做背后的逻辑, 以及解决了什么问题. 很多时候, 对技术选型或技术探索, 优化之类的, 需要和团队的目标 或 老板的想法结合在一起.

发声, 最近有听到很多类似的, 比如, 工作需要透明, 需要更多地和团队成员分享, 还有包括技术分享等等. 说的多不如做的多, 所以, 这三点就不展开.

[站外图片上传中...(image-192761-1513824975959)]

猫超不一样的视角

@由校老师 猫超的 Web 实践, 使用 U4 2.0 内核的将 Android 4.4 及以上的兼容磨平, 并将 web 性能提升了不只一点点. 因为也刚好遇到了有同学问 web 和 weex 技术选型的问题, @由校老师 也做了很好的回答.

猫超在首次加载中, 对 Service Worker 做了优化, 通过 UC 内核, 可以将 Service Worker 本身 Push 到内核中,并提前加载资源进行首次优化. 在二次加载中, 通过 Service Worker 的 Cache 能力, 也能获得不少的加速.

会后, 和 @由校老师 简单聊了一下性能痛点: 长列表的内存回收, 或 cell 重用复用的问题等等. 在他看来长 list 的性能问题已经不是特别大的问题了, 相反, 他给我举了一个 tabbar 滚动后无法保持状态的痛点.

[站外图片上传中...(image-a03e5b-1513824975959)]

其他小细节

References

  1. Weex团队负责人:我眼中的Weex和Weex开源那些事
  2. 云栖社区开发者技术峰会——开源技术专场
  3. Ruff 文档
  4. 小米 IoT 开发者平台
  5. estimote, iBeacon是什么 iBeacon怎么用
  6. 前端的职业危机感 by 自己
上一篇 下一篇

猜你喜欢

热点阅读