朋友喊我去一起去d2,原来一直在加班,没有想去的动力,后来业务上线,幸运的入手了别人转的一张票(也不便宜啊)~

讲了五个挑战

  • 端侧渲染体系的重塑,从PC时代到无线时代,再到未来的IOT时代,在渲染方面诞生了很多优秀的技术,RN, Weex, Flutter,小程序体系等。基于底层的渲染思路,Native的渲染,2D、3D性能体系,包括WASM集成到无线端来渲染, 都带来了很多可能性。
  • 2B中后台场景垂直领域的深度沉淀。从2C场景到2B场景,以前由大量外包全栈支撑的中后台体系也在变为专业前端的主战场。中后台领域有框架、布局、组件、数据交换,庞大体系的运作(跨团队协作)等各种挑战,在技术上也有可视化,Web Excel, 编辑器,搭建,智能化等各种方向值得深入。不同域的体系下如何和后端体系打通,领域模型的贯穿等,都是需要探索与沉淀的。
  • 从传统开发模式到云+端开发模式,云使业务体系平台化,接口化,在端侧效率化,业务化。前端关注到从页面到业务。Serverless一定是未来趋势,前端能力必须匹配未来技术要求。
  • 前端智能化,页面的构成,结构,标准化。这一块淘系的 imgcook 已经做得很不错了,在今年的双十一也有智能代码生成的大规模落地,可以了解一下~
  • 语言底层的深入。国内的语言与国际接轨,需要从底层做起,参与标准化的制定,促进JS语言的发展。最近贺老也加入了TC39,希望以后在标准化的制定上,能看到越来越多国人的声影

第一场来自TC39的Daniel 给大家讲解了TC39的工作机制,一个新特性从提出到成为标准需要经历以下阶段,总体来看还是非常严谨的

  • Stage 0: strawman - 脑暴阶段,有什么想法都可以提出~
  • Stage 1: proposal - 讨论阶段,由TC39的成员发起一个正式的新特性提案,并与其他成员和社区进行讨论
  • Stage 2: draft - 草案阶段,需要包含两个实验性的具体实现
  • Stage 3: candidate - 候选阶段,基本已经准备实施,需要包含两个符合规范的具体实现
  • Stage 4: finished - 通过test262(新特性的测试仓库)的验收,发布到年度规范

 
 
周爱民老师讲解

JS语言在引擎级别的执行过程

const obj = {
foo() { return this; }
}
(obj.foo)() === obj // true
eval('obj.foo')() === obj // false

估计这段代码会考倒好多人(包括我)

为什么 obj.foo 和 eval('obj.foo') 都返回了一个函数,但是执行结果不一样呢?

这就JS引擎搞的事情了~在执行时分为语句执行和表达式执行两种情况

  • 语句执行,即 eval('obj.foo') 这样的,对于这种类型,返回结果中如果包含引用,会用GetValue把引用取出来然后去除,返回值中看不到引用
  • 表达式执行,即 obj.foo 这样的,返回结果中可以正常包含引用

接下来一下午都待在severless专场(见到了狼叔)

ssr在以前去参加前端沙龙的时候就已经了解过了,但是没有深入,这次d2单独做了一个专题,以后这个会和微前端成为主流哦

夜场部分

Q:优秀前端都有什么特质?

A:像素思维(追求极致的还原度),充满好奇心,能与他人良好合作。善于读书,善于思考,实现自己的认知升级。关注基础知识及API的底层实现,不要做单纯的API Caller~

Q:入行时和现在对前端的认知和思考,有没有发生什么变化?

A:前端始终跟人机交互息息相关,随着终端运算能力的提升,终端设备使用场景越来越复杂,前端对即时性,好玩性以及用户体验要求越来越高。

Q:带团队以来对个人有什么改变?

玉伯:带团队以来个人的改变其实不是很多,主要是从开源社区中汲取到很多经验。开源天然不是一个人在干活,通过社区运营的大型开源项目,本身就涉及到多人之间的协同。所以就以开源项目的方式运作实体团队,团队成员有问题可以通过类似提issue的方式来沟通解决,同时也像管理大型开源项目一样,非常注重内部交流及高效协同。

Q:如何始终保持对技术的热爱?

玉伯:技术的力量,是整个社会创新最大的动力之一。始终觉得行业很有意思,每隔一阵又会有很多想不到的惊喜 响马:觉得跟人打交道比较费劲。写程序本身就是放松的~ Danel:学习新事物,给出问题的解决方案,对事情保持好奇心。

Q:成长的关键点?

Hax:多年前发现 Firefox 中有个 JS 行为与标准不一致,就给 Firefox 提了个 issue,竟然得到Javascript之父亲自回复并认可,非常触动。加入TC39也是很重要的事情(顺带又吐槽了class field hhh~)

