新来的后端上级同事强力推 jQuery,认为前端就应该写静态页面怎么理解?
发布于 8 年前 作者 think2011 15882 次浏览 最后一次编辑是 7 年前 来自 问答

事情起因是终于有机会开演讲会了。

可是第一场的演讲会,新来的后端上级就提议前端和设计写静态页面,切图就好了。 因为后端也懂jquery,所以都后端来做,不要用angular之类的,因为别人不懂,也更别说前后端分离了。

楼主是保持中立的,不管什么技术,分不分离都没关系,可是把前端划分为切图和静态页面,我实在不能理解,就拉了个组讨论,最后也没有结果,想听听大家的意见。

补充一下情况: 5名后端,都是有开发经验,平均 > 5年(有10年工作经验的同事),今年新来的2名,包括提出这个问题的同事 2名前端,我和另外一名前端新人

上一年来公司开发过一款后端为主的应用类产品A(基于angular),耗时1年+,其中修改bug我花了比较多时间,因为之前的开发人员对angular不熟,用jquery补刀情况多。(年前负责产品A的后端同事离职了)

后来做了产品B(基本上功能迁移自产品A),采用前后端分离的开发方式,耗时4个月+

现在要对产品B迭代新功能,过程中出现需求不明确,前端BUG多等的情况,导致延期1个月到现在。

关于提出这个问题的同事,老实说他的一些观点我也挺认同的,有几次创业经历,全栈。

后续写在51楼了,请不要再回帖了,谢谢!

54 回复

其实关键还是看领导和工资!

如果是电脑端没有什么不好的。。。

为了前后端能相对独立地协作,后端应该单纯地提供RESTFul的接口,前端通过AJAX与后端通讯,后端不应该干预前端是使用jQuery还是Anuglar,而前端也不需要管后端是使用C#还是Java还是PHP。

为什么头像打码但是名字不打码。。。

后端上级能影响前端的技术选型,前端leader去哪了?

难道只有一个leader决定选型?

@leizongmin 我也想这样,但似乎在公司里合作的并不好

@alsotang 我就负责公司的前端,所以我不知道怎么办好…

@think2011 直接跟后端摊牌,我前端爱用啥用啥

挺好, 后段愿意多干, 前端能省下时间研究,这是好事啊

前面某些楼层挺逗的 楼主并没有把公司具体情况说出来 例如团队人数 项目周期 平均水平等 就一味的喊别人撕逼 处理这个问题的大前提是项目进度把控 技术应该是为产品服务的 至于如何处理 结果如何 那就只能让楼主结合目前的情况来定了

如果我是你,掀桌走人

主要还是要看业务场景,有SEO需要的难道你也用angular?当然项目大无SEO压力、无浏览器兼容压力的话你就要强势的站起来,老子要用angular!!!!

@kentkwan 终于出现一个理智的人。切图狗路过

@1340641314 我觉得事情不能总这样处理,不然永远都是渣渣,水平不行,可以走慢点,走平凡点,但不能走错的路

我想说,写了这么久的backbone angular react,你要我回去重用jQuery,我想,我会死的。

@captainblue2013 给公司网站做的,我也都不敢直接用react这些框架,都是切图,主要是要SEO方面,像微信或者混合app开发这些,可以使用一些新的框架来写。公司就我一个前端,没人规定我要使用哪种技术,自己把握一下项目的时间,选择合适的开发模式

如果将就后端 恐怕后面只能将就下去了 对前端的重视程度也不会提高。。 可能你要找人的困难度也会加大

来自酷炫的 CNodeMD

我估计那货只会jquery,怕露馅了就这样打压前端

用jquery和ejs一样能做组件化,在公司技术栈不成熟的情况下尽量使用成熟技术。做项目是做项目,学技术是学技术,不能混在一起。 自豪地采用 CNodeJS ionic

后端狗路过,只写接口确实比较轻松,但有时候强行前后端分离反而会增加复杂度,看项目吧。某些一次性项目还是后端套模板划算。

后端的人明显没有一点“我们项目用jq会更好”的态度。。。 From Noder

其实前后分离会大大增加前端工作量以及考验前端的水平

来自酷炫的 CNodeMD

“天下大势,分久必合,合久必分” 是不变的真理~~~

所以,前后是否分离,怎么分离,主要是看“势”,这个势,有业界的潮流趋势,也有公司内部的用人成本,发展方向等的综合考虑。其实也不一定要较真,既然是“势”,那顺势而为你就会感觉很爽,逆势的话,很快就会力不从心,然后就自然会调整过来了。

