想要做好前端其实并不容易。除了要面对复杂分散的知识,还要紧跟技术发展趋势,吸收更多的衍生框架。本章仅从从事UU差事行业多年的Web前端开发者的角度解读前端未来的发展趋势。移动端能力放大以前端技术为核心的开发方式在移动端越来越主流。小程序生态的兴起无线端一直是前端快速发展的主战场。从近几年的发展趋势来看,主要有以下几个方面:App开发,以ReactNative为主要的Hibird模型,以Cordova为代表的小程序,依托微信、支付宝等生态,其实开发上述方向中越来越多的被前端技术占据。在他们的影响下,原生移动开发会越来越少。这是因为:开发和推广一个原生APP的成本越来越高,难度也越来越大。原生App整体数量呈下降趋势,未来可能会更加明显。这也是很多公司的前端团队规模迅速壮大的原因。从2020年中国互联网发展状况统计报告可知,国内APP数量在2018年达到顶峰,随后呈现下降趋势,明显受到小程序生态的影响。目前,腾讯、阿里、滴滴、美团、支付宝、字节跳动等公司已经完成了小程序架构的搭建。这意味着在未来的几年里,会有更多的应用以这种形式发展。而企业要想提升核心竞争力,必然会重视前端技术的发展。因此,原生开发者面临着非常严峻的形势。虽然它不可能消亡,但原创会越来越向H5这个平台或载体发展,这是一个存在的趋势。跨终端能力的增强随着前端构建技术的飞速发展,优秀的构建框架如雨后春笋般涌现,Web应用的跨终端性能也越来越强。一套代码多终端带来的人的效率提升尤为明显。越来越多的企业转向低成本、高效率的跨终端领域,以寻求更快的业务发展。然而,小程序只是前端跨端技术的冰山一角。著名的跨端技术是Taro,它是基于静态编译的方案。随着鸿蒙OS的推出,跨端将成为未来企业争夺资源的新战场。而鸿蒙OS也率先支持了前端主要开发语言JavaScript。随着跨终端技术的成熟,多应用通信可能成为中大型应用的桎梏。微前端的话题在最近几年逐渐升温,一种将前端分解成小而简单的块的模型。这些块可以独立开发、测试和部署,同时仍然作为产品聚集在客户面前。我们称这种技术为微前端。简而言之,微前端就是将庞大的事物分解成更小、更易于管理的部分,然后阐明它们之间的依赖关系。我们的技术选择、代码库、团队和发布流程都应该能够在没有太多协调的情况下彼此独立地运行和开发。总之,未来的跨端技术正在并将长期处于多种方案并存、不断变化的状态,注定需要更多的前端开发者参与其中。以NW.js为代表的前端技术的出现,以及Electron对PC桌面的入侵,意味着前端技术现在也开始出现在桌面上。虽然它可能不会成为桌面开发的主流,但这意味着一个非常划算的替代方案的出现,将会出现越来越多的使用该方案的桌面应用程序。早在2016年,我就带领团队使用Electron开发了一款前端协作工具——Bomb,它支持几乎所有的操作系??统。借助Node生态,大家的组件、脚手架、插件等都可以得到很好的管理。大大提高了团队的工作效率和协作能力。它开发的东西是跨平台的,也就是说可以开发一次,支持Window、Linux和Mac系统,可以降低桌面端对开发者的要求。比起找原生的Win或Mac程序员,前端人员显然更好找。但这并不影响前端PC技术的发展。基于这项技术的应用越来越多,但大多数人并没有察觉到。阿里云盘、飞书、vscode(专业级)、Slack等都是基于前端PC技术Electron开发的。前端向全栈的输出在过去几年很受全栈工程师的欢迎,增长最快的web前端也转向了全栈,因为前端的基础语言前端是JavaScript,后端Node的基础也是JS语言。前端研发人员造就了得天独厚的优势。但是Node永远不会取代后端的主流语言,至少现在不会。前端程序员是最接近全栈程序员的人。想象一下,抛开团队不谈,哪一端的程序员最有可能独立创造出一个完整的产品?他们可以用NodeJS写后端服务,然后写H5网页或者用小程序,ReactNative写一个移动端。应用程序。这会产生什么样的结果?具有这两个优势的全栈将形成其他技术无法描述的两个重要趋势:1、前端全栈技术的产品具有更直接的使用价值,而不是单纯的技术支持。事实上,这不是一种趋势。这已成为今天的事实。许多程序员,包括后端程序员使用的一些知名产品,都是基于前端全栈技术的杰作。但是大家可能没有意识到:比如:最著名的博客系统hexo,就是前端技术GitBook,可以让你快速写出一本电子书docusaurus,来自Facebook的开源产品,可以让程序员快速生成自己的产品网站。Gatsby是一个基于React构建静态站点的开源框架。......未来可以预见,在前端技术的支持下,类似优秀的东西只会越来越多,也就是前端会产生越来越多有价值的产品直接用,和后端不一样,更多的是一些支持框架。2、前端全栈技术将是最有可能出现个人英雄的方向。上面我说了,如果不依赖团队,当一个程序员有一个idea的时候,他想独立的去实现这个idea,做一个产品。谁最有可能独立完成这项工作?我在面试产品经理的时候,经常分享一个观点。现在要成为一名优秀的PM是非常棘手的。因为现在产品同质化严重,简单的东西可以被产品小白复制。一个有多年产研经验的程序员,产品逻辑思维不比任何一个PM差。更何况现在的UI框架百花齐放,看来UI框架不是一流的研发团队。有了产品思维,UI框架,加上自己的全栈技术,他们几乎可以在各个方向用自己的技术来打造产品。无论是后端服务、网页,还是手机APP,它们几乎都可以靠自己的技术来实现,而不是去组队。未来很多年会有很大的进步空间。很多人会因为这个争议说一个人永远做不了三个人的工作?不能一个人维护吗?不能一个人做吗?这个时候,我们判断一个人的标准就发生了变化。为什么1个人要和3个人比较?我们比较的是,当我们分管业务和难点问题时,同一人的同一研发岗位,前端全栈会有更大的价值空间、更多的选择和更好的解决方案。更多的就业方向随着前端技术的发展,其就业方向也越来越广泛。我估计未来几年,前端会划出一个分水岭。前端岗位的划分会越来越细化,垂直领域会越来越深。中后台/云服务体系现在我们已经全面进入云服务时代。不像过去,云厂商提供各种云基础设施,然后我们就进入了Serveless时代,也就是没有服务。没有服务不是说没有服务,而是云服务商提供的服务,你只需要专注于业务。与Serveless相伴的是FaaS,功能即服务。无论是Serveless还是FaaS,NodeJS、JS等前端技术都是最适合的技术。尤其是NodeJS的冷启动时间以毫秒为单位,远优于JVM以秒为单位的冷启动时间。对于Serveless,按需启停这一点对冷启动时间的要求非常高。在这一点上,虽然有一些论点认为JVM也适用于Serveless技术,但在启动时间上NodeJS无疑更胜一筹。Web3D/AR/VR等前端图形技术前端技术厂商的发展一直在带动着整个交互体验的步伐,用户对前端交互技术的关注度也越来越高。AR、VR、WebGL等领域开始进入狂热期,这也是Metaverse的基础(虽然我并不看好)。小游戏在市场上一直像过山车,但无疑是成本最低收入最高的行业。其中,支付宝团队更擅长应用场景落地。五福流畅的Web3D技术让人眼前一亮。其团队还开源了Web3D框架OasisEngine,进一步推动前端3D技术的发展。正好我们今年用OasisEngine框架做一个项目,第一次用模型完成了整个界面的交互。他还分享了一篇关于《如何从美术到前端导出高质量的glTF》的文章,有幸被他的团队收录在了官网。UU跑腿一直比较注重前端技术的发展。这几年,UU给了前端很多资源和空间。未来,前端团队也将涉足更多领域,为用户带来更好的交互体验。也欢迎更多大牛加入我们的团队male@uupaotui.com未来无限想象...我的全栈之路加入UU的5年里,我在组建团队,做基础设施(UU前端开发史),凭借早早掌握的PHP基础和对新技术的热爱,让我逐渐从前端变成了全栈程序员。随着自己全栈项目的研发积累,在技术上再次转变,走上了基于Node.js的全栈深度之路。相继上线的内部工单系统、内网平台、面试系统、招聘系统、营销系统、协作工具等,帮助UU最大限度地提高人力效率,加速业务扩张。直至成立独立部门——“效率创新中心”,效率创新中心致力于提供通过全栈技术降低沟通成本、提升协作效率的工具和解决方案,助力组织业务发展和目标达成。多年的全栈研发让我总结出几点:新技术总是在不断创新,但本质并没有太大变化,只是用它来解决问题的形式越来越多样化和多元化.不要局限于一种编码语言,不要将自己定位在一个方向或位置,专精永远不会耽误你的多才多艺。学习能力自古就是衡量程序员的一个指标。始终保持一个问题:技术到底是什么?在你生命的每个阶段,共同的答案是不同的,但却是相同的。
