主会场
一、TC39, ECMAScript,and the Future of JavaScript
By Nicolas Bevacqua
什么是TC39
TC39(Technical Committee 39)是一个推动JavaScript发展的委员会。
它的成员由各个主流浏览器厂商的代表构成。
规范开发流程
每一项新特性想要最终呗纳入 ECMAScript 规范中,都需要经历 TC39 拟定的处理过程,共包含 Stage 0 - Stage 4 五个阶段。
Stage0 : strawman
以自由形式提交想法以推进 ECMAScript 发展的阶段,任何 TC39 成员,或者注册为 TC39 贡献者的会员,都可以提交。
Stage 1 : proposal
该功能的正式提交阶段。
Stage 2 : draft
草案是规范的第一个版本,与最终标准中包含的特性不会有太大的差别。草案之后,原则上只接受增量修改。
Stage 3 : candidate
即将完成的候选阶段,需要具体实现和获得用户的反馈。此后,只有在实现和使用过程中出现了重大问题才会修改。
Stage 4 : finished
已经准备就绪,该特性会出现在年度发布的规范之中。
处于Stage 4 的特性
- Array#includes : 数组实例的 includes 方法,用于判断数组实例是否包含某个值。
- Async Functions : async 函数,处理异步回调的一种解决方案。
处于 Stage 3 的特性
-Async Iteration : async 函数和迭代器的结合使用形式。
-Rest/Spread Properties : 允许我们将一个对象的各个属性进行解构赋值和定义相关的操作。
-Dynamic import() : 动态引入脚本。
-Named Captures : 支持正则表达式的命名捕获。
-Unicode Escapes : 字符编码的扩展。
-Lookbehind Assertions : 支持正则表达式的后行断言。
处于 Stage 2 的特性
-Class Decorators : 类装饰器,用于对类的方法和属性做一些定义或前置后置操作。
Future of Javascript
未来可以借助哪些工具更高效地开发Web页面,写JavaScript?
- npm,JavaScript 包管理工具,打败了bower
- webpack,JavaScript 打包工具,击败了 gulp,require.js
- babel,JavaScript 编译工具
- rollup,新一代 JavaScript 打包工具,在类库开发中颇受欢迎
- eslint,JavaScript 代码质量检查工具
- prettier,JavaScript 新一代代码质量检查工具
- node,JavaScript V8 运行环境
- electron,JavaScript 桌面应用开发工具
这一场全程英文,看了下周围的人,大多也是一脸懵的状态,不过还好有讲义,再加上部分PPT贴了一些代码,还是能看懂部分内容。
二、初创公司前端工程体系建设
By 张云龙(全民直播 CTO)
组件化开发与系统拆分
分而治之是软件工程中的重要思想,是复杂系统开发和维护的基石,这点放在前端开发中同样适用。在解决了基本开发效率运行效率问题之后,前端团队开始思考维护效率,组件化是目前前端最流行的分治手段。
服务端模板
- 模板提供require声明对js/css模块的依赖
- widget用于引入组件
- 模板引擎根据资源表实现资源加载管理,并自动完成优化(按-需、合并、同步、异步、预加载、推送、首屏内嵌等)
- 性能高,搜索引擎友好