JavaScript Web 大前端是不是一个失败的方向?

gaicitadie · 2021年07月03日 · 最后由 gazeldx 回复于 2021年08月10日 · 2975 次阅读

AngularJS 诞生于 2009 年,距今已有 12 年,这是我听到的最早的双向绑定的大前端技术,12 年后的今天,服务端渲染仍是主流。
国内的大部分技术社区,大部分仍然是服务端渲染。
至于后台,大部分使用大前端的仍然是全干工程师的活,一个人写写后端 api,再写写 web 大前端,既然一个人全干了,干嘛不用 jquery 一把梭呢?

都有各自的应用场景。

比如一家几个人的服装小作坊,一个人基本上可以生产一件衣服,但是大厂可能是 20 多人一起生产一件衣服。

小作坊生产:10件/天/人,大厂生产:50 件/天/人,效率提升5倍。

小作坊的老板也想上生产线,但是投入很高,场地和人工以及订单量都要够,你才能上生产线,否则上了生产线就是停工状态,那肯定要亏损。

但是随着业务量的扩大,小作坊变成了几十个人的厂,引进了一条生产线,以前能做一整套衣服的人让他负责把一件衣服分成20个部件,分给多个人做,效率得到提升。工厂赚钱员工多劳多得大家开心。

ng 估计不太友好。现在都没人学了。。

ng 和 ember 都成为过去式了。

网页的交互性上来了。jq 只是一个 utils,缺少组建这个抽象。

Web 复杂性越来越高是可见的,浏览器能力越来越强也是可见的,但是简单页面前后端一体的确是在总开发时间上是省的,但奈何现在有些 Web 应用的有些单页复杂性往往会非常高,在这种复杂度下,用一个好的前端框架,后端出 API 的整体复杂度相对可控一点(至少可以完全拆成两组人一起干)。

所以大前端的方向没有错,我觉得有错的是想把所有网页都用一个前端框架搞定,这即使是可行的,内存也太容易起飞,放弃用户切换页面就重新载入的后端路由后,也有较大概率导致浏览器内存泄漏,采用这样的架构不是很明智。

jquery 一把梭?为什么会有这种想法? jquery 一把梭那么爽,为什么大家都不用

不记得在哪看到一句话:判断一个社会处于什么阶段不要看生产的东西是什么,而是要看组织生产的方式。比如一个奴隶制社会即使使用的是核聚变能源,生产的是反物质武器,它仍然是奴隶制社会。

这同样也适用于软件开发。关键是组织代码和管理代码的方式

攻击上看,前后端分离更容易下手。

菜鸟插个嘴也许所有的问题都出在 html,网页设计极其没有效率。自然语言适合讲述抽象的事例或行为,但不适合讲具象的图像或动作。编程语言也是一样,如果一开始画面能够用画图来解决,那么动作的编程就轻松多了,好似沙盘推演。但是现在用脚本语言去写画面,先脑子想画面,然后再把画面翻译成脚本语言,然后呈现出来再写动作,一个 HTML 源文件里塞满了各种目的的代码。自己写的画面再次看时都必须读代码翻译成图像。

我不太懂 web 大前端 指的是啥。双向绑定很早就有了,比如 Adobe 公司基于 Flash 退出的 Flex 里头就有这个语法。

现在的主流不是 nuxt 或者 next 吗。就是用 ssr 渲染 react 和 vue。感觉已经是主流了吧。

是不是对主流的认知不太一样。

我目前做的是全栈,jq 有几个问题。

  1. React 和 Vue 的组件最齐全,我的精力不能大量的花在组件逻辑的编写上;
  2. 如果前后端分离的话,jq 完全没办法 handle 大产品,直接把自己写疯。

小项目用用: https://github.com/alpinejs/alpine 这种也挺好的。

不是已经成功了?别的不说,创造了这么多高薪岗位,还有什么不满意的?

AeroXu 回复

jquery 的各种组件插件也很齐全,也不是从头自己撸组件,各有各的生态。

这些现成的组件只能用在后台,前台还是得自己做 UI 自己做组件,不然让用户看出来第三方组件的痕迹,会有一股浓浓的山寨感。

这就造成了很尴尬的现象:明明需要前后端分工的前台开发,却不能用大前端;而往往只需要一个人搞定的后台 curd 开发,却最适合用大前端。所以前后端分离往往是一个程序员写一会前端,再写一会后端。

ericguo 回复

😀 我也这么认为,框架就好比语言,都有它适应的场景和环境,一把梭干到底我觉得是错误的。

目前前端给我感觉各种新词和概念过剩。

web 大前端让我无法接受的另一个原因是它模糊了 url 的重要性(本质上整个应用就一个 url),url 可是 web 的灵魂所在

万维网的精髓就是超文本和超链接,而大前端有逐渐把超链接干掉的趋势。

gaicitadie 回复

老哥,我建议你把这层楼删了,楼上的可都是认认真真的和你讨论问题的

huacnlee 回复

我觉得,问题不是用不用 React 或 Vue 的问题,是用了之后的问题,一整个生态圈,先不说用不用得上,遇总是能遇上的。我想说:前端之大,一个后端扛不下。好了,我要继续研究我的 React Router 去了。

大前端不是 Flutter 和 React Native 这种么?

huacnlee 回复

好好看看这楼吧,不要止步不前,还 jQeury?不管你们愿不愿意承认,react/vue 就是当下主流前端不可缺少的,当然很多就是半壶水前端,用不上也正常,也有可能没碰上稍微有点规模的项目。还有人谈安全?前端何来的安全可言?还 url 灵魂,用户关心这个?一会前端一会后端?你们公司到底有多么小?不把 JAVA 放眼里?当然前端有新词,但是这个不是新词,这个是主流。

hxh1246996371 回复

看不懂你说的,我觉得 vue 可以试试

gaicitadie 回复

你喜欢 URL,😀 没有问题,大前端可以给到你想要的 URL,比如:https://reactrouter.com/web/guides/quick-start 这个是我以前应公司要求,用过的一个 ReactJS SPA + Django Rest framework 项目。URL 控制是项目的一个需求点,完美实现。

我现在在尝试在 Rails 中集成 ReactJS. 路由主要还是用 Rails 的,等完工了会发一篇文章。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号