写点什么

黄希彤:给前端开发者——云时代前端开发的边界拓

腾讯云

  • 2020-11-30
  • 本文字数:3294 字

    阅读完需:约 11 分钟

黄希彤:给前端开发者——云时代前端开发的边界拓

2020 年 11 月 29 日,腾讯 2020「小程序·云开发」技术峰会在北京顺利召开。本次峰会以“重新定义开发”为主题,深度聚焦小程序云开发的创新成果与实践案例。以下为前端开发领袖,腾讯云 TVP 黄希彤演讲实录:


大家好,不知道在现场的有没有做前端开发的或者从前端转到云上开发的?可以举下手吗?今天是一个关于云开发的会,前端能来到这里,说明我们的嗅觉都很敏感。这两年在云上面,开始闻到了一些前端的味道,好像我们前端搞事儿的时机又到了。


这让我我想起来 20 年前,我们前端有过一个最爽的时代。那时前端是一个像 BUG 一样的存在,所以 2000 年不止有一只千年虫


2000 年的时候我有一个朋友在中华网做前端,当然那个时候还没有前端这个提法,叫网站编辑。


那个时候的前端是做啥的呢,用 Dreamwaver 编辑静态网页,不用写脚本,至少不用自己写,DW 好像自己会生成一点儿脚本。那个时候,普通前端就是拖拽生成页面,高级前端就是 HTML+CSS ,没人写脚本。


那时候我那个朋友的工资是 1 万块,我是一个做 DELPHI 开发的,工资是 1800。那真是前端最好的年代,连 JavaScript 都不会,可以拿到一个程序员 5 倍多的工资,我瞬间就爱上了前端。


不过等我把 Delphi 程序员到工作辞了去深圳想搞前端的时候,互联网泡沫居然破灭了。


破灭了也好,大家都回到一样的起点,重新出发,开始一边学前端,一边试图搞清楚前端到底是什么意思。


我那个时候开始到 CSDN 论坛上混 JavaScript 版。那时也还没有前端这个提法,


但是开始有了动态网页的提法,就是所谓的 DHTML,也就是 HTML+CSS+JS。


到 2005 年,我作为第一个专职的前端开发加入腾讯。那时候中国做前端的人还很少,中国的互联网公司也都还没有前端开发这个岗位。


那个时候我作为前端开发的能力范畴也还是 DHTML,不过因为跳槽的过程有几十天的过渡期,我居然抽空复习了一下通讯协议。这对于现在的开发者已经是基本能力要求了,但是在当时的前端,这就严重超纲了,这是前端手伸得太长,想搞事儿了。


然后,我还没想好怎么搞事儿,事儿自己搞上门来了。2006 年的 1 月 1 号,元旦节早上 8 点整,腾讯的一批服务器崩溃了,来自全国的,远超常规的访问流量,持续不断的压在服务器上,然后服务器就崩溃了。


懂网络安全的同学都知道,这叫 DDoS,分布式拒绝服务攻击。这会给服务器带来很大的压力。


不过当时是元旦假期,我是等到 1 月 3 号早上才知道这事的。那天早上,我在查看我们开发的网页的时候,突然感觉到一种压力,不是网络并发访问的那种压力,是一种生理的压力。


然后我就去厕所释放压力。在厕所里我听到了两个人边释放压力边聊天。


一个就问,查到是谁在攻击了么,另一个就说没有,压力完全是分散的,追踪不到攻击来源。


原来我负责的业务已经不能提供服务了,但是要不是碰巧上了个厕所,我都还不知道,因为网络通讯层在当年,就是不关前端什么事的。


不过到底什么事关前端的事,大家也说不清楚。释放完压力回到座位上我就开始尝试做抓包分析。


得益于那十几天超纲的学习,我很快定位到问题。原来我们的服务器上,在输出文件时


间戳的时候,打错了一个字母,把 1 月的 Jan 搞成 6 月的 Jun 了。


六月还没到,这是一个未来的时间戳,浏览器就放弃了缓存。没有缓存,就是导致浏览器一直请求过量数据直到把服务器压垮的原因。


解决这个问题为前端开发在团队中争取到了在更大的技术领域上的话语权,而我们也开始思考,前端作为一个比较新的岗位,我们是不是可以尝试把各种各样的新技术卷入到我们的能力圈里面。


我们的能力圈越大,我们能解决的问题可能也越大,我们的话语权也会越大。


慢慢的,我们一边建设 web 前端开发这个通道岗位,一边趁着定义这个岗位的能力模型的机会,把各种各样边界模糊的能力都放到前端里面来。


比如当时很多网页打开很慢。前端说我的页面没问题啊,后端说我的服务器也没问题啊,那问题出在中间咯,中间是运营商,关我屁事啊?


但是,我们前端是无所不能的嘛。我们开始在页面和脚本里面埋点,做前端性能监控。


当时浏览器还不支持 performance 接口,我们就自己想很多技巧来做各种协议层节点的监控。


比如说通过临时的一次性域名来分析域名解析过程,通过 http1.0 和 http1.1 请求的速度对比来监控 TCP 层握手和通信的性能。


我们使用浏览器插件来辅助提升速度,使用 Flash 来增强表现,我们写各种网络诊断工具放到用户端来定位问题。


越来越多原本不属于前端的技术被放到了我们的关注圈和影响圈里。在问题的解决过程里前端的边界就是这样越来越往外扩展。


我们的手越伸越长,甚至摸到了非技术领域。我们有一次发现,中国有 1700 万盲人不能正常使用网页,这哪行,我们前端是无所不能的嘛。我们一转手就做了网页无障碍化,然后又一转手还去推动了客户端无障碍化,然后一转身我们还成立了一个信息无障碍联盟,把中国最大的几个互联网产品都拉下了水。


说到无障碍话题,这两天 36 氪上有一个视频非常火,叫《这才是 iphone 的最强功能,不接受反驳》,建议开发者都去学习一下,怎么把一个产品做到受人尊敬。


2009 年前端圈子被丢进来一颗重磅炸弹。我还记得 Node.js 发布的时候,前端圈子里大家又兴奋又迷茫。


虽然 Node 主要是一个 Server 端的技术,本质上跟 web 端是在两头。但是由于和前端非常类似的开发语言和技术栈,让很多前端直接就撸袖子写自己的后台应用了。


差不多的时间里面,安卓系统也开始把智能手机低价化,在山寨手机开始爆发的时候,前端们发现我们不但可以写在智能手机上运行的网页,还可以用 HTML5 做跨端的 APP。


2015 年又出了一个超级炫酷的怪胎技术,我还记得第一次在一个 Awesome Day 活动现场听说了 Lambda 这个服务的时候,兴奋的回家就翻墙上了 AWS,写了第一个 Lambda 的 Hello world。


不过当时我还不懂 API 网关怎么连接上去,然后连一个 Hello World 页面都没能发布出来就放弃了。


当然只是放弃了这个 Demo。一转身我就转岗到腾讯云了。


2016 年微信推出小程序,那又是一次前端们可以狠狠的“搞事儿”的时机。前端技术栈几乎无缝衔接过来,前端的技术边界拓展到一个新的领域里面。


后来 2018 年小程序的云开发环境里面居然还支持了云函数,把前面刚发明出来的 node、


lambda 能力给包装到一套解决方案里面,还在里面塞进去了对象存储和数据库这么逆天的玩意儿。


我们的魔爪伸到后端了,颤抖吧后端。


当然今天我们不是要来讲这些过去的辉煌之类的,我想说的是,我们前端开发,从这个岗位诞生以来,边界就一直是在不断衍生和拓展的。


所以我们现在都开始不讲前端了,我们开始讲大前端了。大前端的边界本身也一直在扩展,这几年大家都关注到了,语言层面的 TypeScript,Dart,框架层面的 Vue、Reactact,跨端的 flutter、electron。而我觉得现在更好玩的,赋予前端更多能力,让我们玩的更酷炫的,是那些朝向后端拓展的趋势,那些云时代赋予前端开发者的后端能力,比如这两年的当红炸子鸡,serverless。


十年前我经常有一些新想法,想想虽然前端写一下只要两个钟头,还要去搞服务器搞数据库,算了。


而到了今天,我们有了云函数,有了云开发,我们不再需要非得去弄服务器和写 SQL。


今天我有一个什么好想法,就可以直接在腾讯云的云开发环境上,用免费的云数据库和对象存储来做存储,免费的云函数来做计算,免费的 CDN 来做静态分发,免费的 API 网关来做动态接入和分发。


我只要写好我的云函数代码,然后就等待美好的事情发生,比如明天我会不会红啊。


比如前面有一段时间我儿子在国外,我在国内。我想和我儿子远程玩个在线互动的游戏,我就写了个页面写了个云函数,然后我们就可以开始玩了,这是游戏的二维码,大家有兴趣现在也可以玩。


因为在云开发下做创新需要的计算、存储、分发各种资源唾手可得,所以我其实还做了挺多尝试的,比如疫情期间给志愿者开发信息系统,比如给自己公司的项目做在线实时图表等等,还帮朋友做了一写创业项目的 MVP。这种云能力的补充让我们前端比以往任何时候都更像一个极客。


我知道已经有很多的前端,像我一样,已经在尝试朝这个方向拓展自己的能力边界,让自己变成一个更全能的开发,在云上更自在的释放创意。


