超级访谈:对话玉伯_04_03_终端技术浅谈小程序与客户端的发展
因为玉博在前端领域的名气啊,我们原本计划请教很多关于前端的问题。
但玉博表示呢,他其实可以多聊一聊小程序和客户端的内容。
目前这也是他比较关注的话题。
除了蚂蚁的前端团队,他目前也在带领小程序的团队。
因此这一节就来看一看玉博对小程序及客户端发展的一些看法吧。
玉博老师你好,很多媒体和工程师对一些技术名词的解读都不一样,包括不同企业的讲法也不一样。
比如说终端客户端、桌面端、跨端、大前端。
呃,这些概念你是怎么理解的?蚂蚁的标准是什么?嗯,确实业界有好多好多概念,然后同时业界也有那各种理解。
然后在蚂蚁这边的话,客户端是比较清楚的,就是客户端就是那个IOS加安卓,也可以叫把客户端叫那个移动端。
有时候我们会把那个ipad端也当成客户端,不过目前ipad端现在也不怎么提了,就是兼容一下就好了。
然后这边还有一个词是叫桌面端,就是目前在我们这里的话,就是提到桌面端,更多是指PC的那个桌面端,然后再回到那个终端。
这些概念在我们这里就终端是等于客户端加前端加小程序端那个IOT那个等等那个端技术术。
然后我们也会用那个大终端来称呼。
然后终端其实它的那个英文其实是两个发那个翻译的一个比较粗的的翻译,就叫那个特面端,还是比较复古的一个翻译。
还有一个更好的翻译,就是我觉得是那个DYS,是那个设备。
所以那个终端其实就是那个设备端,比如说PC端,就就是PC设备端,手机端就是手机的那个设备端。
然后IOT端就是各种IOT的那个设备端。
其实从硬件角度来看的话,刚才说的PC端、手机端、IOT端,还有ipad端,其实都是各种那个设备端。
从那个技术角度来看,就是其实我刚才聊的终端技术,其实在我说的时候,主要是指指客户端的技术和前端技术,还有小程序技术。
这中间端也包括IOT端的技术以及VRAR等技术。
其实终端很多时候就是简称端。
在我们目前的常说的语境里面,其实端就是终端,然后终端就是端就但特别要小心那个端端对端或者端到端的这个概念。
就是就是这种情况下,大家一定要谨慎。
就谈到就那个and to and谈到这个端到端的时候就一定要搞清楚是哪个端到哪个端。
比如说PC端,它手机端是一种端到端。
但那有时候从用户的界面端到接口或者到那数据端,就是也是那个端对端,就是它的含义非常泛。
就当你听到端到端的时候,可能什么都没有听到,一定要谨慎。
那还有一个词我觉得挺有意思,就是那个大前端这个概念。
然后大前端的话,其实是在很多企业组织里面,会把前端团队和客户端团队会放在一起,然后取名叫那个大前端团队。
那同时还有一个业界的词是叫做饭前端。
然后这个饭前端这个词,其实目前那个不怎么那个提了。
其实我个人无论对泛前端还是大前端这个词可能都不太喜欢。
然后在那个蚂蚁这边的话,我们其实更多叫的是统一叫的是那个终端的概念,就是前端加客户端等各种那个端技术一起那个融合在一起,成为终端技术团队也是一样,会一起融合去成为那个终端团队。
就整体谈的是终端或者是那个大终端的一个概念。
那前端前端业界的话,还有一个常提的词是前端的工程化。
然后工程化的本质,我觉得就是一句话就是如何让一群人做好一堆事。
如如果我们能做到一群前端同学能够做好一堆那个业务或者是基础设施的一些事情。
然后这就是一个比较好的前端工能化平台。
然后在前端基础设施层面,我们会提供一些工具和平台,然后让前端同学可以基于这些工具框架平台,就基于这些东西一起更好的那个协同起来。
然后这个东西就叫做前端的工程化。
嗯,了解了。
然后你说你现在更多会关注小程序和客户端嘛,那你觉得客户端小程序技术的重要性在哪里?嗯,回到支付宝,回到那个蚂蚁的话,就是前端。
前端本身的创新也在持续往前走,但确实我会发现就是前端的一些要往前往深体突破的话,要做做成下一代的一些技术技术。
先进性的话,然后这个就跟小程序跟客户端是息息相关的啊,甚至跟整体那个浏览器内合一的相关的。
所以在这一块就是对蚂蚁来说,客户端技术和小程序技术其实是非常关键的。
然后回到业界的话,我们去看PC时代还是或者是移动时代。
其实前端的代码都得运行在一个容器里面。
在PC时代,其实前端代码的运行容器就是浏览器。
然后那个时候其实前端的代码运行容器对浏览器基本上都是国外公司提供的。
像克隆呀、IE啊啊i falce啊,其实都是那个国外的公司在掌握,然后发展到小程序这个阶段。
其实我觉得在当下小程序客户端技术往下发展过程中的话,是有机会在容器层面上,让我们提供了一些自主可控的一些可能性吧。
小程序和客户端就对于整个终端来说,最大的价值点就在于它能够让整个端技术的可能性能够拓展,能够拓展就是技术的那大量可能性。
整个国产化和自主可控,也是中国软件现在发展的一个重要方向。
其实目前回到端技术,如果我们能够聚焦投入的话,我觉得基于一些开源项目,基于我们的一些能员投入,是有机会去做出一些中国的那个关机的,就是关键基础设施的一些的技术出来的。
嗯,那从产品和技术这两个方面来说,你是怎么理解小程序的呢?从大家的视角来看,它应该首先是一个产品。
嗯,确实就是小程序在业界谈的小程序的话,一般是就指微信小程序和支付宝小程序,然后回到小程序的语境,就是小程序。
我个人觉得它首先是块业务,比如说支付宝的小程序,其实更多谈的是支付宝基于小程序技术实现的整个业务侧的一个生态开放的一块业务。
从技术视角来看的话,其实支付宝的本质是一个技术实现的是sars服务平台。
然后通过小程序作为那个载体去提供各种生活服务。
那支付宝上的各种生活服务其实是非常丰富的那水电煤缴费呀,还有市民中心出行、线下支付,还有很还有很多很多服务。
其实呢这些很多服务背后其实都是三方ISV提供的。
然后这些服务在支付宝上的一个那个载体,其实就是小程的。
所以小程序它首先是一块业务,然后再回到就是小程序作为一块那个业务的话,就是也也让支付宝有机会去做到生态开放。
因为要让ISV要让第三方开发的小程序能够放在支付宝宝上跑的话,其实这本身就是一种极大的业务和技术的一个那个开放性。
其实从技术视角来看,小程序是生态开放的一个,到目前为止来看,是一个最好的技术和那个业务的一一一个载体吧。
其实目前小程序这一块,我觉得中国是走在世界前沿的,就是这个是小程序从业务和技术两侧来做的理解。
然后进一步回到那个技术侧去看小程序的话,其实要就可以回顾整个软件的发展历史。
其实在上个世纪九十年代,其实那大量的工具软件其实都是那个CS架构或者纯粹的那c架构去做的。
然后在这这种情况下,其实很多软件,包括我们现在用的photoshop呀、sketch啊,还有那office,其实都是早期的那个工具软件时代。
然后到了那个互联网时代,其实很多软件已经开始从CS架构走向大量那个BS架构。
比如说像淘宝,其实PC互联网的时候,很多时候我们并不需要装一个淘宝的软件,而且而且还只需要在PC上浏览器上打开淘宝点com就行了。
其实浏览器加服务端其实就能够搞定那大量的一些一些那个服务的实现。
然后到了移动互联网时代的话,其实整个那个BS架构又往前进化。
到了移动应用。
其实其实目前在移动应用时代,这个是大家最熟悉的一个时代。
其实很多比如说目前我们像淘宝购物呀,或者是说要看短视频呀,其实我们都不用去网站了,而是直接打开手机淘宝,打开抖音,打开微信,其实去用去使用就行了。
对,然后后来再往下去想的话,就很有意思,就是说在整个移动应用,移动互联网时代,往后那究竟会是怎么样?但这个有很多业绩有很多预测,然后存那个技术册的话,其实我觉得有一个已经发新的一个眼镜,其实其实就是APP往前演化成的,在中国演化成了小程序。
目前在很多微信呀、支付宝等那航母级的应用里面,其实都是希望自己的APP里面是还能够跑这些小程序的。
其其实这些AP里面跑的小程序,其实就是那个小程序嗯,就在中国发展嗯,比较好的就是小程序是走在这个世界前沿的嘛。
嗯,在国外的小程序这块的尝试,你有关注吗?嗯,就这个那也有一些关注那个技术侧的一些发展嘛。
其实我觉得在小程序这种技术上,在国外也是有机会的。
就曾曾经的facebook是有机会,但是但是感觉后来没有没有做成,其实也是挺遗憾的。
然后国外目前看到的更多是谷歌在推的那个PWA,就整个那个渐进式的一个那个外部的APP,以这种方式在做。
其是整个那个PWA,我觉得是比较适合海外的一种一种应用形态。
但是其实并没有小程你去做的这么极致。
一定程度上我觉得我们在在小程序这一块,微信和支付宝其实都是走在那个世界前列的。
然后这一块技术站啊,就是刚才说移动应用,然后到小程序,然后小程序如果进一步往前发展,那那会是怎么样?就是那下一代的小程序究竟是什么?然后我自己的一个答案,这可能是我我觉得可能是微应用或者称之为那个微程序也行。
就一个公司在当下其实开发一个小程序,其实目前成本其实已经那个节省了很多。
但是如果真的要把这个小程序给开发好,把体验给做好的话,其实再怎么说,一年可能还得花个几十万升至那上百万的,其实整体成本还挺高的。
然后我们就在思考一个个问题,是否能够把小程序的这种研发成本进一步降低,甚至降低到写一篇文档就可以了。
其实那这个概念叫写一篇文档,就是一个应用的概念。
在业界是叫那个dockment的SAPP,就是文档及应用。
就是目前这块就是语雀这边和我们在做的一些那个低代码平台也在探索。
其实整个那个低代码的本质也是降低软件的一个研发成本。
其实这些演进的核心都是为了降本增效,为了成本,那同时也会在降低门槛,能够让更多的就是更多的一些受众。
一些可能是一些那非技术的人员,就是也可以使用小程序,使用低代码,甚至那个无代码的方式去把一些应用给开发出来。
就是这一块整体是技术的普惠,嗯,所以现在来说做小程序开发还是很有前途的对吗?嗯,这个我我我我自己的想法是感觉小程序目前才刚刚起来,就是面向。
那未来的话,其是做小程序还是非常有前途的,而且这也是一个那个大趋势,就整个前端的价值是降本增效,而小程序的核心也是降本增效。
所以在整个业务移动化或者说目前大的数字化转型的一个的浪潮里面,也是需要让大量那个小程序的。
而且目前开发一个小程序和开发一一个网站相比的话,其实小程序的成本是有机会做到更低的。
然后就是刚才也提到,就整体业界的这个数字化浪潮的趋势之下,就是为什么要出现小程序,为什么要搞低代码,甚至那个无代码?其实很大程度上其实就是因为那个数数字化趋势是非常之明显的。
就是在中国有大量中小企业,其实都需要把业务的数字化要线上化。
然后这过程中同时又很缺失。
程序员,中国整体程序员可能都那不足一千万,但真的要做数字化的话,如果只只用写代码的方式是去实现这些那个数字化转型的话,很有可能可能是需要四五千万的那个程序员的。
然后从目前不到一千万到四五千万,其实中间是有几千万程序员的这个差距。
然后这些差距如何去弥补?其实那这一块我觉得是小程序也好,低代码也好,和那个无那无代码也好,其实都是这些技术趋势背后的一个那个主要因素。
然后小程序的核心优势就是便捷,就是便捷。
而且做完之后可以在微信和支付宝上那个快捷打开,就是整体小程序。
我我我个人感觉小程序的数量只会越来越多,还还会有那个疯狂增长的。
嗯,那现在大家在去做APP,是不是已经不是一个很好的选择了,因为用户不太喜欢去装更多的APP了。
嗯,这个我觉得也是最近几年还是比较明显的趋势。
就是一方面APP的数量其实可能会逐步收敛。
但同时如果看不同那个行业的话,还是能看到有不少行业其实还是有做APP的一些需求。
比如说那那个金融行业,就其实在那个蚂蚁有一个产品卖的挺好的,叫那那个m pass.整个m pass的话是一个移动应用的开发平台。
其实基于m pass是可以快速开发一个那个独立应用的。
其实我我最开始招这个东西,卖卖的很好的时候,也是有点惊讶。
但是后来仔细一想你觉得这是非常的自然的。
因为目前很多金融机构呀,还有银行,它是有很强的那个自己做独立APP的一些需求。
因为这涉及用户心智的一个选择。
因为做那个独立APP那个独立应用,其实可以给用户一种那个正规平台的一种感觉,像包括那个安全感的一些感觉,可能会在在当下去,那独立应用会比小程序会更有那个安全感。
就是那个这是一个就是整个做独立应用,就是的一个个那个优势所在。
然后除了金融行业之外,其实做个行行业业是对APP有有诉求的。
比如说一些那个工具型的应用,像像些些个工具性质的一些应用的话,如果真的要把工具的体验做的很好。
其实在这种情况下,采用小程序是有时候还是挺难的。
但是做独立应用采用那个native开发,是有机会去把工具体验去那做到极致的。
然后刚才其实说到小程序,核心可以降本增项。
然后目前在中国的话,我觉得小程序还有一个特点,就是它还适合做那个用户增长。
比如说在微信,其实微信小程序很大程度上是因为微信是一一个海量的用户池,所以现在非常流行各种那个私域运营。
像微信的公众号呀、直播呀、视频号呀、朋友圈呀,就很多微信的这些产品矩阵,其实都可以用来做那个思域矩营。
其实很多可能做微信小程序的都会去微信去那个录用户吧。
因为因为把用户圈过来之后,他们最终还是会往自己的平台去引流的。
其实在这种情况下,其实小程序是一个那个业务的,或者是用户的一个呢增长的一个工具。
然后独立应用的话,我我觉得依旧也还会长期存在。
至少在五到十间之内,我觉得那个独立应用的需求还是会有大不少的。
嗯,了解了。
嗯,当时咱们聊到这个阿里奥运无线的时候,嗯,有人选择转IOS,然后有人选择去做创新产品,也有人留下。
现在你可以说说就是谁的选择会更好吗?嗯,当时这三个选择很想说,嗯,那没有谁更好,可能都一样吧。
对,但这样这样说显得比较正确。
尤其是但同时我觉得可能真的现在回头来看这三个选择的话,我觉得我自己觉得可能比较好的选择还是选择了坚持做前端的同学,以及选择了转行去做产品的同学。
然后当时转行去做那个IOS的同学的话,我觉得从整体端的同学后续还是有中间有部分同学有遇到一些瓶颈的。
因为也也接触过不少客户端同学,其实会发现客户端在当下对于职业的迷茫和困惑,其实会比前端其他多不少的。
然后前些年的话,其实在蚂蚁也有一批那个客户端同学,其实是那个转到那个前端岗,就是包括淘宝那边,我知道的情况也是也是相类似的。
其实这个本质上是个需求问题,因为目前就是前端的需求量,目前是远大于那个客户端的。
并且这个局面本身也是前端跟客户端这两个技术栈他们不一样,所那带来的。
因为前端技术站跟客户端技术栈相比的话,最大的特点其实就是用前端是非常快,也很灵活的。
然后客户端的话,它的特点是写东西很稳定,但是它比较慢。
然后它整个客户端的一个变更也是比较慢,就是前端分分钟就能够给你做一个页面出来。
但是客户端的话,他那个再快,可能也是那周级别的。
但是前端可以做到完整整链路,有时候前端都可以做到那个小时级别的。
然后整个互联网对那个速度的要求的话,以及对可控那个灵活性的要求,使得前端技术站其实在就是那个sars人机交互层面的实现,会比客户端就是更受欢迎。
其实到现在为止,这个趋势还在演进。
然后客户端的话我觉得更多是在下沉在做容器,做网络等那个基础技术。
其实这也挺好的,前端的快其实是研发效能非常之快。
然后客户端的核心优势其实是性能快。
目前对性能真正有要求的产品中会采用那个客户端技术。
像支付宝的首页啊,还有像支付宝上有扫一扫收款码。
像出行卡包里面,其实这些核心模块其实叫四大金刚。
其实这四大金刚核心是采用客户端技术的,但同时里面也有一些那个动态化的需求,我们会混杂那个前端技术站去实现。
就是整个就是研发追求快速灵活,就这是一个很大的技术趋势。
前端的这个快速和灵活的话,其实印证了很久以前前端圈里面就非常有名的一句话,就叫做就但凡能够用javascrippt去编写的应用,其迟早都会用用那个javascript去那个编写实现。
就从我入行以来到现在的话,感觉这句话还在发挥作用。
嗯,现在客户端工程师面临的困境也比较明显,那你觉得就这一批人,后续应该往哪个方向去发展呢?嗯,客户端同学目前我看到的一个现状是有三个不同的发展方向,就是有一波其实是可以就是客户端直接转向那个前端同学了。
开始因为我觉得其实无论客户端还是前端,都都是写代码的,就让自己多一门技能,然后用前端学会前端的代码去做业务。
其实这也是很不错的选择。
其实这个就跟当当阿阿里无线ON的时候,部分分端端转IOS一样,只是在是那个IOS去转那个前端。
那还有第二个选择,就是还有一波人的话,我觉得是是去做一些那高性能的对性能要求很高的一些业务。
像刚才提到像支付宝的四大金刚,像扫扫一扫就扫一扫,是典型的用客户端的技术站去做会更好的。
因为用前端去做的话,所性能和体验上,我觉得是很难做到那个客户端的那个天花板的。
所所以在这种情况下,我觉得是客户端很好的一个选择。
就是选择一些对性能要求很高的一些模块,甚至这些那个工具型产品去做,就是这是那个第二个选择。
第三个选择的话就是我觉得是客户端,还可以往整个终端的那个基础技术这个方向去发展。
比如说下层去做小程序的容器,然后去做下面的网络去做那端智能去做很多新的一些方向。
其实这些基础技术是有很多发展空间的,就需要大量那个高精尖的人才呢不断断那个做深做厚的。
然后从技术深度上来看的话,我我自己觉得其实从那个狭义的角度来讲,客户端的技术深度其实比前端是要深很多的。
我们目前也在鼓励前端工程师,如果他还处于那个爱学爱学习的阶段。
其实我是非常鼓励前端同学是要也是从技术学学那客户端的技术。
因为一旦去学会的话,就整体他可以看终端,整个视角他会更宏观,就是会更整体的去看整个呢技术的一些一些发展。
嗯,曾经你也说过,就是前前端的这个天花板第一,然后现在你对所谓的这个天花板问题会怎么看呢?无论是新人选工作方向,还是说换工作方向,都会考虑三年、五年十年的一个发展前景。
很多从技术转到业务的应该也会这么去考虑。
嗯,确实前端天花板的问题经常被提及。
对,但同时我会觉得谈到前端或者是各种岗位的这种天花板的问题,很多时候可能是一种认知的偏差。
因为很多时候人是在变的,就是人有有时候是前端,有时候可能他是又变成了产品,可能变成了就是其他角色。
其实很多时候讨论天花板的问题,真正的问题其实在讨论人的发展,而不是讨论某个职业的发展。
因为职业的发展最终是回到人的那个发展上。
就除非你假设一个人一辈子从事某一个职业,然后去讨论这种情况,那这种情况其实是很很少见的。
所以更多层面上我会觉得还是要回到回到回到那人上去讨论天花板的问题。
然后前面谈到说前端工程师或者前端这个职业天花板比后端低,真正聊的是三到五年,甚至十年。
某个职业的发展速度,其实很多时候回个职业的天花板高或者低。
其实背后的一个核心要素其实就是需求。
其实场场上供大于求就是供大于求的时候,其实就是发展就会比较慢。
是是果果,那是应求求就会发展比较慢。
其实实是非常简单的一个市场法则。
如果什么时候企业说我不缺前端了,那这个时候其实我觉得就可以让不做前端了。
但是实际实际经验那告诉我,从零八年一直到现在,我自己经历过的很多岗位,包括知道很多公司其实都是一直那个缺前端的,就是还没有听说哪哪个团队说前端是那个富裕的。
就之前我我甚至通过一些数据会判断一些公司哪块业务做的比较好。
比如说某块业务说他非常缺前端的时候,往往是某块业务在高速发展时期。
对,但是如果某块业务说他前端都不需要了,然后希望然后这块业务的前端就是把简历推给我的时候,然后经常可能这个公司的这个业务板块很有可能是已经遇到了一些问题,或获得也也存在出可能性,是刚刚起步。
嗯,了解了。
好的,感谢玉博的回答。
小程序和客户端技术对于整个终端来说,最大的价值点是拓展技术的可能性。
小程序、降本增效的价值,开放平台的价值以及和航母级应用的连接关系,使得投身做小程序的人越来越多,这也是需求使然。
客户端技术下沉对客户端工程师提出更高的要求,但目前APP还是强需求,就像玉博建议前端同学也要学习。
客户端知识一样,时刻把握技术风向,具备学习能力的人才是能走得更远的人。
另外呢,关于国内外小程序发展的话题,在即刻时间曾经有一篇文章也做过精彩的论述。
我放在了文章里,你可以和本文结合,加深你的理解。
最后你所感受到的客户端的趋势,前端趋势是什么样的呢?欢迎在评论区发表看法,我们下一讲,再见。