公司搞了一个新项目,因为要 SEO 所以我打算用 React 上 SSR,但是公司的 Java 说完全没必要,非要我写 JSP,说这样简单一些...我实在无语,怼他们也没反应,不知道咋搞。
1
Wincer 2019-01-09 09:47:12 +08:00 via Android
前端用什么技术怎么也轮不到后端来说吧。。你们项目组组长没规定用什么吗?
|
2
lhx2008 2019-01-09 09:47:53 +08:00 via Android
如果是几个页面,确实没必要,就写 jsp 或者写 freemaker 不是挺简单
如果是一个很大的项目,那 SSR 是比较有利的,但是看样子你们的项目也不大,就不要给自己加工作量了 |
3
lihongjie0209 2019-01-09 09:48:11 +08:00
jsp 不能解决吗? 能解决为什么要上 react
|
4
murmur 2019-01-09 09:48:23 +08:00 4
看你们是前端强势还是后端强势,你如果 react 上 ssr 还得除了 java 单独给你弄一套 node 环境 这个谁来维护
|
5
yhxx 2019-01-09 09:48:55 +08:00 13
@lihongjie0209 汇编不能解决吗?能解决为什么要上 JSP ?
|
6
Exceptions 2019-01-09 09:50:20 +08:00 20
@yhxx 来来来, 你来汇编解决
|
7
lhx2008 2019-01-09 09:50:46 +08:00 via Android 1
如果就几个页面,到时候还要商量接口,写接口文档,接口鉴权,一大堆问题,我是后端我也怼
|
8
deweixu 2019-01-09 09:51:31 +08:00 3
你给他弄几个静态的 html,让他自己去搞 jsp 吧
|
9
chairuosen 2019-01-09 09:53:12 +08:00
谁写谁决定
|
10
w3313003 2019-01-09 09:54:10 +08:00 1
页面不复杂的话可以用下 prerender-spa-plugin 插件
|
11
HangoX 2019-01-09 09:54:12 +08:00
jsp 不可否认在简单场景下要简单很多,起码你都不用兑接口。看情况,前端符合不打,就当个美工前端吧
|
12
letitbesqzr 2019-01-09 09:56:13 +08:00 3
@yhxx #5 别杠,如果是很简单的页面,上 React 意义何在?为了炫技? 如果是公司只有你一个人会 React 的情况,你准备出啥问题你一个人担着?后面一直一个人写?
|
13
windyCity 2019-01-09 09:56:19 +08:00 4
什么时代了,前后端分离,以接口文档沟通,这不应该是正常的事情吗?哪怕就一个页面我也拒绝写 jsp
但是,具体问题具体分析,后端大佬是你上级的话从了吧,官大一级压死人,不能忍,只能跳槽。。。。 |
14
wuliao49 2019-01-09 09:57:43 +08:00 5
技术没有高下,选型方面不能单凭个人喜好,要看业务场景。
如果这里 JSP 的开发成本、沟通成本、收益、性能、稳定可靠性等方面明显优于其他,那为什么不用? 另外,楼上同学有说有汇编的,期待你来给我们展示下成功案例。 |
15
Canrz 2019-01-09 09:59:01 +08:00
杀鸡为啥要用牛刀
|
16
ren2881971 2019-01-09 10:00:11 +08:00
咱不谈业务, 领导让你用啥就用啥呗。。
用了 react,你能保证你全能 hold 住么?你们公司其他人会不会 react。 就你自己会,你离职了公司找谁去。。 明显不会工作。。 |
17
pythonee 2019-01-09 10:00:49 +08:00 2
弱弱问下,什么是 SSR
|
18
BBCCBB 2019-01-09 10:02:17 +08:00 1
你写界面, 他们用 jsp 标签绑定数据,
|
19
dk7952638 2019-01-09 10:03:11 +08:00
我感觉你们公司并不是那种前后端分离的技术架构,如果公司的技术栈就是 jsp,你上 react 就不合适了。
|
20
zjsxwc 2019-01-09 10:03:24 +08:00 4
jsp 里套个 iframe 里你写 react
皆大欢喜 |
21
falcon05 2019-01-09 10:03:47 +08:00 via iPhone 1
你就弄个 HTML 给他,让他们写 JSP。
|
22
nimabibi 2019-01-09 10:04:39 +08:00 via Android
关键看你是为了上 react 而上,还是衡量过工作量,如果就几个页面要上,不是吃饱了撑着
|
23
geying 2019-01-09 10:05:29 +08:00
自从有了前后分离,人都开始浮躁起来了
|
24
salamanderMH 2019-01-09 10:05:35 +08:00
简单点就用 jsp 好了,其实也是标签化的,学下也很快
用 React 可能后端觉得这里没必要上框架 |
26
KgM4gLtF0shViDH3 2019-01-09 10:10:31 +08:00 1
一开始后端渲染,然后变成前端渲染,现在竟然变成了前端在后端渲染,哈哈,如果是小项目用 react 干啥,而且 node 那些东西搭建起来不麻烦吗?还多了一份服务器资源。顺便
@yhxx #5 杠精 |
27
jeremaihloo 2019-01-09 10:16:04 +08:00
我觉着如果需要 SEO,项目又不需要前后端分离,或者公司前端并不多,就直接 JSP 很合适呀
不要什么都想着用新技术,除了炫技,没什么意义 |
28
whypool 2019-01-09 10:16:51 +08:00
前端我都反对 ssr
抛开复杂的交互,如果要兼顾 seo,后端 render 才是正确的 即使有复杂的交互,上前后端分离才是正确的,如果还要兼顾 seo,判断蜘蛛重定向到蜘蛛页面 |
29
ren2881971 2019-01-09 10:17:04 +08:00
@zjsxwc 哈哈 你有点皮啊。
|
30
yhxx 2019-01-09 10:18:43 +08:00 1
|
31
lihongjie0209 2019-01-09 10:20:13 +08:00 1
@yhxx 你汇编解决一个看看, 就知道 xjb 杠, jsp 什么都不用改, 什么都不用加, 直接搞定. 你搞一个 ssr 要涉及到多少内容, nodejs, react, webpack 一大堆, 就为了重复解决一个简单的问题?
|
32
liuzhedash 2019-01-09 10:20:55 +08:00
JSP 挺好啊
出锅了 Java 开发也能背,要不就你会 react 不得忙翻 |
33
yhxx 2019-01-09 10:21:45 +08:00
@lihongjie0209 2019 年了新开工程你让人家上 jsp ?
“什么都不用改, 什么都不用加, 直接搞定”,那你要前端干嘛,你行你上啊 |
34
lihongjie0209 2019-01-09 10:22:33 +08:00
|
35
ryonanamizu 2019-01-09 10:22:43 +08:00
既然这样直接写 PHP 不就好了么
|
36
Shynoob 2019-01-09 10:23:11 +08:00
我以为 ssr 是小火箭
|
37
hellojinjie 2019-01-09 10:24:26 +08:00 via Android
现在的前端都好霸气,,,
|
38
mobaui 2019-01-09 10:24:55 +08:00 1
惊现杠精 33 楼 你行你上,你自己咋不上。。。
|
39
lihongjie0209 2019-01-09 10:25:18 +08:00 3
@yhxx 我问你, 添加 ssr 带来的复杂度和带来的收益你有计算过吗? 为了用技术而用技术, 谁来填你的坑
|
40
ixiaozhi 2019-01-09 10:25:41 +08:00
也有可能想用 jsp 后端渲染,对 seo 友好吧
|
41
litujin1123 2019-01-09 10:25:48 +08:00
推荐上 SSR,出了问题还可以来 V2 发帖,React SSR 怎么怎么坑(不负责的建议
|
42
claysec 2019-01-09 10:26:27 +08:00
能省点事还是省点事。我身边的人就是我的案例:p
|
43
yhxx 2019-01-09 10:28:31 +08:00 2
@lihongjie0209 楼主具体的什么都没提,就默认是个小项目了?
复杂应用的话用 React 的收益需要说吗? 怎么就叫为了用技术而用技术了,那怎么不写 PHP,转 Java 干嘛? JDK 别升级啊,升了就是为了用技术而用技术 用 React,有了坑自然是前端自己填 强行用 JSP,出了坑后端会给楼主填吗? |
44
abc635073826 2019-01-09 10:28:40 +08:00
谁写谁背锅
|
45
lihongjie0209 2019-01-09 10:28:49 +08:00
@yhxx 其实你说的也对, 现在前端也可以承担一些责任了, 那么 ssr 这部分的部署, 运维, 上线, 监控暂时先由前端负责吧
|
46
yhxx 2019-01-09 10:29:54 +08:00
|
47
yhxx 2019-01-09 10:30:29 +08:00
|
48
lihongjie0209 2019-01-09 10:31:06 +08:00
@yhxx 现在的前端果然是全栈啊, 佩服佩服, 前端, 后端, 运维都可以干
|
49
mobaui 2019-01-09 10:32:32 +08:00
@yhxx 那你倒是先用汇编拿出来一个例子啊,坐等,你说了你行你上就代表你能用汇编做,是这意思吧,请直接上案例地址,好期待汇编写的案例
|
50
lihongjie0209 2019-01-09 10:34:35 +08:00
@yhxx 那你大概说一下你前端要用 ssr 需要的一整套技术框架, 包括持续集成 /部署, 监控, 还有和后端的发布协调这些
|
51
ooh 2019-01-09 10:34:49 +08:00
哪种简单用哪种呗,难道是页面交互很复杂,既然要考虑 SEO,引入 SSR,服务端战线一下又拉伸一个层级
|
52
mobaui 2019-01-09 10:35:03 +08:00
@lihongjie0209 没事,我们统一一致的觉得,用汇编写才好呢,或者让楼主按自己意思写得了呗,为啥一定劝用 jsp
|
53
SakuraKuma 2019-01-09 10:35:48 +08:00
楼主都还没说啥项目,就说了个要求 seo。
有些人就在“复杂应用了” 楼中的都说了,简单页面 /维护成本等等。 不要什么都追新,技术不是用来炫耀而是用来解决问题的。 要是楼主的就几个页面的网站,你来 React 吧,我选择 jq+后端直出(逃 |
54
sonyxperia 2019-01-09 10:36:28 +08:00
所以有人解释下什么是 ssr 吗? Java 后端表示不了解,怕以后前端懵我
|
55
yhxx 2019-01-09 10:37:56 +08:00
|
56
yhxx 2019-01-09 10:38:17 +08:00
@sonyxperia 服务端渲染
其实和 JSP 差不多 |
57
muyiluop 2019-01-09 10:39:01 +08:00
@sonyxperia #54 25 楼有说明 > server side rendering 服务端渲染
|
58
coffeedeveloper 2019-01-09 10:40:52 +08:00
@sonyxperia Server Side Render
|
59
hv3s1 2019-01-09 10:41:24 +08:00
...为什么.. 前端要写 JSP。
|
60
sagaxu 2019-01-09 10:42:22 +08:00 via Android
如果后端只提供内网 API,其它全部前端负责,我是没意见的。如果要我提供两套 API,或者提供额外的 auth 服务,或者
|
61
tabris17 2019-01-09 10:42:36 +08:00
@sonyxperia react 服务端渲染。这意味着要跑一个 nodejs 服务。增加项目复杂度,要我是后端我也怼。我是为了完成 KPI 的,不是让你前端来练手的,风险谁来承担
|
62
SakuraKuma 2019-01-09 10:43:25 +08:00
@yhxx 毕竟看见 seo,简单页面观念很正常。
|
63
mars0prince 2019-01-09 10:43:41 +08:00 2
说明楼主公司前端地位不高,我们公司也是一样,基本后端占据主导,前端做什么都得后端首肯。碰见这种公司建议开始找下家吧。
|
64
sagaxu 2019-01-09 10:43:42 +08:00 via Android
如果后端只提供内网 API,其它全部前端负责,我是没意见的。如果要我提供两套 API,或者提供额外的 auth 服务,或者需要我做 ssr,我内心是拒绝的。
|
66
myyou 2019-01-09 10:45:08 +08:00
如果是没什么逻辑的简单页面,的确可以上 jsp,但是如果有操作逻辑,无论是单页面还是多页面,都因该考虑使用 vue 和 react 等这些框架。
|
67
mars0prince 2019-01-09 10:45:36 +08:00
从这点还可以看出,楼主的公司和我一样,都是业务型公司,出活追求快糙狠,对技术没有追求也没有规划
|
68
yhxx 2019-01-09 10:46:05 +08:00
|
69
hv3s1 2019-01-09 10:48:18 +08:00
...额 这种简单页面。不是直接 Jquery 解决了,然后 JSP 上拼接下吗。
为什么要用 react + SSR ... 时间太闲吗。 然后为什么前端要写 JSP !!!!???? |
70
maddot 2019-01-09 10:48:19 +08:00
如果项目没有多客户端要求,就一个浏览器端,上个锤子 React 啊,还 ssr 脱裤子放屁
|
71
jason19659 2019-01-09 10:48:23 +08:00
所以现在 React 的话是要单独开个服务器(容器)渲染吗?负载怎么做
|
72
frankkai 2019-01-09 10:51:12 +08:00
要么忍要么滚
|
73
aihidao 2019-01-09 10:52:08 +08:00
建议不要碰 SSR 否则 2019 年 2 号文件就是你。/滑稽.jpg
|
74
DaraW 2019-01-09 10:54:41 +08:00 via iPhone
楼上的有些人,你们公司都没有基础设施的吗?
|
75
guanhui07 2019-01-09 10:54:41 +08:00
后端提供无关紧要 API,前端爱咋弄咋弄都行
|
76
lscho 2019-01-09 10:55:52 +08:00
@yhxx 你确定他能 hold 住 SSR 吗?第一,带来的风险以及工时的增加,领导是否同意?第二,新开 node 环境服务器,作为一个前端是否能维护好?第三,带来的服务器压力问题,是否能 hold 住?只有这三点全部搞定了,才支持你上 SSR。
很多人搞不明白,不是不支持你上 SSR,而是你是否能 hold 住,不给队友拖后腿。。这不是技术选型的问题,这是工作定位的问题,你说的很对,“既然都要用 React 上 SSR 了,肯定后端只要提供 API 就行了”。这种情况下,这个项目的主导权就转交给前端了。所以,前端就要保证整个项目不出问题(或者出问题自己有背锅的觉悟)。 除非前端组有大牛,否则强行前后分离 ssr,都是自找苦吃。 |
77
wrq 2019-01-09 10:56:12 +08:00 2
2019 年了还在用 JSP.. 佛了
|
78
alexsunxl 2019-01-09 10:56:54 +08:00 2
ssr 和 react ssr 是不同的,react ssr 指定只能用 nodejs。
nodejs 这一层要计算,要拼组件,偏偏这个是 node 的弱项。还有要在 node 层用 http 请求 java 后端,就算走内网通道也是贼慢,至少是 200ms 级以上(难道你们还能上 protobuf ) 肯定会出现性能瓶颈,还得做组件级别的缓存。 这些坑我都趟过 同构应用只是吹得很响,单人没任何积累干这个事情,你会发现在工程上到处倒是坑。 没有一个团队别搞这个事情了。 需求不是 seo 吗, 现在单页应用也有很多办法处理 seo 的, |
79
fusociety 2019-01-09 11:00:27 +08:00
杀鸡用牛刀,遇到项目就上框架,没框架不写代码,用框架显得牛逼?写 jsp 怎么了?
|
80
hv3s1 2019-01-09 11:01:03 +08:00 1
..别说了。 直接让前端把后端的事也写了得了。 全用 node
|
81
yhxx 2019-01-09 11:01:21 +08:00 2
前面语气是冲动了一点
作为前端,极度反感需要本地启动 Java 服务才能开发的这种模式 后端用 JSP 我没意见,但是这样的话我只负责提供静态 HTML 和 CSS,不要让我在 Java 工程里调试 反过来也是一样,前端技术栈我自己决定的话,后端只需要提供 API 就可以了,别的都不需要操心 至于楼主的需求,从另一个角度考虑一下,商业项目 SEO 一般都不是做出来的吧,和搜索引擎“合作”一波,是不是比在这上面的技术投入更省成本? |
82
tabris17 2019-01-09 11:04:55 +08:00
@sagaxu 这是个项目谁来背锅的问题,不是用什么技术的问题。
如果用 jsp,除了问题肯定是后端背锅,后端也有承担起责任的觉悟,不可能怪到前端头上。 如果用 LZ 说的 react rss,跑一个额外的 nodejs,除了问题他会背锅吗?届时会不会出现前端怪后端接口性能有问题,后端怪前端调用的姿势不对的扯皮情况? |
83
orm 2019-01-09 11:05:10 +08:00
jsp 最终会编译为 class,实际并不慢。主要是看预算以及时间
|
84
juju123 2019-01-09 11:05:12 +08:00
两个各有优缺点,要看实际业务场景、公司情况,以及后续的运维、监控、升级、人手等。
|
85
yhxx 2019-01-09 11:06:03 +08:00
|
86
tabris17 2019-01-09 11:07:11 +08:00
LZ 自己都承认仅仅是因为“自己不喜欢”。那 LZ 有做好承担项目出问题背锅的觉悟吗?
|
87
teddy2725 2019-01-09 11:10:50 +08:00
别在工作中炫技,挑最有把握最成熟的方案。
|
88
demonzoo 2019-01-09 11:11:14 +08:00
哈哈,要不离职吧
新项目用 jsp 确实有点那个。。。要是老项目其它页面都用 jsp,也就忍了 |
89
sagaxu 2019-01-09 11:12:33 +08:00 via Android
@alexsunxl 内网 http,即便是不同机房之间,也不会有 200ms 这么大的开销,至少低一个数量级。同机房内网走 http,增加的延迟撑死也就是 3 到 5ms。
|
90
chanchan 2019-01-09 11:16:02 +08:00
别问,问就是旧技术垃圾,本人是前端 xxx 我一概不管,我就不喜欢怎么怎么样
|
91
passerbytiny 2019-01-09 11:17:53 +08:00
What? Oracle J2EE 都变成 Eclipse JakartaEE 了,竟然还有这么多用 JSP 的。
只要涉及到 SEO,小团队就别想安心的做前后端分离了,做不来的,因为若要分离则微服务、事件驱动、异步编程、读写分离是必要条件。此时的分工应当是 HTML 静态页面设计和 Java 全栈开发,不再是前后端。 现在还用 JSP 写页面的 Java 开发,都是不思进步的超级老老老古董了,而且让前端写 JSP,绝壁是推卸责任的,建议楼主抓紧跑路。 |
92
Yuicon 2019-01-09 11:19:10 +08:00
我猜楼主没写过 ssr 其他技术也不信任楼主有这个技术实力
|
93
zj972 2019-01-09 11:21:14 +08:00
可以啊,出了问题你自己调呗,反正我是个美工(翻白眼)
|
94
nicevar 2019-01-09 11:22:25 +08:00
“前端出了问题我还要把后端项目拉下来才能调”这句话说明你的工作流程有问题。
上面有些人写个 Hello world 都要搬出一个重型框架的我是真的服。 |
95
kran 2019-01-09 11:31:40 +08:00
可怕.
|
96
exonuclease 2019-01-09 11:40:56 +08:00
@alexsunxl node 性能哪有这么差 两台 aws 服务器之间 node 的 ssr 服务器调 node 的微服务 大部分时候是十几 ms 以下
|
97
exonuclease 2019-01-09 11:43:25 +08:00 1
建议赶紧跑路 jsp 这玩意多少年没见过了。。。
|
98
mars0prince 2019-01-09 11:47:03 +08:00 2
另外和楼主说一句:不要听楼上的说什么技术不行所以不能用。他们是后端,自然希望你的活越少越好;他们是领导,自然希望你快速出活就好,他们反正不会管你的死活。所以身为前端,不要听他们的,要懂得抢活,能力是锻炼和证明出来的,坑是踩出来的,不做就一辈子不会。
|
99
shynome 2019-01-09 11:47:58 +08:00 via Android
这种情况完全可以调一个浏览器渲染出静态,放到服务器上,然后判断是否是 SEO 的请求,是的话就返回这个页面
这样不需要 ssr,也就没有性能问题 |
100
micean 2019-01-09 11:48:51 +08:00
JSP 难道不是后端写吗?
|