但是可能还有更多的还没有看到这个新机会的前端,那我希望通过今天的分享可以让你知道,我们前端的能力边界正在发生新的变化。


借用 Linus 老大的名言来结束,Talk is cheap,show me the code。前端们,到云上来玩吧。

2020-11-30 00:231418

评论

发布
暂无评论
发现更多内容

精品!阿里P8爆款《SpringBoot+vue全栈开发实战项目》笔记太香了

Java 架构 Spring Boot Vue 前后端分离

看火山引擎DataLeap如何做好电商治理(二):案例分析与解决方案

字节跳动数据平台

短视频 DataLeap 电商治理 达人治理 商品安全

QUIC在京东直播的应用与实践 | 京东云技术团队

京东科技开发者

直播 直播技术 QUIC 企业号 5 月 PK 榜

假期充电,用阿里云 Serverless K8s + AIGC 搭建私人代码助理

阿里巴巴云原生

阿里云 Serverless Kubernetes 云原生 AIGC

鬼知道我经历什么,从Java外包到了阿里P7,没想到我也有今天

Java你猿哥

Java Spring Boot JVM java面试 Java八股文

深入理解 MySQL 索引底层数据结构

Java你猿哥

Java MySQL 算法 ssm sql

华为云数据库首席专家谈分布式数据应用挑战和发展建议

华为云开发者联盟

数据库 华为云 华为云开发者联盟 企业号 5 月 PK 榜

mosn基于延迟负载均衡算法 -- 走得更快,期待走得更稳

Java你猿哥

Java 负载均衡 ssm 架构师

SaaS化开源项目之HouseKeeper云上部署实践

华为云开发者联盟

开源 微服务 华为云 华为云开发者联盟 企业号 5 月 PK 榜

LinkFlow发布会实录|食品饮料品牌洞察应用实践分享

游读分享

KubeEdge在边缘计算领域的安全防护及洞察

华为云开发者联盟

开源 边缘计算 华为云 华为云开发者联盟 企业号 5 月 PK 榜

真香! GitHub大牛呕心沥血整理的5000页Java学习手册

Java你猿哥

Java MySQL redis Spring Boot java基础

Istio权威指南,华为云云原生团队倾情巨献!

博文视点Broadview

关于并发编程与线程安全的思考与实践 | 京东云技术团队

京东科技开发者

并发编程 线程安全 java 并发 企业号 5 月 PK 榜

研发效能治理:复杂性

码猿外

研发效能 工程效能

低代码为什么需要专业代码

牛刀专业低代码

项目终于用上了 DDD 领域驱动,太强了!

Java 架构 DDD

统一门户的快速构建--基于小程序技术的一种可能

FinFish

统一门户 小程序容器 小程序化 小程序技术

走进南京邮电大学!龙蜥导师面对面分享如何通过开源经历获得实习/工作机会?| 开源之夏 2023

OpenAnolis小助手

操作系统 实习 龙蜥社区 开源之夏 南京邮电大学

技术同学如何提高职场话语权

老张

话语权 职场影响力

Spring Boot 单体应用一键升级成 Spring Cloud Alibaba

阿里巴巴云原生

阿里云 微服务 云原生 spring cloud alibaba

面对职业焦虑,我们能做些什么?| 社区征文

三掌柜

三周年征文

2023年西藏自治区等级保护测评机构名单看这里!

行云管家

等保 等级保护 西藏

学习java没规划?2023最新路线图,大堆资源秒变大神

Java你猿哥

Java 数据库 前端 后端 java基础

行走的Offer收割机!首次公布Java10W字面经,Github访问量破百万

Java java面试 Java八股文 Java面试题 Java面试八股文

如何选择合适的共享电动车厂商

共享电单车厂家

共享电动车厂家 共享电单车厂商 景区共享电单车 校园共享电动车 共享电动车生产

小微企业是什么意思?如何认定?

行云管家

信息安全 小微企业 小微企业认定

前方高能!融云《社交泛娱乐出海作战地图》来袭,前 100 位免费领

融云 RongCloud

图片 社交 融云 泛娱乐 出海

小程序:技术标准与生态的演变

没有用户名丶

HTAP for MySQL 在腾讯云数据库的演进

NineData

MySQL 腾讯云 NineData HTAP for MySQL 2023云数据库技术沙龙

一站式统一返回值封装、异常处理、异常错误码解决方案—最强的Sping Boot接口优雅响应处理器 | 京东云技术团队

京东科技开发者

Spring Boot 处理器 企业号 5 月 PK 榜 Graceful Response web接口开发

黄希彤:给前端开发者——云时代前端开发的边界拓_文化 & 方法_InfoQ精选文章