我觉得怎么简单怎么好,如果后端力量强大,当然要大部分任务交给后端来完成。不是什么场景都需要angular,angular是个失败的框架,因为做得太复杂。所以能用的好的人真的不多,勉强用肯定一大堆bug。而且如果一个程序员甩手了,很难找到人来接盘。目前的restful 和前端单页应用的实践也有很多坑。看似减轻了服务端的负担,减少了沟通成本。但会增加前端的开发难度和成本。一个新手用java ssh写的代码可能和老手的写的不会差太多。单一个新手写的javascript 代码肯定就是噩梦。所以前端力量不足的情况下,不要盲目追流行。另外,如果想构建一个完整的产品线,也不能指着restful这样的简单架构来完成。至少应该抽象出业务层来。因为前端的情况很复杂,你可能会有web版,html5移动版,微信版,安卓app,iosapp,难道你会想把所有的业务代码重新再写一遍么。 对于创业企业来说,最快完成是最好的。你最资深的工程师,最熟悉什么技术,就用什么技术栈。

如果是国内项目,PC 端,要考虑到 IE8 兼容性的,还是 jQuery 吧,上手也快,学习成本低~ Angular 不但要考虑兼容性和学习成本(你会的别的前端不一定会), 你更要考虑到谷歌的一贯尿性,或许哪天就不维护了谁知道呢,哈哈~

如果真这样那就去享受下切图时光吧 让他们感受JS之力

可以用一句话来答复:要么忍,要么滚!

没啥好说的,愿意多干活就多干活呗,不过前面楼层说的一些说前端为了追新耍酷之类的我就不认同了,用过mvvm就知道jQuery所带来的痛苦,尤其是表单类,或者数据驱动型页面,满屏幕的id,class钩子,你要选值,处理值,然后再另外一个地方处理值,完全相死,它们抗拒是因为它们除了jquery没用过别的,你要真让他学习一下mvvm,你就会发现所谓的学习成本相对于日后都是相当的扯淡,至于前面说新手写js带来的问题,我想说这话的人没用过mvvm么?mvvm就是顺带防止新手乱写而给你约束成一套可维护的模式,你只需要操作数据model层即可,利大于弊,最后,要学习mvvm,请容我安利一发vue,我已经在我们组内成功的安利了vue,包括很多后端工程师都很感兴趣,极大解放了之前项目维护的工程师的生产力

同意vue,我有一个前端的页面有2000行,一堆的参数要维护,后台管理界面很正常,用jq简直作死,用vue轻松搞定。

你跟他说坚持要用 C 语言来写后端

不用说了,这不是技术之间的分歧,这是权力之间的分岐。

5名后端,都是有开发经验,平均 > 5年(有10年工作经验的同事) 2名前端,我和另外一名前端新人

你们老大想必注意到了两端实力悬殊这个事实。另外就是前端工作有没有效并不取决于你用什么,jQuery在许多应用里的交付能大于很多时髦的框架。

如果这种问题严重 那你直接把活用前端给实现 并且发到老板哪儿 跟他说 前端可以做后端的工作 并且做的更好 让他闭嘴

领导说的都是对的。

@jinwyp <br/><br/><a class=“form” href=“https://github.com/shinygang/Vue-cnodejs”>I‘m webapp-cnodejs-vue</a>

你把他后端的活用Node.js给接过来,去找老板聊。

楼主你需要换个工作。如果你定位成切图,很快就被这个行业淘汰了。有换工作打算的话,联系我。 2016-10-10 145508.jpg

不是一种东西 react全套,angular是mvvm框架,做常规spa没什么问题

但是一些重dom交互的需求或组件 你不用jQuery基本是不可能的

@liaosong MVVM多得是SEO解决方案.

@xu33 你没理解到dom交互与MVVM的本质.

当然是前后端分开好啊,粗重活甩给前端了。不分的话定义个路径都是大问题

跟你唱个反调 按楼主公司这种人员配置 ( 5个资深后端: 2个初、中级前端) 确实让后端承担多一点工作会好一点 现在他们只会 jQuery 就先 jQuery ,他们搞不定你就出个插件什么的,只做静态页的话你就专注点花一个月把你司的静态页面搞模块化一点,出点文档让他们自己组合,不行就培训培训 这样公司业务走得快,你也有大把的时间学习研究提高生产力…

@joesonw 呵呵了 我不知道你有几年经验敢说这种话 也许你没有机会去做一个真正的强交互产品

现在的前端自己专业的事都没弄透 会一点node 就想伸手抢后台的饭碗

真是搞笑