玉伯:从上学谈起,到加入淘宝及支付宝,在all in 无线时代的坚守,到最终实现破局,中间有非常多的心路历程。

推荐分享阅读玉伯大佬的文章https://www.yuque.com/yubo/morning/grow-up-at-alibaba
 
 

去参加了十四届D2前端大会~的更多相关文章

  1. 第12届D2前端技术论坛

    第12届D2前端技术论坛 最近参加了阿里的D2前端技术论坛,听了一天的报告,收获良多,下面对几场报告做一个记录. 自己选择听的主线也是从: 实践应用 -> 管理 -> 性能 -> 新 ...

  2. HDU 6464 免费送气球 【权值线段树】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6464 免费送气球 Time Limit: 2000/1000 MS (Java/Others)    M ...

  3. HDU 6464.免费送气球-动态开点-权值线段树(序列中第first小至第second小的数值之和)(感觉就是只有一个状态的主席树) (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    免费送气球 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  4. 第二十四届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题

    第二十四届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 1.原题呈现 2.试题答案 3.题目解析 因博客园无法打出公式等,所以给你们几个小编推荐的链接去看看,在这里小编深感抱歉! https ...

  5. HDU 6467 简单数学题 【递推公式 && O(1)优化乘法】(广东工业大学第十四届程序设计竞赛)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6467 简单数学题 Time Limit: 4000/2000 MS (Java/Others)    M ...

  6. HDU 6470 Count 【矩阵快速幂】(广东工业大学第十四届程序设计竞赛 )

    题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6470 Count Time Limit: 6000/3000 MS (Java/Others)    ...

  7. HDU 6467.简单数学题-数学题 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    简单数学题 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  8. HDU 6463.超级无敌简单题-卡边界的暴力 (“字节跳动-文远知行杯”广东工业大学第十四届程序设计竞赛)

    超级无敌简单题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  9. 第十四章 web前端开发小白学爬虫

    老猿从事IT开发快三十年了,接触互联网也很久了,但自己没有做过web前端开发,只知道与前端开发相关的一些基本概念,如B/S架构.html标签.js脚本.css样式.xml解析.cookies.http ...

随机推荐

  1. 分页工具类PageResult

    1.工具类 public class PageResult implements Serializable { private Long total;//总记录数 private List rows; ...

  2. Python进阶(六)----装饰器

    Python进阶(六)----装饰器 一丶开放封闭原则 开放原则: ​ 增加一些额外的新功能 封闭原则: ​ 不改变源码.以及调用方式 二丶初识装饰器 装饰器: ​ 也可称装饰器函数,诠释开放封闭原则 ...

  3. 详细介绍:Kubernetes1.4版本的新功能

    Kubernetes1.4主要新特性 创建kubernetes集群只需要两条命令 增强了对有状态应用的支持 增加了集群联盟API 支持容器安全控制 增强包括调度在内的Kubernetes基础架构 通过 ...

  4. Cypress自动化环境搭建

    1.Cypress 下载: 官网下载,下载后直接解压即可,解压后便可单机exe文件打开 Ps:直接打开exe是会报错找不到json文件的,所以还要安装依赖环境 运行cypress项目前,必须vue-c ...

  5. Gtest:Using visual studio 2017 cross platform feature to compile code remotely

    参考:使用Visual Studio 2017作为Linux C++开发工具 前言 最近在学Gtest单元测试框架,由于平时都是使用Source Insight写代码,遇到问题自己还是要到Linux下 ...

  6. go语言笔记1

    Go语言学习整理 本文基于菜鸟教程,对于自己不明白的点加了点个人注解,对于已明确的点做了删除,可能结构不太清晰,看官们可移步Go语言教程 1    Go语言结构当标识符(包括常量.变量.类型.函数名. ...

  7. 《BUG创造队》第三次作业:团队项目原型设计与开发

    项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验六 团队作业3:团队项目原型设计与开发 团队名称 BUG创造队 作业学习目标 ①掌握软件原型开发技术:②学会使用软件原型 ...

  8. input 时间字段默认值

    背景: 时间字段展示默认值,开始时间为当天 0点,结束时间为当天晚上12点 代码: <input style="Width: 180px;float:left ;" type ...

  9. MySQL命令操作(Linux平台)

    Linux shell 批量创建数据库/表 Shell 脚本如下: # create database and table HOST='localhost' PORT='3306' USER='roo ...

  10. TreeMap 的简单解释

    TreeMap的构造函数   可以传入 自定义的比较器.Map.SortedMap.   put方法: public V put(K key, V value) { Entry<K,V> ...