如何开发前后端分离的系统?

前后端分离开发已成IT领域的大势所趋,RESTFul API开发作为前后端分离最成熟的解决方案,什么前提选择使用?有哪些优势?在开发RESTFul API的系统中会遭遇哪些难题?参与话题,深入了解前后端分离系统的开发
本期嘉宾
全部回答
提问18回答51

来自 Java3个回答

什么时候选择前后端分离的开发模式?

最赞的回答

在开发过程中相信大家经常会遇到一个问题, android端、ios端、pc端、 后台管理系统如果使用传统的mvc开发模式, 只要页面不一样 我们都得给对应的系统写一套后台, 而且很多页面还需要后端去填充数据到html中、 但是前后端分离的开发模式我们只需要把接口写好, 其余都不用管让前端去协调各个接口之间如何配合。 这种模式最大的好处就是适应性很强。 当然还有个很大的好处就是前端不用再等待将页面写好了然后交给后端, 然后后端再将代码改成模板语言了, 当然如果前端熟悉后端模板语法, 后端当然就很喜欢了, 但是前端往往不愿意去学习后端的模板语法,更喜欢用前端自己的模板语法。 前后端分离解决了这个问题但是Restful api还是有缺点, 最大的问题就是seo, 爬虫爬不到, 百度就会给你降权, 对于那种需要流量的网站来说,这个是不太接受的, 所以后面就有了ssr技术, 在服务器端渲染好静态页面直接给前端, 这篇爬虫就能爬取到了, 而且有些系统比如内部系统或者后台管理系统这种根本就不在乎seo的直接就用restful api开发就行了。除了上面的问题以外还有就是数据格式依赖严重, 如果后端改了某个字段的名称, 前端也得跟着改, 在以前这种改动后端自己就可以一个人完成,但是分离之后得前端去改了, 如果返回格式变了,前端变动更大。 还有就是文档变得很重要了我们得去维护文档了,因为前后端分离脱离了文档,后期想维护能麻烦死。不管如何前后端虽然有缺点,但是由于优点很明显,当然聪明的程序员会去慢慢解决这些缺点而让这种开发模式越来越流行

来自 Html5 Node.js Vue.js2个回答

ssr 与 传统套模板的区别是什么?

最赞的回答

SSR 技术术语是 service side render,服务端渲染。与传统套模版区别:1. SSR属于前后端分离领域才出现的,服务器端渲染(ssr)与 node 中间层是同一个概念。服务器端渲染(ssr)一般特指,在上 node 中间层基础上,加上前端组件化技术在服务器上的渲染,特别是 react 和 vue。2. SSR主要解决的优化首屏加载的问题与首屏SEO,区别与模版渲染的整体项目加载。其中对比传统模版渲染,首屏加载是要快不少的,而与前后端分离的纯客户端渲染对比,SSR首屏的用户体验更好,提前加载HTML数据结构,以及优化SEO。

来自 Java3个回答

restful api开发框架有哪些优势?

最赞的回答

首先需要明确一下你的问题的意图:    1. 你是想问restful api开发模式相对传统开发模式的优势?    2. 你是想问用resful api框架相对传统mvc(mtv)开发框架的优势?我这里先假设你问题是第二问题, 如果想要知道restful api开发框架的优势, 那就大了去了, 要搞懂为啥优势大, 就需要知道传统开发模式转restful api开发模式需要解决哪些问题? resful api开发模式相对传统模式不是大家以为的只是增加了增删改查的功能而已, 增删改查哪个框架都能做, restful api不是传统的模式变成json返回就行了, restful api开发是一整套开发理念比如 用put get post patch来代表操作的目的, 第二所有的数据全部用json返回, 这里就设计到将所有数据转换为json, 只是这项功能里面还包括了如果遇到image file等这种类型的字段我们需要加上完整的域名? 还有我们需要去处理restful api开发的返回消息的规范性? 还有作为一个restful api后台我们需要同时能处理用户传输过来的json数据 , 那如果用户传输用xml呢 如果用yml呢? 如果用户直接用html的form表单提交呢, 这些你怎么办? 还有些分页的处理也会有区别, 问题太多了, 如果是只是简单的写几个json返回当然用传统的开发模式就行, 但是那不是restful api开发模式, restful api开发是一整套开发规范, 这些用传统的框架肯定都能做出来, 但是工作量有多大呢?

来自 Java Node.js PHP2个回答

前后端分离如何解决SEO的问题?

已采纳回答

前后端不分离的传统做法就是后端套前端提供的模板,ssr的话可以用vue提供的方案,vuejs官网有教程

来自 Java8个回答

restful api 是什么东西,是软件吗

已采纳回答

