现在前后端分离是主流了吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
onice
V2EX    程序员

现在前后端分离是主流了吗?

  •  
  •   onice 2018-09-24 12:15:38 +08:00 16549 次点击
    这是一个创建于 2609 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问下大家,现在前后端分离是主流了吗?

    现在有个项目,正在进行技术选型阶段,在考虑要不要前后端分离,前后端分离有什么好处呢?

    还有个疑问是现在前端人手不够,可能要后端亲自上阵,前后端分离的话,哪些技术对后端来说比较容易。后端的主要技术栈是 Java 和 Python。

    谢谢大家。

    62 条回复    2019-10-31 14:05:39 +08:00
    lsido
        1
    lsido  
       2018-09-24 12:20:26 +08:00 via Android
    应该正在趋向主流,但还不是主流
    linbiaye
        2
    linbiaye  
       2018-09-24 12:23:38 +08:00   3
    java 系的上 angular.
    mmdsun
        3
    mmdsun  
       2018-09-24 13:12:01 +08:00 via Android
    主流。我们这都是
    Hilong
        4
    Hilong  
       2018-09-24 13:16:56 +08:00 via Android
    上海这边应该是主流了,现在客户端性能强大了。很多工作可以放到前端来做了。后端不是和以前一样的写嘛。写写接口就好了啊
    2379920898
        5
    2379920898  
       2018-09-24 13:20:42 +08:00
    分场景啊,ERP 你前后端分离试试呗
    javacodecreeks
        6
    javacodecreeks  
       2018-09-24 13:20:56 +08:00 via iPhone
    这是一个趋势,而且用在微服务项目里的话,非常适合!可以各司其职提高开发效率,但是带来了接口测试成本,如果后端用 Java 的话,可以用 swagger 向前端暴露自己的接口
    duan602728596
        7
    duan602728596  
       2018-09-24 13:46:39 +08:00 via iPhone
    没错,可以这么干,开发很舒服的
    SorcererXW
        8
    SorcererXW  
       2018-09-24 14:22:20 +08:00 via Android
    如果要同时兼容前端和移动端,前后端分离很重要
    janxin
        9
    janxin  
       2018-09-24 14:26:32 +08:00   1
    互联网化项目肯定是一个好选择,传统软件项目未必是一个好选择。
    前后分离的场景更加适用于业务不停发展变化的互联网业务,前端的变更需要更加快速,超过了后端的业务变化速度才能体现出比较大的优势。
    enjoyCoding
        10
    enjoyCoding  
       2018-09-24 14:29:43 +08:00 via iPhone
    如果考虑到服务端渲染的话还是不要前后端分离了吧 毕竟前端比较少。
    NicholasYX
        11
    NicholasYX  
       2018-09-24 14:32:21 +08:00 via iPhone
    目前我们着是这样 客户端又后台提供接口 其他前端来做
    后台管理部分全部又后台来做
    way2create
        12
    way2create  
       2018-09-24 15:15:33 +08:00
    可惜我们公司前端水平太差了 比我个后端还差
    PHPer233
        13
    PHPer233  
       2018-09-24 15:18:54 +08:00 via iPhone
    前端能做的事情就不要让后端做。
    sudoz
        14
    sudoz  
       2018-09-24 15:31:35 +08:00
    @linbiaye #2
    前后端分离,后端还分 Java PHP ??你倒是说说为什么后端 Java,前端就要用 Angular ?
    linbiaye
        15
    linbiaye  
       2018-09-24 15:39:29 +08:00   3
    @sudoz 你会错意了,没有说后端 java,前端就要 angular。对于后端程序员来说,如果熟悉 java 的那一套,上手 angular 容易。angular 才是 framework, 各种常用的组件都给你准备好了; vue, react 都只是 library,需要自己倒腾其它的 library。
    cyberpoint
        16
    cyberpoint  
       2018-09-24 15:46:59 +08:00
    是的,反正深圳这边是这样的。但是分离后安全性可能降低,所以会结合 ssr。
    还有一个分离之后的 pwa 也能加速用户体验。
    wizardforcel
        17
    wizardforcel  
       2018-09-24 15:57:47 +08:00 via Android
    好处是只写一种接口。坏处是可能要多一些人手。
    karllynn
        18
    karllynn  
       2018-09-24 17:18:12 +08:00
    3 年前就分开了=,=

    不过写一些控制台之类的小玩意儿不分开也行
    xuanbg
        19
    xuanbg  
       2018-09-24 17:18:27 +08:00
    @2379920898 ERP 更容易前后端分离呀,SPA 不就是基于浏览器的客户端么?
    dumbass
        20
    dumbass  
       2018-09-24 21:19:24 +08:00 via iPhone
    jQ 一把梭
    nyaapass
        21
    nyaapass  
       2018-09-24 22:12:37 +08:00   2
    前后端架构分离, 但开发人员不分离比较好, 不然每天撕不完的逼
    heww     22
    heww  
       2018-09-24 22:20:48 +08:00
    难道不是主流吗?我们在 2014 年时就前后端分离了,那个时候我们觉得自己分离的还不够早。
    FakeLeung
        23
    FakeLeung  
       2018-09-24 22:23:07 +08:00 via Android
    不分离会疯的。。。
    youngxhui
        24
    youngxhui  
       2018-09-24 22:24:33 +08:00 via Android
    angular
    aimiyooo
        25
    aimiyooo  
       2018-09-24 22:39:54 +08:00
    Django+vue
    LokiSharp
        26
    LokiSharp  
       2018-09-24 22:59:51 +08:00 via iPhone
    Flask+React
    leekafai
        27
    leekafai  
       2018-09-24 23:10:51 +08:00 via Android
    好处就是后端逻辑与页面显示完全解耦,这个我认为还是很重要的,起码现在看到 jsp,php,ftl 什么的,碰都不想碰,因为很大机会能在里面看到:html×css×js×后端语言,这个改起来头很大。就算用户群是 ie8,可以加上 ssr 的库来渲染 html 吐出,但无论如何,语言混写的问题还是能有效避免
    akira
        28
    akira  
       2018-09-24 23:11:53 +08:00
    分离以后 后端是接口为主,什么语言都有成熟方案的啦
    endlessing
        29
    endlessing  
       2018-09-24 23:20:51 +08:00
    是主流,不然现在前端 vue,react 和 angular 怎么会那么火
    leyle
        30
    leyle  
       2018-09-24 23:55:19 +08:00
    写一次接口,各个平台都可用。
    johnniang
        31
    johnniang  
       2018-09-24 23:58:39 +08:00 via Android
    主要是一次编写,到处调用的感觉很爽
    sampeng
        32
    sampeng  
       2018-09-25 00:36:55 +08:00 via iPhone
    如果你一起就 3-4 个人。别自己折腾自己。前后端分离是有沟通成本的。其他倒无所谓
    PythonAnswer
        33
    PythonAnswer  
       2018-09-25 07:32:38 +08:00 via iPhone
    做的都是内部小项目,工具服务。全部后端框架搞定。
    zcxj138
        34
    zcxj138  
       2018-09-25 09:01:55 +08:00
    如果人手不够的话,就别弄分离了,会搞崩溃的。
    keepfool
        35
    keepfool  
       2018-09-25 09:03:21 +08:00
    两年前就是主流了吧。。。
    log4geek
        36
    log4geek  
       2018-09-25 09:21:47 +08:00
    这么干两三年了,现在不是前后端分离的公司基本上不考虑了。
    anmie
        37
    anmie  
       2018-09-25 09:23:52 +08:00
    看情况,前后端分离适用于 cms 这种便应用向的 web 项目,比如官网这种内容展示型的网站,还是服务端渲染好一些,这些项目从页面加载速度和 seo 的角度考虑,前后端分离真的不是一个特别好的选择
    ranwu
        38
    ranwu  
       2018-09-25 09:25:57 +08:00
    看项目大小
    buwanju
        39
    buwanju  
       2018-09-25 09:27:18 +08:00
    五六年前就开始了, 你现在才知道。赶紧的吧。
    diveIntoWork
        40
    diveIntoWork  
       2018-09-25 09:42:47 +08:00
    @2379920898 ERP 为啥不适合前后端分离呀
    xcjx
        41
    xcjx  
       2018-09-25 09:42:51 +08:00
    我以为我穿越了……大兄弟,你是不是看的古书,入的行……
    ochatokori
        42
    ochatokori  
       2018-09-25 09:53:18 +08:00 via Android
    前端人手不足,不是必要就前后端不要分离了(分离之后前端工作量↑,总工作量也多很多)不分离又不是不能用,客户又不会管你分不分离
    keikeizhang
        43
    keikeizhang  
       2018-09-25 09:54:10 +08:00
    16 年就已经分离了
    luvxy
        44
    luvxy  
       2018-09-25 09:57:20 +08:00 via iPhone   1
    前端表示最好 vue,angular 感觉借助了 java 等后台的一些东西,但入门门槛高点,vue,angular,react 其实用哪个都可以,一般的项目根本不用想太多,还不是个 js,vue 的话我是觉得上手快
    Deeer
        45
    Deeer &nsp;
       2018-09-25 10:00:13 +08:00
    前后端分离不是老早老早的事情了吗
    linuxchild
        46
    linuxchild  
       2018-09-25 10:03:53 +08:00
    前边各种改的话,自然还是分离的好,常年没变化的,咋样都行
    heiyantutu
        47
    heiyantutu  
       2018-09-25 10:05:57 +08:00
    现在都流行 前后端同构了。。
    xoxo419
        48
    xoxo419  
       2018-09-25 10:06:24 +08:00
    PC 端也都分离么? 分离之后的 SEO 呢.
    Kei
        49
    Kei  
       2018-09-25 10:11:14 +08:00
    但前后端都要做数据校验这一点是个痛点
    TustMan
        50
    TustMan  
       2018-09-25 10:38:26 +08:00
    Vue + Spring Boot 吧 后端开发者看完 vue 文档,也基本能写的
    shuperjolly
        51
    shuperjolly  
       2018-09-25 10:39:29 +08:00 via iPhone
    分离是业务内容分离,业务员又不是一定要分离的
    abc635073826
        52
    abc635073826  
       2018-09-25 10:42:13 +08:00
    java 推荐 angular,python 选择 Django 和 flask
    iloveyou
        53
    iloveyou  
       2018-09-25 10:47:57 +08:00
    现在都不考虑 seo 了吗?
    ifconfig
        54
    ifconfig  
       2018-09-25 10:55:16 +08:00
    根据场景划分。

    1 )一般的企业超级后台管理系统分离意义不大,毕竟像很多后端框架已经集成了 auth 和很多 packpage,能很快针对运营同时的需求做出快速响应。比如:迭代小需求,快速修复 bug 马上上线。

    2 )目前我们前后分离的场景有:高并发活动营销 H5,客户类后台(最大化美观及可维护)
    Muninn
        55
    Muninn  
       2018-09-25 11:27:00 +08:00
    现在前端好写,后端看看文档也能行,

    但是你永远也学不会 css 的。
    2379920898
        56
    2379920898  
       2018-09-25 11:57:23 +08:00
    不知道啊。感觉不合适
    ben1024
        57
    ben1024  
       2018-09-25 12:38:16 +08:00
    分离看公司规模和场景,盲目跟风搞分离只会问题更多
    ebony0319
        58
    ebony0319  
       2018-09-25 12:41:21 +08:00 via Android
    我个人觉得最大的改变是前端已经有自己的一套体系了。以前写 mvc,又要考虑数据,又要考虑界面。现在只需要数据驱动。第二点就是快,性能真的提升了 n 倍。如果一定要考虑 seo 也可以多页面,是一样的。
    flyingghost
        59
    flyingghost  
       2018-09-25 22:06:36 +08:00
    说到 SEO,我们是这样做的:
    针对 google,不需要额外做任何事。google 会执行前端 js 得到最终渲染页面。
    针对 baidu 等一票愚蠢蜘蛛,额外输出了一套平凡版页面,只有内容,以及一些语义标签,没有任何样式。
    据说 baidu 有一条原则是不允许人类版页面和蜘蛛版页面有差异,为了打击黑色 SEO。
    但我们似乎并没有发现目前做法有被歧视。

    仅供参考,也希望内行人士能确切指点这样做是否合适。
    zhangalong69
        60
    zhangalong69  
       2018-09-27 16:56:33 +08:00
    @Muninn 太真实了吧
    youcanwin8099
        61
    youcanwin8099  
       2019-10-28 15:19:33 +08:00
    @janxin 这个说的很对,很理性。
    youcanwin8099
        62
    youcanwin8099  
       2019-10-31 14:05:39 +08:00
    @NicholasYX “目前我们着是这样 客户端由后台提供接口, 其他前端来做,后台管理页面全部由后台来做”。
    我觉得这种分工是比较合理的。客户端应该确切的讲,比如 APP、微信页面、前端综合网页(不是纯粹后台管理端网页的那种)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1546 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:25 PVG 00:25 LAX 08:25 JFK 11:25
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86