csdn论坛(CSDN官网) 【CSDN现场报道】2015年11月19-21日,由CSDN重磅打造的"2015 中国软件开发者大会"(以下简称SDCC 2015)在北京朗丽兹西山花园酒店隆重召开。今年是第七届,大会为期三天,除了阵容强大的全体大会外,主办方还精心筹备了九大技术专场论坛,包括:架构实践论坛、前端开发论坛、数据库实战论坛、研发管理论坛、安全技术论坛、算法实战论坛、编程语言论坛、产品与设计论坛、微信开发论坛。此外,还有五场特色活动及展览展示。 图:前端开发论坛现场座无虚席 SDCC2015第二天前端开发论坛,在w3ctech发起人周裕波的主持人下正式开始。他表示几年前,前端开发还不温不火,而近两年却成了火爆技术。该论坛将围绕前端开发框架、前端工程化、Web组件化、数据可视化这几大热点展开,邀请来自Facebook、百度、腾讯、美团、Strikingly等公司的前端专家进行分享。 w3ctech发起人周裕波 Facebook前端工程师ShihChi Huang(黄士旗):Why React matters/scale Facebook前端工程师ShihChi Huang(黄士旗) Facebook前端工程师ShihChi Huang(黄士旗)在主题演讲《Why React matters/scale》中分享了React核心技术要点。"Learn Once Write Anywhere"是React的核心思想,JavaScript、UI是它的两个重要特性。Do One Thing and Do It Well、Write Programs to Work Together、Handle Text Streams等技术特性是其吸引大量开发者使用的重要原因 。 Strikingly.com CTO、联合创始人郭达峰:React.js in Strikingly Strikingly.com CTO、联合创始人郭达峰 Strikingly.com CTO、联合创始人郭达峰在主题演讲中从第三方库整合、Lazy Load Component、Container Component、Global State Object四个方面,分享了Strikingly在React上的开发实践经验、技巧。他直接现场编码演示了jQuery sortable使用React进行封装的过程,并表示大家可以放心地在React里使用第三方库。 Lazy Loading Component可很好改善Bundle 大小,可以使用Webpack的Code Splitting、动态请求Lazy Load笨重组件、使用bundle-loader发送单独请求,该技术在SPA应用开发中很有用。Container Component可以赋予子对象行为(Bahavioural Container)、布局(UI Layout Container)或数据(Data Container);针对Global State Object,郭达峰表示所有状态存在于一个Global State Object中,Flux store仅仅是该对象不同部分的视图,所有的改变都可以应用于同一个对象上,使App状态序列化成为可能,调试更容易。据悉,Strikingly是国内使用React重写的最大应用之一。 美团技术终端组高级工程师吕伟:前端分布式编译系统的设计 美团技术终端组高级工程师吕伟 美团技术终端组高级工程师吕伟在主题演讲中介绍了前端分布式编译系统的设计原理,他表示该系统最终目的是取代Webpack和Browserify,即使单机编译也能利用多核加快编译速度,它将用于美团的CI系统和上线系统。其将在正式投产后完全开源。 饿了么资深前端架构师兼大前端团队负责人林建锋:ELE.ME是如何运行的 饿了么资深前端架构师兼大前端团队负责人林建锋 饿了么资深前端架构师兼大前端团队负责人林建锋在主题演讲中基于饿了么的开发方式、开发与发布过程,讲解了ELE.ME是如何运行的。在开发方式上,他表示专业的人应该做专业的事,前后端应做到真正分离,后端应更专注数据的存储、缓存且一次输出,而前端应该侧重于展现、多客户端处理、数据自由。 在开发与发布上,更希望使用一个命令行搞定工作环境的搭建,饿了么使用"$ make dev"来实现这一点。JS框架选用的是Vanilla JS和Angular JS,使用Babel/browserfy进行编译。在HTML领域,采用Jade,CSS方面则使用CSSNext/Sass。下图显示了饿了么的开发与发布方式。 百度EFE团队资深工程师、百度ECharts产品工程师乔刚:前端数据可视化实践 百度EFE团队资深工程师,百度ECharts产品工程师乔刚 百度EFE团队资深工程师,百度ECharts产品工程师乔刚在《前端数据可视化实践》的主题演讲中,分享了如何将数据转为可视化元素向人展示。他表示数据分析之前,将其进行可视化展示十分重要,否则数据分析易产生错误。 数据类别千差万别,需要对他们进行可视编码,即将数据映射为标记(图行元素)和视觉通道。视觉通道是一个很重要概念,它将数据转化成人类可以理解的、相对应的数据,如颜色、亮度、饱和度、透明度、色调、尺寸等。他强调应避免将重要的信息放在形状上。 交互也是数据可视化的重要部分,应遵循的可视化设计原则有总览为先;缩放过滤;按需查看细节。在一般开发过程中应避免复杂动画,而在数据可视化,动画可以带来便利,它可以表达 数据/图形元素在变化中的联系,助于理解。最后,先分享了百度所做的各种数据可视化案例,包括点数据、线数据、场●向量、时间数据高维数据等。 百姓网资深前端工程师贺师俊:如何制定和实施ES6+代码风格和质量标准 百姓网资深前端工程师贺师俊 针对大家都认为重要的Coding Style,百姓网资深前端工程师贺师俊表示它其实并没那么重要。代码逻辑、模块划分、架构设计等等都较Coding Style更重要。但本演讲还要向大家强调一下Coding Style,其原因是,随着个人作坊转向团队协作、一次性项目更需长期演化、持续维护,如果没有好的编码意识和习惯,将会使开发过程越来越痛苦。 ES6的发布将带来Coding Style的巨大升级。他推荐了一些可使用工具,如果jslint、jshint、jsdc、eslint, 并重点讲解了ESLint,它添加了很ES6编码规则,具有可插拔架构、高度可配置、预置大量规则、可共享复用等特点。他以airbnb代码风格为例介绍了ESLint的这些特点。 腾讯互联网增值业务前端团队负责人钟鹏飞:Hybrid模式的深度融合——腾讯手机QQ H5优化与监控自动化建设 腾讯互联网增值业务前端团队负责人钟鹏飞 腾讯互联网增值业务前端团队负责人钟鹏飞在《Hybrid模式的深度融合-腾讯手机QQ H5优化与监控自动化建设》主题演讲中分享了Hybird模式下的测速监控体系、Hybird模式下的站点性能优化、前端持续集成与监控自动化三部分。 Hybird模式下的站点性能优化,除了相对常规的优化措施外,他还分享了四大核心优化方案,包括Webview并行初始化,Webview预创建,分散I/O、离线包管理优化,Webview和页面并行加载。前端持续集成与监控自动化方面,介绍上QT4A自动化测试平台的工作方式,并分享了手机QQ 监控自动化建设概念图,及更具体的持续集成和监控自动化体系架构图。