REST官方说法叫表述性状态传递,它是一种资源传递方式。API就是应用程序调用接口。就是提供REST方式的应用程序让开发人员去调用。或者开发出一套rest风格的应用程序

来自 C#8个回答

asp.net的mvc框架,是否能实现前后端分离?

已采纳回答

当然能, 如果只是把前后端分离理解为json返回 当然所有的web框架都能轻松做到, 但是正如楼下同学说的 前后端分离是一种开发模式, 没有技术难点, restful api则是前后端分离开发的一种开发规范, 并不是什么技术。 如果要用restful api开发的话 作为一个初学者建议从相应的框架开始, 你很快会发现和mvc开发模式相比 只是数据交互方式不一样而已, 其余都是一样的, 所以切换是非常容易的

来自 AngularJS Java4个回答

到底什么是前后端分离?有什么清晰的界限吗?目前大概知道JSON和RESTful两个方案,还有其它的吗?

来自 Java Vue.js3个回答

Java 如何做前后端分离,有没有好的技术栈?

最赞的回答

mvc结构,

来自 Java JavaScript3个回答

前后端分离登录状态与权限检验

最赞的回答

前后端分离的系统 状态一般保存在客户端, 不管是session 还是jwt都是将数据保存在本地, 然后服务器通过这些token验证是否有效以及过期就行了。 数据的安全性看什么级别了, 一般相应的包括权限, 数据加密等技术

来自 Python2个回答

前后端分离中,如何维护庞大的API文档以及API测试?

已采纳回答

第一个问题不好说,很多项目甚至没文档,但并不意味着代码难读好的单元测试代码应该在设计接口之后,写实现之前,代码都写完了再去写测试,很多时候都会只验证正确的结果,所有才有了一种实践 TDD 测试驱动开发

来自 JavaScript PHP3个回答

前后端分离怎么好的实现登录?

已采纳回答

前端提交登录表单数据给后端API,后端API那到提交的数据,先进行数据过滤,在用提交的帐号密码生产token返回给前端,前端之后用这个token请求后端其他API

来自 PHP2个回答

对于TP框架,是否可以在前后端分离中有更好的方式

最赞的回答

tp框架就是mvc分离,你如果要前后端分离的话,就是把模板 v 从mvc中分离出去;想以前是c层拿到数据后,v还要写对应的模板变量去接收c层的数据,然后c层用dispaly() 或者 fetch() 去渲染v的模板,最后渲染好的v再返回浏览器。现在前后端分离的话,就不用c层去拿数据填充到v层了,c层直接把v返回到浏览器,v再通过ajax去对应的api拿需要的数据。这时候,在服务端的话就要写controller 和model了,前端v层的就交给前端去做,随便用react vue angular 或者其他js框架都行。

来自 Node.js1个回答

后台开接口,前端用node做路由渲染页面这种模式算是前后完全分离了吧?

最赞的回答

算是, 前后端用什么技术和语言不重要, 主要是返回不再像传统的开发模式一样直接返回html, 而且页面直接由前端技术来渲染就是前后端分离

来自 MongoDB Node.js React.JS1个回答

RESTful vs GraphQL

已采纳回答

前景应该不错, 但是目前来说如果从找工作的角度来看的话, 要超过restful api应该还需要一段时间,毕竟目前开发人员已经接受了restful api的开发模式, GraphQL虽然理念新, 但是相关框架是否成熟以及是否有前端开发人员配合都需要时间,还有就是这种开发模式是否还是有对应的坑,都需要观察。 从自身的角度来看最好先将restful api开发模式学好, 然后自己尝试GraphQL开发模式, 毕竟graphql的提出也是因为restful api的开发模式中的不足才提出来的, 所以对于自身来说先自己体验好restful开发模式, 等到自己真正体验好了不足以后再去学习graphql会动力十足。 毕竟github也开始使用graphql了。

来自 Vue.js 前端工具2个回答

老师,你认为前后端分离的意义大吗?意味着什么?

来自 Java1个回答

在开发RESTFul API的系统中有哪些难点?求教避坑!

最赞的回答

没有什么技术上的难点, 重要的是开发模式的转变可能需要你适应一下, 但是当你用熟练之后, 你自然就会知道什么时候该用什么模式开发了

来自 Java 前端工具2个回答

restful api开发框架怎么选?

最赞的回答

看你熟悉的语言和已有的框架了 比如你熟悉java就选java对应的框架 如果你熟悉python就选择基于python里面最你熟悉的框架开发的restful api开发框架就行了, 选择一个最成熟的框架, 最重要的是开始用, 而不是一直徘徊在要不要用以及用什么框架

来自 Java PHP1个回答

后端API设计

我要提问