coolair
V2EX  ›  问与答

前后端分离是什么意思?

  •  
  •   coolair · Dec 31, 2016 · 8161 views
    This topic created in 3595 days ago, the information mentioned may be changed or developed.
    我原来一直以为就是前端写好 html 然后扔给后端,后端套上去就算是前后端分离了,比如, Python 下的 Web 框架基本就是这样, Jinja2 。
    后面看到一哥们说他写了个前后端分离的网站,后端全部是 restful ,然道,真正的前后端分离就是后端不写页面了?全部提供 API ,然后给前端,前端用 React 、 Vue 之类的框架去调数据?
    15 replies  •  2017-01-01 10:15:33 +08:00
    holyghost
    holyghost
    Dec 31, 2016❤️1
    1
    总觉得这是一种因为前端工作量不饱和而产生的技术。
    showonne
    showonne
    Dec 31, 2016
    2
    是的,前端只负责视图的渲染模板和样式,后端负责为前端提供 API 。
    zdkmygod
    zdkmygod
    Dec 31, 2016
    3
    类似客户端程序,前端发起 Ajax 请求直接调用后端 API 。
    kingcos
    kingcos
    Dec 31, 2016 via iPhone
    4
    最近刚好有在学习……
    后端只负责提供 RESTful API ,
    前端可以用 Ajax 调用,
    移动端也可以调用。
    我在写一个课设,
    前端准备用 Vue.js ,后端 Spring Boot … 移动端未来再写
    可我总是感觉前端东西太多太活了……不好速成……😂
    不过这样分离的挺好的……虽然这个课设全都是我一个人写……
    但我也讨厌 JSP 这种 HTML 里嵌套 Java 代码。。
    Tink
    Tink
    Dec 31, 2016 via iPhone
    5
    对
    gdtv
    gdtv
    Dec 31, 2016
    6
    前后端分离, SEO 怎么办?
    bigzhu
    bigzhu
    Dec 31, 2016 via Android❤️1
    7
    @gdtv vuejs 有 ssr 模块,也有一些其他方案。
    caixiexin
    caixiexin
    Dec 31, 2016
    8
    简单的说就是原来的页面渲染工作丢给前端去做。
    以前页面渲染的工作是服务端完成的,由后端语言的页面模板( jsp 、 jinjia2 什么的)+数据渲染 html 。
    前后端分离后,变成浏览器从服务端取回 restful api 数据(一般是 json ),再前端模板渲染成 html 。
    SEO 嘛,好像没有很好的解决方案? 所以一般完全使用前后端分离的都是单页应用( SPA ),电商、门户之类的,还是用后端渲染的多。
    hoichallenger
    hoichallenger
    Dec 31, 2016 via Android
    9
    我一直想知道,前后端分离用英语怎么说。
    viko16
    viko16
    Dec 31, 2016 via Android
    10
    @gdtv 在 node 端做
    ChefIsAwesome
    ChefIsAwesome
    Dec 31, 2016
    11
    就是后端给 api ,客户端渲染。完全的前后端分离也是一步一步发展过来的。

    1.就算是以内容为主的网站,内容也已经是客户端渲染的了:
    想想现在大部分网站上面,内容列表的翻页、滚动加载,是不是都是客户端 ajax 去调接口,然后在客户端渲染的?主体内容都是客户端渲染的了,后端光渲染个导航栏什么的,意义也不大。

    2.后端只能提供数据,不能实现交互。
    比方讲要实现一个下拉选择框,如果是后端渲染,那么实现是这样的:后端生成下拉框的内容,这部分内容在页面加载的时候是被隐藏的。客户端在页面加载之后,读取这部分内容,再通过 js 生成下拉框。这样的过程里,后端只起到了提供数据的作用,它是在页面里渲染了 html 还是渲染了一个 json 没有区别。交互性越强的网页,需要通过 js 生成的组件越多,与其后端往页面里头塞数据,不如直接客户端通过 api 去请求数据了。
    changwei
    changwei
    Dec 31, 2016 via Android
    12
    我觉得楼主可以和一些从未接触过后端开发的前端一起做一个小项目,然后就能理解为什么要前后端分离了。

    很多时候套模板引擎,修改 url ,各种杂事情都要交给后端来做,如果需求改来改去,你会爆炸的。
    murmur
    murmur
    Dec 31, 2016
    14
    你知道就行,分离不分离,前端都要兼职一点后端的工作
    前端你做完就需要 ajax 接口了是吧。。那接口顺便你也写了好了
    这东西是方便维护 可以复用接口 但是并不减少前端的工作
    phpdever
    phpdever
    Jan 1, 2017
    15
    楼主,你理解的叫前后端分开,而不是前后端分离。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5104 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 01:18 · PVG 09:18 · LAX 17:18 · JFK 20:18
    ♥ Do have faith in what you're doing.