这个标题,我自己感觉有点爹味~
但属于开放式探讨,各位前端有任何想法,欢迎留言,请不吝赐教!🤘🤘🤘🤘🤘
起因是最近在阮老师发的网络日志中,看到一篇文章,文章的题目就是《The future of web development is AI. Get on or get left behind.》,有条件的可以戳进去看原文。
标题一看很唬人,而且像我这么愿意学习先进的科学理论知识和丰富的生产经验容易焦虑的人,一定会点进去看看。
全文如下:
Editor’s Note: previous titles for this article have been added here for posterity.
The future of web development is blockchain. Get on or get left behind.
The future of web development is CSS-inJS. Get on or get left behind.
The future of web development is Progressive Web Apps. Get on or get left behind.
The future of web development is Silverlight. Get on or get left behind
The future of web development is XHTML. Get on or get left behind.
The future of web development is Flash. Get on or get left behind.
The future of web development is ActiveX. Get on or get left behind.
The future of web development is Java applets. Get on or get left behind.If you aren’t using this technology, then you are shooting yourself in the foot. There is no future where this technology is not dominant and relevant. If you are not using this, you will be unemployable. This technology solves every development problem we have had. I can teach you how with my $5000 course.
看完后,乐了。虽然是一个段子,但不得不承认,卖课的比我们前端佬本身,更关注前端的市场上的应用,虽然他们的目的😂😂😂~
于是乎,想在掘金这么浓厚的技术社区里,斗胆跟各位讨论下这个话题~主要角度是从技术来说。
简单回顾下WEB产品
我个人感觉是WEB技术的升级等同于WEB媒介的升级。说人话就是,从最初只能展示的文字到图片(2D、3D、矢量图)展示,再到如今富媒体(比如视频、音频、各种文档文件)展示,交互方式变的越来越花样百出。
在WEB产品上的体现就是,早期简单的黄页展示,到会布灵布灵闪的网页杀马特效果,再到划时代WEB应用谷歌地球。下面是我网络上找的图拼贴的,大家可以感受下:
以上是PC端的。那么移动端,从当初的功能机、到智能的塞班,再到安卓或iOS,变迁也很大:
web产品,经历很多的变化,对应技术,也经历很多的变化。
web技术
WEB产品对应的技术架构,就是我们熟悉的B/S架构,大致如下:
前端开发工程师这个职位,就是在表示层,语言为(HTML+CSS+Javascript)。
到了如今,前端开发工程师可以做什么呢?
小程序、网页就不说了。web应用很早之前就出现了谷歌地球那样的应用。近些年出现的WebAssembly、Web Worker,更是进一步提高了web应用可操作的资源。
有了node,安卓应用、iOS的应用、window应用等可以搞!AI/AR/VR,也支持搞!而且,Node是跨平台的。意味着Linux系统也是可以的。
总结来说,目前一个纯粹以技术角度来说,前端佬,是完全可以全栈的。
以下罗列的部分前端技术。
| 技术栈 | 产品名称/应用场景 |
|---|---|
| LayUI | 快速构建后台管理系统 |
| ECharts | 数据可视化平台(如商业报表、实时监控仪表盘) |
| Vite + React/Vue/Svelte | 企业级Web应用 |
| Next.js | 全栈应用(如电商网站、内容管理系统) |
| Tauri + Rust | 跨平台桌面应用 |
| Astro | 静态网站(如博客、文档站点、营销页面) |
| Three.js/WebGL | 3D交互应用(如虚拟展厅、游戏、AR/VR场景) |
| Neditor/UEditor | 富文本编辑器(如在线文档、CMS内容编辑) |
| Qwen Web Dev(AI生成) | 自动生成网页应用(如个人网站、表单页面) |
好,上面的对于一个前端佬说,就有点絮叨了。毕竟前端该干点啥,脱离不了
那么前端未来的前景,都可以干啥呢?以下几节是自己的看法,大佬随便拍砖~
利用客户端的资源减少服务器计算压力
这是前端固有的优势,调动客户端的资源。比如内存、CPU、GPU之类的。
对应前端的技术,比如硬件加速、本地缓存、WebAssembly,都是前端可利用的资源。
一些比较单一的计算,比如用canvas识别同类照片,或者有限数据下的计算和渲染(可视范围内的数据渲染),我个人觉的,目前技术下,是前端很大的优势。
但这种技术不是统一标准可言,需要根据业务自行评估。公式上就是:(客户端的消耗+数据保密需求)》服务端。
大型应用上,nodejs干不过其它服务端语言
按照个人的理解,nodejs对于一些轻量的服务或者中间件,对于Javascript语言熟悉者,是比较优势的(用词比较谨慎,可以直接说就是前端佬)。
如果公司有这类业务,又没有其他后端干扰的情况下,可以直接干。
这里轻量,我给出一个自己的一个经验,那就是极限在在4000+ RPS。这个是极端值,也是苦思冥想的优化结果。
如果是实时通讯、流媒体、WebSocket之类IO密集型的,又不超过上面值的,请放心用nodej。
这里要强烈强烈强雷重点提下!!! 上面数值是自己的经验,毕竟前端大佬这么多,如果有超过这个的。欢迎拍砖。
好了,说原因。
原因在于nodejs在多线程上,还是不够。Node.js 的优点就是非阻塞、事件驱动的单线程模型,然后会Javascript的人多。
重提一次,web中渲染的优势
假如说以构建web应用的技术来对比,可以说前端的三项Javascript+CSS+HTML无其他技术可代替。我个人觉得从技术角度+维护+项目工程化,无出其右。
生态摆在那,浏览器优化方向摆在那,CSS强大的容错摆在那里。
反正牛就对了。
所以在web中,做一些狂在酷炫吊炸天的交互或者数据渲染,当仁不让。
结尾
总之上面都是一家之言,各位大佬随便喷,随便指点。