Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第13届D2参会感受 #14

Open
Cyrilszq opened this issue Jan 12, 2019 · 0 comments
Open

第13届D2参会感受 #14

Cyrilszq opened this issue Jan 12, 2019 · 0 comments

Comments

@Cyrilszq
Copy link
Owner

看了一下上次博客的更新时间,还是大概一年前。。。自己居然已经一年没有写过什么东西,反思了一下主要有两个原因:一是这一年里确实对前端技术本身关注不够,没有深入哪一块去研究,二是投入工作之后平时已经比较忙了,空闲时间不太想学习。现状急需改变,就从今天开始吧。

上周参加了 D2 前端技术论坛,本应该参加完就进行一些总结,但工作日比较忙,没来及做这件事,一直拖到现在才进行整理。
每次听完这些分享其实感受都是一个:前端有趣的东西还有这么多,每一个都想去玩一玩,然后一天过后就忘了这些,依然写着类似的业务代码。我觉得还是要每周花点时间在脱离业务的场景下学点别的东西。

正文

本次有三个分会场,每个会场主题不同,同一时间只能选择自己感兴趣的某一个话题听了。
第一场听的设计稿智能生成代码平台
这个话题记得去年参加JSConf的时候就在提,其实到现在也没有什么成熟的方案,这次讲的个人感觉都是一些比较虚的东西,最终也没给出切合标题的实际方案,大概只详细讲了怎么自动生成iconfont。
最近也在了解一些中后台提效方案,很大的一个方向就是智能搭建,目前这种搭建方式尚不能很好的满足业务需求,更不用说设计稿自动生成代码了,还有很长的路要走啊。关于提效这件事,两年前大家谈的大多是组件库,于是当时各种不同风格的组件库纷纷出现,直至组件库规范形成,大家开始基于这些组件库组装更复杂的模板、物料,比如阿里的飞冰,已经可以快速搭建一个后台系统。在此之上可能就是设计稿转代码了,期待这一天的到来。

第二场听的探索海量数据的实时渲染
感受还挺深的,虽然我没有接触过这类似的业务场景,但想象一下利用浏览器渲染一些极其复杂的图形,一定会有很多瓶颈。讲师从WebWorker,讲到WebAssembly,再到WebGL2,虽然都是之前知道的东西,但对这几个东西都没有深入了解。中间还举了优化一段代码的例子,总结下来其实最重要的还是一句话:你写代码的水平对性能的影响远大于工具。确实是这样,比如我在一些业务代码中有时为了图方便直接就写出了O(N^2)复杂度的代码,主要我知道数据量不大这么写没什么问题,如果是面对海量数据那么其实每一行代码都得想下可不可以先从算法层面进行优化。

第三场听的Migration to React Suspense
本以为会讲一些 Suspense 的代码实现,结果比较失望,仅仅是介绍了 Suspense 这个特性出现的原因和如何使用。但 demo 准备的不错,一步一步算是把 Suspense 讲的很清楚了。

第四场听的Web 渲染引擎中兴之路之技术大揭秘
主要将 U4 内核的演进,现在 U4 内核已经有不弱于原生组件的性能了。移动端写的比较少,感觉原生的组件主要好在视觉、动画效果,看起来很舒服,h5 即便性能不是问题了,但在这些动效算法上还是不如原生的啊。

第五场听的ElectronJS in 2019
没太多技术干货,主要再讲 ElectronJS 是如何发展的,解释了为何 ElectronJS 更新 Chromium 版本如此艰难,原来他们在 Chromium 之上打了很多补丁来绕过 Chromium 的一些限制,于是 Chromium 每次更新加入新特性他们都得回归一遍,这样的版本迭代效率可想而知,但目前也没有什么好的办法。之前我有体验过 ElectronJS,这个项目的想法很赞的,将 Chromium 和 node 结合开发桌面端项目,但总感觉以后桌面端 PWA 是一个比较好的方向。

总的来说质量还是不错的,毕竟没多少广告就已经很赞啦,而且至少又听到了一些新名词。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant