88h8 发表于 2023-10-4 06:56:44

JavaScript会被Vue、Angular、React取代吗?

例如Spring对于Java的这种关系,不会再去脱离框架写代码了。

内蒙电都主机 发表于 2023-10-4 06:57:17

我觉得提问者应该是发现了某些苗头,来看例子
大学做项目,负责人禁止我用Vue,React,让我用基础html,css,js开发前端怎么办?你们这些喷提问者的人,可以试着回答这个问题:如果没有 vue react 你会怎样开发复杂 JS 应用。这样反驳提问者似乎更合理。
如何避免自己离开框架就什么都不会(变成 API guy)?

qq911 发表于 2023-10-4 06:57:55

题主举例了,说Spring和Java的关系。
在这里,题主的本意,应该是指有框架的Java(Spring)和无框架的Java(Java),可能很多人不知道,很早之前,确实有人不喜欢用Spring,而且也不喜欢用其他框架,就是直接Java生搞。

从这一点上,其实很像题主这里说的Javascript(应该是指原生)。
很多人觉得这个问题不好,我反而觉得这是一个很有意思的问题,最早是没有框架的,为什么会出现框架?

框架本身是为了解决问题的方便而引用的,而不是天生就必须拥有的,Spring 解决了最大的问题就是,需求变动之后的代码改动问题,有什么办法能够尽量封装的更好一点呢?

其实接口和实现的想法,一直贯穿在Spring的最核心。在什么规范都没有的时候,你可以任意写任意的代码,而这会带来更大的混乱,从混乱到秩序,必然会带来约束。Spring 框架本身,就是一种约束。

它约束了什么呢?
约束你将服务抽像成接口,你不要说你怎么做的,你只需要整理出来,需要做什么。
这个微不足道的思维上的转变,却是架构的起源,分层,抽象,封装等这些理念,并不只是一个编码规范,而通过一套框架的约束来完成。

所以从这一点上,我们来看一下JS,在原生JS,或者是JQuery的时候(其实这两点差别不大),JS的代码是怎么样的?

有没有分层的思想?
有没有模型的思想?
对封装有什么要求么?
对于数据和代码分离,逻辑和展现分离,有思考过么?
对于一个成熟的工程师来说,会在写代码的时候,依据自己的经验去完成一个项目。
但是对于一个还没有意识到自己写出来面条代码的新人呢,这是一个需要很长时间很长时间吃了无数的亏才能总结出来的内容。

多数前端工程师,喜欢的就是插件,插件这种程度的复用,已经是一次初步的封装了,但是在Angular出现之前,前端确实是没有架构思想的。

架构是什么呢?包括命名规范,目录结构,模块规划,分层体系等等等等,但这是一个空白的,任何人都是用自己的经验来随意创建的,大部分前端工程师,似乎都觉得这就是Javascript自由的天性。

这就是前端,不这么自由的写代码,就不是前端。
甚至不但要这么写前端代码,还要用这种风格写后端代码(和PHP一样)。

说到Java,都说笨重,庞大。
可是Angular是怎么出现的呢?

很多人都说Angular1和Angular2是两套框架,其实透过API本身,压根就不是。
Angular1就是牛刀小试,Google的大佬们看前端,咦?前端JS为什么这么写?

为什么和后端的交互不分层,不抽像成Service的概念?
为什么Service获取数据没有一个Model的概念?
为什么不用模板语言去写页面,这不是Freemark,Velocity,C标签里最常用的事么?
为什么。。不用依赖注入的方式去管理类?
为什么不强化Controller的概念。。
数据和代码不能分开么?JS里虽然没有编译这种概念,但是也不能把数据就直接写死在代码里呀。

就是这些问题,Angular1是一个简单的启蒙版,换句话说,Angular1本身就是一个过渡,为什么Angular2是一个根本的重构,就在于。。本来就是一个Beta版本, 尝试一下是否能够真正用这种规范的方式写代码,毕竟,JS已经出现那么久了,怎么会没有前端大神问这些问题,尝试做一下改进,是不是后端工程师对JS有什么误解?

答案是,真的不是有误解。。是前端工程师们真的没有这些概念,也不要求有这些概念。
所以Angular2就用这种方式认真的考虑了呀,Angular2才算是一个真正的框架版本,更像Java了,特别是TS,难道不是Javascript工程师期盼已久的?

用框架的好处,就在于是一个新人,也能够尽可能的去规范化。虽然,仍然有人用太古JS的思维去写Angular,但实际上,已经好太多啦。

重新回到题主的问题上,除了前台必须要SEO,只能是服务器端渲染+JQuery的,用框架就基本上是标配了,是起点,是前端从业者必备的基本技能了。

哈欠 发表于 2023-10-4 06:58:31

严格来说,这个问题本身有问题,JavaScript是一种语言,Vue/Angular/React是用JavaScript编写的库或者框架(就算你用TypeScript或者其他什么Script写最后还是要转译成JavaScript执行)。
就好比你问“面粉作为食物会不会被包子、饺子、面条取代”,面粉是原材料,包子、饺子、面条是基于面粉这个原材料生产出来的东西,不是一个层面的概念。
但是我理解题主想要表达的意思,因为,在React诞生之前,就有人问我:“JavaScript会不会被jQuery取代?”这个意思,其实是说,是不是没有人写原生JavaScript了,只有人写jQuery了。
嗯,每每看到这种问题,不得不长叹一声,计算你只用jQuery或者只用Vue/Angular/React,你还是要写原生JavaScript的吧,做程序员还是严谨一点的好。
话不多说了, 回答这个问题:不会。

sjfff99 发表于 2023-10-4 06:59:00

老铁,我正经回复你一下吧
当年我也问过很多沙雕问题,类似你这种沙雕程度的问题,可能也问过,所以我不怪你。
不过,您好歹要分清JavaScript是一门编程语言,另外三个是用这语言写出来的框架,所以你可以理解为JavaScript是妈,其他三个是孩子。
结论就是,他们是不同层级的概念。最后答案就是:不会。

huchuanhao 发表于 2023-10-4 06:59:26

从提问的方式来看,题主可能不太懂编程,这个问题就类似:
“汽车会被自动挡取代吗?”
页: [1]
查看完整版本: JavaScript会被Vue、Angular、React取代吗?