另外再多说两句 LZ的上级说复杂的效果游戏等等 前端实现 这个我认为很对 专业的人做专业的事 如果不愿意承担这种责任 只想去做一些后台也能做的诸如渲染页面 简单交互之类的事情来混工作量 那你的不可替代性又体现在哪 mvvm框架是好东西,不过没什么难的,任何程序员看两天文档都可以上手,不用那么神话

@dp199313 我虽然不记得花了多长时间入门angularjs,但是现在看起来相比jQuery减少代码量和UI分离的效果是很显著的,不知道为什么“因为太复杂所以是个失败的框架”?

vue为主, jquery辅助。要想完全抛弃jquery不太现实。能不用jquery的就尽量不用。

额,我觉得吧,能少干的事情,我干嘛要去干,至少你目前干的事,是在给后端增加痛苦。还有就是你说的不认同前端工程师,调侃为切图仔,试问哪个前端不会切图,有的时候别把自己看的太高,当然你也不是一无是处。

1.少事,能拿工资,能有大量的时间去研究JS本身,或者Rust。(无声广告)
2.后端也懂JQuery,基本上无沟通成本,既然后端有这个需求,那就给他们就好了。
3.还有对于MVVM与MVC的态度,前端做SPA学的就是这些,假如后端也要花大量的时间去学习使用,那还要前端何用?

还有就是职责分离的问题,看你们的人数好像并不多,假如你一定要捍卫自己前端的职位,强行让后端痛苦,那你就干吧。

还有就是Node抢后端饭碗的问题,Node在不少大型公司都作为一个中间层,用来组合一些API,减少后端人员专门为某某活动去写一个接口。在小型的创业公司里面,Node 具有懂JS就可写后端的先天优势,开发成本低。对于后端具体使用什么语言都是仁者见仁智者见智。同时前端也是一样。

一个好的项目应该要让所有项目干系人都满意!

核心:服务产品/服务产品/服务产品/服务产品/服务产品/以人为本/以人为本/以人为本/以人为本/以人为本

@MiYogurt 说的确实不错

(⊙o⊙)… 这么久的帖子还被翻出来了,我说下现在的结果吧。

  • 另外一名同事当时不久后就离职了。
  • 我还留在公司,把时间投入在维护和开发部分前端项目上。
  • 设计师也参与静态页面编写
  • 我也参与部分静态页面编写,然后交给后端处理,后续基本无法跟进。
  • 部分后端同事也开始做前端的工作,这其中我不需要参与。
  • 偶尔会有后端同事问下前端的JS逻辑方面的问题。
  • 目前做的项目,因为简单,要求去模块化,构建(压缩、合并、时间戳)都由后端自己写的服务处理

站在个人的角度,总结来说

  • 除了写样式需要用到SASS外,webpack、ES6之类的语法糖不可以使用了,所以也无法在公司发展前端了,更何况现在就我一个人。
  • 静态页面转给后端后,后端会重新写成JSP的方式,需要维护的话,得学习后端的知识(坦白说我不愿意),所以无法跟进(后续后端维护)。
  • 工作量没有减少,跟原来差不多,所以也没有更轻松
  • 因为都是重复的工作量,开始研究交互方面的知识,但苦于没法和后端交流(因为后端也在写部分前端项目,CSS3动画之类的特性,后端没有这方面基础)。

中途做了一些维护优化类的工作,这算是第一个实际的项目,所以我还是观望着,这一年已经确定是去前端化的一年了,我比较担心前端方面在公司以后会是怎么发展。

好久没来这里了,因为 Yarn 的发布来看看大家怎么说

我没有写公司的产品情况怎么样,可能因为公司小,第一个项目也还在开发中,我没感觉到开发方式变了之后大的变化。 随便说说了,估计公司的人也不会来这里逛逛。

跟我们公司情况差不多,一个跨境电商H5项目,最开始由我带着两同事一起使用 node+react 技术栈开发,后端java开发组纯粹做接口,但是接口做得稀烂,一堆无用冗余数据,导致前端交互响应速度那叫一个相当的慢,上线三个月后被技术总监强行废弃,使用传统的java ssh重新开发,回归到最原始的静态页面+jq,也跟楼主的情况类似,后端强行参与部分js交互业务开发,后端的js一堆坑自己填不平,从我们组调了一个人去填坑,填坑者痛不欲生

微服务+NodeJs,不应该是目前应付非CPU密集应用的典范吗? 项目可伸缩,前后端分离,进度管理同步运行,前端负责渲染,后端负责接口规范部署,定义中间规范,效率大大提高啊。即使人员配置后端多,我也建议学。不学习的SE,能叫SE吗?

回到顶部