与他在陆金所共事一年多,从同事的角度,毫不怀疑洪敏的技术素养、视野和能力。与他面对面交流一定会被他对技术的热情所感染。洪敏是陆金所 React 技术体系的主要推动者、功臣。在这百家争鸣的前端技术时代,不妨来看看真正的技术弄潮儿是如何在刀锋上起舞的!
前端外刊评论创办人/陆金所前端架构师 寸志
DTalk访谈嘉宾介绍:
谯洪敏,滴滴汽车开放平台前端负责人,主要专注于前端工程化、前端Web安全及前端性能优化。
今天,我们就邀请谯洪敏老师聊一聊百家争鸣的前端技术时代。
问题1:你认为国内网站面临的主要前端安全风险有哪些,厂商有没有足够重视?
OWASP发布的Top 10中可以看到全球有效网络攻击中,80%是基于Web的,其中包括失效的身份认证和会话管理、跨站脚本 (XSS)、敏感信息泄露、攻击检测与防护不足、跨站请求伪造(CSRF)、使用含有已知漏洞的组件、未受有效保护的API等,这些都直接和间接与前端有关系。
触目惊心的网络安全事件每天都在发生,当前的web完全环境可以说非常严峻。虽然大公司基本都砸了重金来建立自己的安全团队,比如国内著名安全团队:Keen Team、360、百度、腾讯、阿里、绿盟等,但是我们可以发现在阿里,京东、百度、腾讯等等各大著名平台,这些经过严格安全测试和渗透的平台,安全问题同样非常严重。另外很多人可能会觉得银行和金融类企业的安全体系一定非常健全,但是线上的渗透报告却一样令人失望。
国内厂商在安全问题上肯定是非常重视的,比如我工作过的陆金所、SAP和现在的滴滴。他们都有独立的团队致力于安全问题的防范和研究。但是互联网的节奏快的让人跟不上脚步,竞争如此激烈,如果给你一个直接确定deadline的项目,你确定就一定有足够的时间确保交付给用户的产品非常安全和完善吗?就算大厂,迫于项目赶进度的压力和成本问题,疏忽是很难避免的,也给我们机会在多年的双11和618活动时期发现淘宝天猫京东的漏洞。
所以无论是前端安全风险还是后端安全风险都不可避免。国内外的公司和组织都在不断努力,现在同源策略、CSP、HPKP等新方案,都是为了让黑客攻击的成本大于他的收益,当成本大于收益时,黑客就会放弃攻击,自然也就相对安全了。虽然网络不是绝对安全的,但请相信魔高一尺,道高一丈。
问题2:前端性能优化的理论空间有多大,目前阻碍达到理论最佳性能的主要阻碍有哪些?
恕我不能找到一个计算公式去量化分析,但是我认为前端性能的优化空间确实非常大。性能是各种网站、APP的命脉,性能是最重要的用户体验和服务稳定性指标,性能的提升产生的收益更是呈现指数级增长。据GA统计,移动网页平均加载时间竟然需要7秒,nngroup调查分析报告中指出:如果加载时间超过1秒,将导致用户反感,如果超过3秒,用户基本放弃使用这个APP。Walmart指出他们每降低100ms的加载时间, 收入就会提高1%。Yahoo说 每降低400ms的加载时间,他们的访问量就提升9%。Mozilla 将他们的页面速度提升了2.2秒,每年就多获得了1.6亿firefox的下载量。
我们再来看看真实的一些案例,百度搜索团队的性能优化报告显示,百度搜索最快可以做到0.04秒就返回结果,他们曾经让百度搜索的速度平均提升5-10倍。Google为了追求性能极致直接从应用层协议开刀,研究SPDY,促进了HTTP/2的诞生,当时Google的实验数据显示页面读取速度快了55%。
阻碍达到理论最佳性能的障碍我认为是意识,第一个是公司意识:性能优化不是一个简单的工程问题,需要投入足够的开发资源,一些公司没有意识到性能优化的性价比,不愿意投入资源。第二个是工程师的意识:没有基本的性能优化基础知识,代码和工程质量较低,性能差。所以公司需要足够重视性能优化的资源投入,工程师需要不断提升自己的性能优化技术技能。
前端性能只是性能优化众体系中的一个点,单纯讲前端性能优化就已经需要一本书的篇幅了,这里不展开讲,在此推荐一个checklist值得大家一读:https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/
问题3 :不断的更新前端技术,需要不停的去学习,你对这个怎么看?
这些年前端的苦逼和迷茫大家一定能感同身受,今天的热门技术,也许隔天就成明日黄花,很多人会说前端这些年太浮躁了,但是我觉得现在正是百家争鸣、百花齐放的时代,我们将拥有更多的选择,亲历更多的变化。
看看Github的语言排行,Javascript可以说直接秒杀了java、python、ruby、php(声明:我也热爱其他语言,不拉仇恨),这也部分说明了前端当前的关注度之高,技术社区之繁荣。
现在的前端已经不只是画画UI这么简单,曾经大家说javascript是玩具语言,如今后端才拥有的各种设计模式、工程化...,现在前端都能一一对应。angular、vue、react?(欢迎大家到本次DTALK现场参与更深层次的讨论),ES6、Typescript、node、PWA、小程序、jquery、backbone、CSS next、Webkit、RN、Weex、Gulp、Webpack、D3、FP、NW......,这里可以省略一万字,而这就是我们面临的真实近况,前端攻城狮可以学习和使用的技术很多很多,是浅尝还是深耕,完全可以根据自己的项目需要来。
其实这个问题对我来说可能比大家更敏感,一个团队负责人不得不花更多的时间在管理、沟通协调、开会、决策、招聘等方面。我曾经有一年多,编码时间占比不到5%,后来发现执行职责的能力发生了严重的退化,作为团队负责人更有责任去不断鼓励新技术的探索和学习,而你脱离了一线开发,你的视野和决策就会受阻,所以我现在不断的挤出时间尽力保障自己能有30%的编码时间。
为了保持全团队的高效学习,团队会分工研究不同的方向,并保持每周的浓缩分享,便于大家花更少的时间学习更多的新技术。我们会积极的试点技术,并把最适合的技术试点到适合的业务,并根据试点的结果数据来决定是否扩大推广;另外成立专门的翻译小组,去翻译并吸取业界的动态,确保团队的技术发展。
我知道这会非常苦,但是也非常酷,不是吗?每一个新技术都是为了解决过去的一个痛点,我们有多少痛点,就一定会诞生多少新的技术方案。现在可以学习更多的知识,可以选择更多,我们理应不断学习,不断前进。
问题4 :从ebay、SAP、陆金所、滴滴、不同的业务方向,是否对你来说是个挑战?
业务和技术跨度确实挺大。ebay是曾经的电商标杆、SAP是企业信息化行业老大、陆金所是互联网金融理财龙头、滴滴是出行领域全球第一。都几乎是完全不一样的业务和技术场景。
我曾经是一名java后端攻城狮,在ebay由于项目需要曾经不得不写了很久Perl和Python,也是当时打下了Linux的基础,到SAP我曾half2half在前端和Devops,曾一度纠结是去做前端还是Docker;陆金所,作为一个互联网金融企业,却需要在安全稳定优先的背景下谨慎的推进技术发展,代码的安全可靠永远放第一位;滴滴则是一个高速发展,拥抱变化,鼓励创新的公司,需要面临各种业务和技术变化调整。每一个公司都有自己的特色和文化,你可以感受到很多,学习到很多。
每一次变化,都需要从0到1熟悉业务,经历不同的技术变迁,确实挑战很大,压力也很大,对我来说未能在一个业务领域深度挖掘确实遗憾。我们应该庆幸可以在这个时代学习到更多的知识,可以做更多的选择,我们理应不断学习,不断前进!
每个公司都有自己的业务场景,每个业务场景都有适合的技术选型,任何技术福利都会有附带成本,如何在众说纷纭中保持清醒,各大公司的前端如今又都是什么状态呢?我会在9月17日的DTalk活动中同寸志、洪日、周林三位前端大咖一起来讨论自己的选型之路。
DTalk重磅活动
技术驱动的前端和用户体验创新,9月17日,上海
此次活动我们邀请了以下平均在互联网行业从业超过十年的专家云集上海,共同探讨“技术驱动的前端和用户体验驱动创新,将有来自饿了么、滴滴、陆金所、百度、蚂蚁财富等互联网大中型企业负责前端技术、架构、Web体验和产品专家分享工作中的实战经验。
现场票已售罄!现为了满足大家需求,推出【线上直播票】,50元/人 (由于是非营利性公益项目,请理解我们不提供发票,费用用于组织活动的成本开支)
购买后,请在dtalk微信后台回复【小D】,备注【姓名+电话 】加小编微信,小编会拉你进线上直播群。在17号上午,给到大家yy直播的房间号和密码。在房间里也请大家备注【姓名+电话】,保障好自己权益,以免被小编踢出房间。
直播报名可以通过以下方式报名:
长按以下二维码,并扫描即可到达报名页面
Dtalk.org是国内第一个跨界传播和分享数据驱动观念和实践经验的从业者社区。我们谈论的话题包括:Web前端技术、产品设计定性和定量、互联网产品数据分析、数据挖掘、搜索引擎技术,我们的宗旨是从实践来,回到实践中去,并且指导企业的成本效率、业务/用户体验和营收增长。
↓↓↓