1
twofox 2023-06-13 16:46:25 +08:00 3
react 在输出前端代码的同时,引入了一套很好用的管理方式,组件库丰富,操作 DOM 方便
jsp 要是实现一大堆花里胡哨的点击效果,还不是得引入其它的 js 的包。 jsp 就是垃圾玩意(接手了一个 jsp 项目的 javaer 的怨念 |
2
sentinelK 2023-06-13 16:53:20 +08:00 1
他们只是对 HTML 富文本的处理方式相似而已,剩下的完全都不同。
1 、对于 HTML 的处理位置不同。 2 、对于变量与逻辑的依赖流程不同。 3 、支持硬件的范围也不同。 btw:横向比较要同位比较,不能只比较形似。jsp 主要解决的是什么问题? React 又在解决什么问题? 你家里的电水壶与核能发电厂,其实本质上都是烧热水。所以用电烧水来发电也可行,只是燃料变了。 |
3
iminto 2023-06-13 17:04:03 +08:00
|
4
tool2d 2023-06-13 17:08:07 +08:00
作为传统码农,更喜欢 JSP ,一行就是一句代码,便于修改。
JSX 没有配上合适的编译器,都不太好上手。现代前端开发效率是靠,但是隐藏细节,也比以前多很多。 代码好不好。只看人,不看技术。 |
5
wangxiaoaer 2023-06-13 17:12:12 +08:00 via iPhone
在渲染这个层面 jsx 和 jsp 没有本质区别。只是 jsx 在渲染的同时附带了状态变化重绘和前端交互等能力。
|
6
xhinliang 2023-06-13 17:21:00 +08:00 8
说得很好,下次别说了
|
7
leegradyllljjjj 2023-06-13 17:29:09 +08:00 via Android
啥时代了
|
8
Jirajine 2023-06-13 17:32:16 +08:00
你忽视了最关键的,React 为什么叫 React ,reactivity 才是它最重要的核心和特色。
|
9
DOLLOR 2023-06-13 17:45:37 +08:00
HTML:明明是它们像我呀😭
|
10
chendy 2023-06-13 17:48:23 +08:00 1
一来 jsp 没淘汰(存量的 jsp 项目其实很多很多),二来 jsp 淘汰也不是前后端分离带来的,就算不前后端分离 jsp 也没有模板引擎好用(想在 jsp 里写 java 代码另说)
不能因为像就把俩东西这么比较吧,那岂不是可以写一段 c 的 if-else ,再写一段 java 的 if-else ,两边几乎一样,是不是也可以比较了? |
11
cp19890714 2023-06-13 21:41:01 +08:00
使用数据对模板进行渲染, 所有的模板框架都是这个样子。
你的认识太表层了。 |
12
learningman 2023-06-13 21:44:13 +08:00
感觉都是跑在 CPU 上的机器码,实在是没有什么区别啊
|
14
duan602728596 2023-06-13 23:13:47 +08:00 1
1. React 不是 template ! React 不是 template ! React 不是 template !
<div>Hello</div>编译后是 React.createElement('div', null, 'Hello')。是 js !是 js !是 js !所以才能添加各种 event 事件,才能各种无缝使用 js 语法。写 jsx 其实就是写 js 代码,只不过是 React 自动创建帮你 dom ,不用你手动 document.createElement 和 element.appendChild 。template 输出的是字符串,所以各个语言的 template 都不好写交互。 2. JSX 不只是输出 html ,输出什么取决于最后怎么渲染,比如 react-dom 或者 react-dom-server 或者 react-native 或者小程序。一套代码用不同的东西最后渲染出来的是不一样的。 3. JSX 不是只给 react or vue 用的。 4. 所有的编译器对 jsx 的编译是差不多的。 |
15
tool2d 2023-06-13 23:20:00 +08:00
@totoro52 "那要是多了,才叫痛苦,维护系数直线上涨。"
也还好了,out.write 只是最初级的。可以加各种模板引擎,加上后就没那么难维护的。 最难维护的,是一大堆复制粘贴代码。仅仅是代码量上去了,还是有办法降低耦合程度的。 |
16
zhangk23 2023-06-13 23:22:23 +08:00
jsp 这种中古技术早就死了
|
17
lisongeee 2023-06-13 23:34:45 +08:00
@duan602728596
> 所有的编译器对 jsx 的编译是差不多的。 不一样的,主要分为两大类 一种是 react 这种编译为 vnode 形式,然后和对应的平台库使用 另一类是 solidjs 这种直接在编译期静态分析 jsx 编译为原生 dom 操作,不同的平台的编译选项不一样 |
18
ixixi 2023-06-13 23:58:04 +08:00 1
这能比吗 ? 完全不是一码事
|
19
dcsuibian 2023-06-14 00:09:37 +08:00
完全不是一回事
jsp 只是在拼接字符串,并没有解析,只不过是你拼成了一个 html ,最终被浏览器解析。而 jsx 是 xml ,在开发过程中就是有解析的 |
20
kachu673 OP 讨论的真精彩😁
|
21
YuJianrong 2023-06-14 03:45:59 +08:00 via iPhone
jsp 对比 jsx ,就和 java 对比 javascript 一样。
粗一看有点像,基本语法都差不多。 深挖进去一点都不同。 说渲染层面一样的,那所有程序说到底都是一个图灵自动机呢,有意义吗? 最后,就光一个 security 问题,已经可以说 jsp 装配技术不好了,这还有啥好想的。 |
22
HaroldFinchNYC 2023-06-14 07:53:10 +08:00
为什么前端在 react 和 vue 发明之前不是一个正经的职位?
你想想 |
23
shaozelin030405 2023-06-14 09:09:33 +08:00
更像 php 哈哈啊哈
|
24
onceyoung 2023-06-14 09:16:24 +08:00
你也说了,“很像”,人和黑猩猩也很像,但很像就只能是很像……
|
25
angrylid 2023-06-14 09:16:28 +08:00 via Android 3
如果你看着像就是同一回事的话。那么鸭脖和鼠头看上去也挺像的。
|
26
huijiewei 2023-06-14 09:17:31 +08:00
都是高低电位,有什么区别呢
|
27
cheng6563 2023-06-14 09:17:43 +08:00
jsp 也没人这样写
|
28
acerphoenix 2023-06-14 09:46:38 +08:00
现在还有人知道 jsp ,得多大了。
另外,你这不是 jsp ,是没有 jsp 时候的 servlet 。jsp 出来是伴随 JSTL,El 表达式的,还有现在的一些模板引擎,比如 velocity ,Thymeleaf 也算。 |
29
githmb 2023-06-14 09:47:27 +08:00
JSP ?依托答辩
|
31
arewei 2023-06-14 14:11:26 +08:00
这个是啥 jsp...
|
32
shyangs 2023-06-14 14:20:09 +08:00
知道你不會 JSP 也不會 JSX 了。
你的第一張圖只能算 Servlet 。 JSP 就算不寫 JSTL ,EL 表達式,也要來幾個 Scriptlet Element 吧。 |
33
kachu673 OP @acerphoenix JSP 被编译成 java 源文件时,里面的源码就是这种 out 输出。
|
34
shyangs 2023-06-14 14:26:16 +08:00
@kachu673
拿編譯過的來說事,那你 JSX 是 ` React.createElement('div', null, 'Hello')` 這樣寫的嗎? 你第二張圖怎麼不貼編譯過後的,而是大家理解中的、編譯前的 JSX 呢? |
35
coolzjy 2023-06-14 14:48:22 +08:00
确实是愚昧的见解。建议 jsp 河 jsx 都重学吧。
|