这些年 web 前端的发展方向是不是偏了?

2024-03-19 10:35:07 +08:00
 echo0x000001

以下说一下我的感触。

  1. 服务端渲染 -> 客户端渲染 -> 服务端渲染

    • 以前( 8 年前?)的 web 页面基本上都是服务端渲染,然后陆续出现了 angular 、vue 、react 这些框架,使服务端渲染的开发模式转变为客户端渲染的开发模式,到如今又开始推崇服务端渲染的模式( react nextjs )。一个轮回下来,本质没有发生改变,变化的是前端工程化介入,但脱离这些框架,难道就没法使用前端工程化来提升传统服务端渲染前端开发效率了吗?答案是可以的。
  2. 框架与生态

    • angularjs react vue 三个框架包括新出的一些框架, 每个框架都有自己的生态,一旦换一个框架,其 UI 层面的框架库就没办法在别的框架中使用,感觉这是一种资源浪费?
  3. 框架与构建工具强绑定

    • 现在的主流框架 angularjs react vue 等,除了 vue ,其他的框架都没办法很方便的在传统服务端渲染开发模式下集成。

为何有这些感触?

    * 首先本人从事 web 开发也有六七年了,近一年在学习使用 django ,折腾下来发现 django 是一个对于 web 标准理解非常深刻的一个框架。但在用 django 写模板的时候又发现,现在主流的一些 ui 库,没办法直接使用,能够直接使用的库例如 bootstrap ,还是传统的模式,远不及主流 ui 库好用。

如果本人理解不够,还望轻喷。

4653 次点击
所在节点    问与答
39 条回复
yKXSkKoR8I1RcxaS
2024-03-19 11:15:41 +08:00
前端越来越复杂
jguo
2024-03-19 11:23:00 +08:00
先搞清楚轮回和螺旋上升的区别
hongweijie8
2024-03-19 11:28:02 +08:00
我用 django 写模版的时候都是引入静态资源中的 vue.js 和 element.js/css ,不用 bootstrap ,感觉不是很好用
wu67
2024-03-19 11:50:33 +08:00
讲真 ssr 只是为了官网, 更多的企业应用例如 oa 管理后台 crm 之类的, 其实完全不需要 seo, 这些场景都是 spa 的天下

生态乱战这个我没话说, 前端就是这样乱

至于工具, 也是乱战, 你看 vue 的迁移, webpack vue-cli vite, 每一次都是大难题, 不是说工具本身有什么问题, 是业务代码要各种改、还有私有 API 之类的调整, 本质上你选了一个技术栈, 那基本就是只能在这个坑里打滚了, 楼下别杠什么升级, 问问老板给不给你时间再说...
ychost
2024-03-19 12:27:44 +08:00
以前的服务端渲染和现在不太一样,以前基本就是个字符串模板引擎替换,现在像 Blazor 之类的是可以在服务端响应前端 click 事件,直接操作 DB 的,省去了 Controller 、Service 等裹脚布
Torpedo
2024-03-19 12:30:18 +08:00
@echo0x000001 #6 可以啊,react 也能不用构建工具开发的。所谓编译不过是个工程化问题。而且有构建工具很正常,不然怎么打包压缩?
nomagick
2024-03-19 12:36:13 +08:00
现在的前端是有结构性问题的,整个行业的发展前景都又问题

究其原因,是领头羊不行,领头羊的上限太低,下限更低,全部都不是软件行业深耕过的人,而是应届生或者别的不相干的行业转过来,没有工程思维,缺少背景知识和积累

每次出一个新的框架,不是把人往高处带,反而是不断突破底线,不断颠覆之前的标准和工程最佳实践

领头羊把路带偏,后面跟着的只能是越走越偏,和软件行业的主支差着十万八千里,都不知道以后怎么办
x2ve
2024-03-19 12:56:34 +08:00
现在也有类似的 fastui 这种
iidear2015
2024-03-19 13:30:37 +08:00
> 在用 django 写模板的时候又发现,现在主流的一些 ui 库,没办法直接使用。
---
你先整一个集成方案,然后开源,就可以直接使用了
alphardex
2024-03-19 13:40:47 +08:00
确实,不过我的视角跟 OP 不同,我觉得前端还有一个重要的方面是负责用户所看到的视觉效果(不限于 CSS 、Canvas 、WebGL ),但现在研究这方面的感觉越来越少了,都是在研究三大框架和 SSR ,很没意思
(嘛,不过对于看见 CSS 就头疼的后端来说这些不讲也行)
cxzweb
2024-03-19 13:46:51 +08:00
@nomagick 那你来做领头羊吧
lozzow
2024-03-19 14:27:40 +08:00
后端学会一门语言后,基本上可以再不同的框架之间快速切换
反而前端感觉上时换一个框架就等于学习了一门新的语言
zzzyyysss
2024-03-19 14:39:47 +08:00
@echo0x000001 laravel + inertiajs 一个字爽!
Areman
2024-03-19 17:43:26 +08:00
@cxzweb 哈哈哈哈哈哈哈
duanxianze
2024-03-19 17:54:36 +08:00
诚如楼上诸位所说,这个演进的背后是前端越来越复杂了,前端能做的越来越多了,另外你说的那些都 2 ,3 不成立,angularjs react vue 完全可以混用,框架与构建工具也没有强绑定
SorcererXW
2024-03-19 18:54:17 +08:00
感觉是大规模的边缘计算/CDN 基础设施完善,jamstack 开始流行,现在的 server component 是在这个基础上,让网站在不损失服务端渲染的好处,同时获得更强的动态能力,属于 spa 和 ssr 的融合
lstz
2024-03-19 18:57:22 +08:00
服务器渲染和客户端组件并不冲突,可以参考 laftools.dev ,该静态的直出,该动态就动态加载
lynan
2024-03-19 19:43:27 +08:00
我也想说现在的服务端渲染和以前的服务端渲染其实几乎并不是一回事,php/jsp 时代的服务端渲染,客户端没有多少互动的能力,但是现在的服务端渲染是满足前端可以是一个 Web App 的形式上,通过服务端提前拼接一些首屏内容提升加载速度
BeiChuanAlex
2024-03-20 00:17:23 +08:00
对前端不是很了解,但是根据 vercel 的文档来看,现在的服务端渲染和以前的 django 所描述的服务端渲染不是一个东西,或者说不太一样,vercel 可以在编译的时候把该静态的全部进行静态化,动态的地方就动态渲染,基本上是尽力做到静态化。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1024973

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX