前端发展到如今,在众多领域发光发热,比如Node.js、浏览器、客户端、小程序、小游戏、IOT等,宽度之广前所未见,不管在哪个领域,或多或少的体现了大家对研发效率的追求。谈到研发效率,谁都不能忽略Serverless的影响力,在未来这可能突破性的提升研发效率,就像CDN一样,成为前端的基础设施。
2019年已经走过一大半, 每次站在年末的时间点去展望前端未来的发展,你会发现,每年的关键词都不一样,这就是前端的变化速度。
回望:
回望这一年,几个大的方向发展非常明显,在基础语言和框架方面,随着很多前端团队的不断壮大和业务复杂度的提升,规模化编程越来越依赖类型系统和面向对象的支持,Typescript被越来越多的开发者所采纳,落地难度不大,效率提升明显,另外,前端三大框架已经趋于成熟,平稳并标准化,对Typescript的支持也越来越完善,Typescript+三大框架已经成为很多前端团队技术栈的标配;
在小程序方面,今年仍然是小程序突飞猛进的一年,各大主流的App都上线了小程序能力的支持,各前端团队也都有了专门的小程序开发团队,以适应更快的小程序开发需求,同时App里很多关键的功能都被小程序所替代,甚至有些App已经变成Native小程序壳,上层的应用实现全部是小程序,这里的好处也显而易见;
跨端开发方面,RN生态已经非常成熟,或者说看不到太多发展前景,很多团队转战Google生态的Flutter,特别是Flutter for Web的第一个Release,又让Web前端重燃希望,跃跃欲试,Apple也发布了自己生态里全新的UI系统——SwiftUI,SwiftUI对于苦于Apple UI系统的开发者来说,绝对是一个非常大的革新,就等着iOS13的普及速度了,同时,开源社区里SwiftUI for Web已经在路上了,SwiftUI for Android还会远吗?
前端工程化方面,开发者最重要的基本素养就是通过工具提升效率,而前端开发者在这方面更胜一筹,今年很多团队都在建设完整的前端DevOps流程工具集,一些团队之间也开始协作共建,不管是Web还是小程序项目,从新建项目、开发、联调、部署、测试、发布、运维到监控统计,都有完善的工具去保证和提效,今后前端工程也会越走越标准化。
展望:
每一次前端研发模式的革新或者突破,都因一些变革性技术而起,展望未来一两年,可以感知到的技术变革就有云计算和5G,那就从这两个方面来聊聊前端可能的突破方向。
关于云计算,已经不是一个新鲜的技术,对于很多成长型公司,可能一出生就在云上,但对于大公司而言,真正把业务全部搬到云上,也就是去年到今年的事情,而使用原生云不是迁移服务器那么简单,提到原生云的应用,不得不提到今年“炙手可热”的Serverless,今年任何一场互联网技术大会都不会缺席的话题。为什么是Serverless?可能大部分原因还是因为前端,因为Serverless比较完美的支持Node.js,使用 Serverless帮助前端开发者解决了使用Node.js过程中的诸多问题,前端开发不再需要过多关注服务端的运维,运维成本大幅降低,它安全、弹性伸缩、按次收费便宜,前端开发者只需要专注于业务的开发,专注于业务逻辑的实现,需要关心的事情变少,能做的事情更多。Serverless也必将对前端的研发模式产生变革,我相信随着Node.js成为前端开发者必备技能之后,云计算不断普及让Serverless触手可及,一些前端能搞定的后台任务,站在研发效率的角度,都应决策让前端开发者全栈搞定,当尝到效率甜头之后,相信这里的变革会越来越大,至于变革有多大,就取决于前端开发者的决心了。
关于5G,每天的新闻都铺天盖地,5G进入我们的日常生活也指日可待,而5G到底会给Web前端开发带来哪些变革?首先,5G带宽的大幅提升带来传统Web页面复杂度的进一步提升,如同2G到4G变革过程中页面从WAP的纯文本超链接时代变革到4G全图片视频时代,5G对于页面的变革必将是巨大的,但肯定不会一蹴而就,因为相应的配套设施也需要逐步完善,如硬件性能和浏览器的处理速度,而服务端渲染(SSR)肯定是其中一个捷径,轻前端重后台,5G是桥梁,把渲染放后台,就已经不是同构那么简单,需要关注和优化渲染性能,WebAssembly或许会在这个机遇下得到快速发展,因为它可以无缝对接后台多种语言,而后台渲染的优化也会带来前端页面研发模式和技术架构的变革;其次,5G带来的万物互联,又将带来有别于智能手机和普通PC的多样化新的应用场景,VR、可穿戴设备、车载系统、智能投影、智能交互等等又会把Web带入各种各样的垂直领域,例如光VR这一项领域就有非常多需要去探索和完善的地方,这也意味着前端将有更多广阔的空间。
其他方面,流量即商业,只要小程序的流量还在,小程序仍然是明年的焦点和重点投入对象,当前大家吐槽的性能问题,预计也会得到解决,比如借助Flutter的思路去优化小程序,相信已经在路上了,同时,小程序的同构也值得期待,它真实的解决了一部分开发者的痛点,另外,小程序的工程化也会有更多工具支撑;跨端开发方面,Flutter仍会快速发展,并且会有更多的开发者,Flutter on JS、SwiftUI for Web&Android也将是开源生态值得期待的事情,毕竟跨端仍没有一个完美的解决方案。
前端没有边界,每个团队关注的技术焦点不尽相同,前端的未来也无法通过这短短一篇文章讲的清楚,前端开发者也无时不刻的拓展着前端的边界,探索着更多的领域,希望能够产生更大的价值,这也正是前端的魅力。
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。