昨天公司内部架构师峰会的讨论了前端发展趋势,听完对迷茫的我有了一丝被点醒的感觉,现在整理分享给你,希望对你有所收获。
前端在生产和开发中占据着越来越重要的地位,PC 端、手机端、桌面端、智能手表端等等设备都离不开前端的身影。而想要踏入以及已经踏入前端的小伙伴也越来越多,下面我将围绕 编程语言 、 前端工程化 、 开发框架 、 小程序 +AR+AI、大数据可视化 、 移动 /web AI 架构,这六个方面进行分享。
正文
编程语言篇:
目前的设备平台包括安卓、IOS、PC、其他移动设备,相应的后台编程语言也有 Kotlin、Swift、Java、PHP、Go 等,而前端的主攻领域高度重合,这也就意味着不论哪个平台、与哪个后台语言结合,前端三剑客 html、CSS、JavaScript 总能从里面分到一杯羹,因为它就是为了界面和交互而生的。当前前端社区高度活跃,ECMAScript 也在快速的发展,在编程语言类的统计中,JavaScript 总能轻松排到前三,这就是这个编程语言的魅力所在!
前端工程化篇:
工程化的一个体现就是模块化。之前进行项目开发都是想到哪里就写到哪里,这在单人开发的时候问题不是很明显,但在多人协作中这是致命的,变量名冲突将导致系统运行出错,为了解决这一问题,人们只能起越来越长的变量名,但同时因为没有规范,这些变量名在团队其他人看起来并不容易理解。后来人们开始用闭包来解决,再到后来的探索 AMD、CMD 等方式也被人们逐渐运用,直到 ES6 的模块化语法推行才改变了这一方案,现在 ES6 的模块化语法也是当前主流最常见的模块化解决方案。
开发框架篇:
在不使用框架之前,我们所开发的代码基本都是 MVC 架构或者 MVP 架构的,这样的一个缺点就是性能问题,当用户修改 dom 元素的时候,页面就要进行相应的回流和重绘,这必将会造成一定的用户等待时间。而框架的产生就解决了这一问题,我们所了解的三大框架都是 MVVM 架构的,利用数据驱动视图,再将虚拟 DOM 渲染到页面上,这样就能很好的解决前端性能问题;同时框架是有高复用性的,我们可以写一些公共组件,在需要的地方调用它,这样代码可读性和可维护性都会变得更好。
小程序 +AR+AI 篇:
随着各家推出相应的小程序的时候,AR 增强现实技术和 AI 人工智能技术也在逐渐发展,以微信小程序为例,它依托于微信的生态,微信小程序可以直接使用微信官方提供的 AR 和 AI 的解决方案。在微信宣布这一技术后,阿玛尼美妆官方精品商城推出了业内首个使用 AR+AI 增强现实的微信小程序,用户可以直接通过手机完成试色。随着 AR 和 AI 技术的逐步发展,一定会有越来越多的落地应用来方便用户的。
大数据可视化篇:
现在是“数据为王、流量至上”的时代,流量自然不必多说,有了足够的流量,变现是很简单的。而数据在当今时代也是非常重要的,就像我们经常使用的淘宝,他总是能给我们分发所需要或者未来所需要的产品的广告,淘宝就能够根据用户的使用记录去分析到用户接下来的需求,相信很多程序员的淘宝里总有一些莫名其妙的生发植发广告吧?这就是大数据的力量。但是千万条数据罗列起来肯定是晦涩难懂的,数据可视化就是为了解决这一问题,他能够把千万条的数据利用各种图形帮你更好的展现来让你分析。数据可视化当前两个成熟框架分别是 ECharts 和 D3,当我们能够利用好这两项技术的时候,我们就能站在数据的顶端!
移动 /web AI 架构篇:
随着人工智能的不断发展,前端人工智能也是必不可少的,而浏览器端所依赖的技术为 WebAssembly 和 WebGL,落实到应用层面,我们可以使用 OpenCV.js 和 ONNX.js 这两个框架去操作浏览器,来增强浏览器的智能性。但是单纯去操作浏览器是很慢的,这里面涉及到了 CPU、GPU、AI 加速器的运算问题,随着问题的暴露,为硬件而生的 WebNN API 应运而生,它能够帮助我们的浏览器能够更快的去处理和运算数据。前端 AI 架构将会是未来前端发展不可分割的一部分,我们一定要跟上时代的浪潮。
结论
以上就是我对峰会的一个记录与分享,希望使你能够对大前端的发展趋势能有一定的了解,可以给到你接下来学习的前进方向。这是大前端蓬勃发展的时代,前端能做的事情越来越多,前端工程师的职责也越来越丰富。前端社区高度活跃、前端技术高速发展,我们应当跟着时代的发展努力增强自己的前端竞争力。一定要坚持不断学习、持续学习的思想,这样才能不被大前端时代所抛弃!
以上就是本文章的全部内容了,如果有不正确的地方欢迎指正。
写在后面
感谢您的阅读,如果感觉有用不妨点赞 / 转发。
由于我才疏学浅,所以文章未免会有出错的地方,若你发现,希望你不吝指教,我定当修改~
前端路漫,踩坑不断。
以上 2019-10-11。