前言又是岁末年。简单说说今年前端的发展以及21年可能出现的一些趋势。毋庸置疑,2020年确实是不平凡的一年。对于前端,我个人认为可以用“大前端持续深耕,大前端兼容包容”这十四个字来形容。这里需要澄清一下我对“大前端”和“泛前端”这两个概念的理解:第一,大前端可以分为广义的“大前端”和狭义的“大前端”。分为这两类,广义上的所谓“大前端”,是指用前端技术解决所有属于其他领域的问题的前端技术。技术能解决什么,就定义为“大前端”;狭义的“大前端”仅指垂直于后端领域的前端技术,代表node.js对解决后端领域的延伸。技术,比如express、koa、egg、nest等支持后端技术框架的出现,甚至是node的微服务框架,这里就不做解释了,只提“大”的概念狭义的“前端”。“泛前端”的概念没有歧义。通常指的是跨端技术,比如客户端、桌面,甚至是HUB。/ts社区非常活跃。我就“大前端”和“泛前端”简单分享一下个人的一些看法。以Vue、React、Angular三大前端框架为核心,进行横向和纵向框架的泛泛讨论前端技术框架探讨VueReactAngularweb-sideVue全家bucketReact全家bucketAngular全家bucketElectron/NwElectron/NwElectron/Nw/Cordova/IonicNative移动端WeexReactNativeCordova/Ionic小程序端uniapp/mpvue/mapxtaro/Rax无大前端技术框架讨论VueReactAngularweb端Vue全家桶React全家桶Angular全家桶SSRNuxtNextUniversalserver-sidenospecificnospecific可以配合NestAlifront今年的端培训生计划将前端领域分为七个方向,分别是工程方向、前端中后台方向、Node.js方向。js方向、跨端技术方向、交互技术方向、可视化技术方向、前端智能化方向,我个人认为Node.,我个人认为前端方向可以分为以下几种。下面我就这几个不同的方向维度做一些个人的阐述和拙见:中后台方向:微前端可视化方向:antv智能方向:imgcook交互方向:eva音视频方向:wasm工程方向:serverless,full-link工程跨端方向:kbone、rax中后台方向对于中后台方向,这是传统的web方向。对于前端来说,2020年微前端的落地应用有很多实践。所以个人认为微前端会是未来大规模前端应用的一个趋势。对于不同团队的不同技术栈的聚合和集成是一个更好的解决方案。前端的ts等特性也可以达到小型化的效果,从而优化工作时间,提高效率,避免重复工作;既然第一点提到了ts,这里我想说一下ts的问题。2019年,我对ts的态度还是观望,但是今年,我觉得ts可以作为一个必备的技能来考察和练习,不是因为大家都在用,而是因为随着时间的发展,前端要扛的越来越重,工程也越来越大。ts可以很好约定,也可以很好限制,方便后期维护修改。对于大团队、大项目,ts是最好的选择;另外,如果真的有团队想做服务端的话,真的很推荐大家使用ts。如果你用过nest。使用了各种特性,例如泛型、抽象类等。当然,如果你是一个小团队,需要快速开发,对于小而美的应用,我个人觉得js比较适合。毕竟js是一门灵活的语言。哈哈哈,可视化的方向在这里可视化。其实今年实践的不多,但我个人认为,就这七个大方向而言,最容易出成果,或者说最能出大牌的,可能真的就是可视化领域了。如果能在可视化领域做到前5%,那相信各大厂商肯定会砸钱的。留着你,毕竟我有你未必重要,但对手没有你,你的技术壁垒呈现,你在这个内向中获得了一定的领先优势和优势,这对我来说很重要arena,至少裁员的优先级不会那么高,哈哈哈第一点有点扯远了,说实话个人觉得阿里的antv在可视化领域可以作为标杆,可以发展对于各种具体的领域,比如gis等,当然,其实在可视化领域深入研究是相当冷门的。实际上会有一些机会,确实有可能使一些东西变得智能。在智能领域,我个人认为核心不在前端,而在人工智能,而且人工智能领域不仅仅是前端。TensorFlow.js等封装好的东西,我们直接拿来用,其实领先模型的建立才是关键。如果有同学想往智能方面发展,我个人的建议是深挖,最好研究一下。毕竟这个东西确实需要学术研究+产业实践。在工业实践的前端领域,阿里还是比较领先的,比如imgcook,其核心目的是将图片转化为前端代码,利用机器视觉识别图片中的不同位置信息等,将其转化为前端代码,也就是所谓的D2C,即:DesigntoCode。今年的D2大会也提出了P2C,即:ProducttoCode,但并没有真正将人类语言直接转化为代码,而是D2C的业务延伸。对于一些D2C的业务代码,通过一些特定的schema进行约定,使得在机器学习过程中有更多的参数约束,从而提高代码实现的程度。虽然转换后的代码还是很冗余,但是对于一些初级项目或者页面来说,确实可以交给机器来实现。我个人认为人工智能确实会取代低端的重复性工作,也算是前端一定程度的内卷。投稿、动手……交互方向,交互方向目前是游戏的方向,但我还是觉得页游或者前端游戏主要是一些开胃功能,不能真正把用户带入沉浸经验,对于小游戏引擎,阿里今年好像出了个eva引擎。有兴趣的同学可以看看。新的体验,AR/VR/MR可能在明年5g深入的时候会有一些实际的做法,但是可能还是不温不火,交互方向和设计的新概念可能是一个新的突破点音视频方向这里我想说说关于WebAssembly,虽然说wasm会取代js,但是目前应该不太现实,wasm目前主要配合音视频领域,还有一些额外的优化措施,比如用rust进行优化。如果你有志于在音视频领域有所建树,wasm确实可以保留。Webrtc是音视频领域的必备神器。js,flv.js等。还需要了解一些视频播放协议,比如rtmp/rtsp等。今年疫情的关系,带动了直播领域的火爆。方向可能是趋势。工学方向。工程化方向不得不提serverless。这是今年前端最热门的话题。我个人认为serverless不仅仅是前端领域的变革。它可能会改变当前的开发模式。以后不分前端和后端(ps:目前确实有融合的趋势),只有云端工程师和端端工程师,所以对于现在的前端,我们不能只关注前端领域的一些内容,docker,k8s属于传统后端或者运维的部分我们也需要掌握。我们还需要熟悉一些后端的思想和术语,比如限流、削峰、降级等。当然,serverless的前提其实是云原生。如果没有云化,serverless实现的效果应该不会像现在这么好。网络融合、云边协同应该是前端工程的主流。另一个方向是全链路工程。从提供脚手架、低代码、插件市场等全链路,简化前端开发门槛。这里可以参考淘系。飞冰参与提供低代码和ide插件,以及提供ui组件库等,形成了全链路的前端生态。这里可以说lowcode和nocode,nocode是现成的工具,不需要任何编码,也就是完全没有编程的入口;lowcode是一个需要部分编码的工具,供一些非专业人士使用,但有编程需要的人使用,强调它是开发给其他人使用的。常见的是operators的h5编辑器,比如易奇修,maka,ih5等,runanywhere,常见的是用各种框架来回转换各个DSL,但其实这是一个伪命题,本质就是无法做到统一,抽象很难形象化。为了平衡,我们需要分析具体的和常见的。我个人认为小程序领域是终端方向下一个大佬追逐的市场,因为app领域的跑马圈地已经基本成型,现在想开发一款现象级的app几乎是不可能的。很难,但是以app为操作系统,以小程序带动用户,形成用户闭环,还是有巨大市场的。小程序应用,比如pwa、快应用,都是这种承载方式的不同体现,对于跨端来说,这是一种开发选择。小程序的框架也有kbone、rax等,可能还有w3c这样的小程序标准,但是像微信这样的巨型应用是否真的会遵守就是另外一回事了,其实也是一种选择。回顾2020,展望2021,总结如下:大前端持续深耕,泛前端兼容并包中后端微服务,可视化行业细化智能端算法,互动娱乐端改变音视频结构。工程端全面改造,跨终端端专门修改。前端更加复杂。2021年就在这里。希望每个人在这个内卷化时代都有自己的技能,形成自己的核心竞争力,升职加薪。共创辉煌,共勉!!!
