1.我目前了解的情况:不管是java的mvc,还是.net mvc。或多或少都会在前端页面写java或C#代码,这还算不算前后端分离呢?如果不是,那真正的前后端分离一般怎么做呢?纯json/xml方式填充数据?
我经验有限,请大家解答解答我这个疑问。
说道这个问题,我来发表一下。
前后端分离的概念就是楼上们说的 “调接口与前端展示数据跟数据交互”,后端给前端专门写接口,至于数据格式自己定,如果处理的好未必一定说是要用json,只是json是目前数据交互上比较好的。接口数据都有了,那么接下来就是前端数据的展示,前提你要有自己的数据解析库。因为这样数据展示就容易。你可以自己封装,但现有相对好的数据引擎库有AngularJS 、vueJS、Template7等,同时html模板引擎也需要,这样写页面就可以模块化开发。可以自己写,也可以用现成的,比如jade、React等。数据展示好了,最后就是数据交互了,用ajax就可以了,所以你必须得对ajax了解。至于其他的所谓跨域问题,那都是可以跟后端协商的,一般都是后端需要处理,要是用到jsonp格式,前端就要协助一下写个调用函数就可以。
真正的前后端分离是可以实现跨域的,跨服务器发布的
一般都是用restful的api
类似web api那样吗?对于传统的PC网站系统,这样做是不是很少?
@txworld: 一般存在多端共用接口的时候这样做的多,因为可以复用代码,比如pc端 app端等
如果只是pc网站的话,前后端分离开发起来会麻烦很多
@刘宏玺: 明白了,谢谢。
@刘宏玺: 评论测试
@txworld: /
除非用js脚本完全控制数据的获取和请求,否则还真做不到完全分离。
好的,谢谢。
前后端分离, 就是不用在前端页面写java或者c#代码, 只提供接口给前端访问, 我们前端用的node.js,nginx部署的
好的,谢谢。
我能说我写了3年接口了吗.
就是前端做页面我做接口他调用.
基本上都是前端在控制器调用内部服务接口.这种方式
感觉接口很常见,只是一直没接触到这类的开发。
@txworld: 别想的太复杂.就是写一个接口让别人调用就是.
用框架,spring mvc,前端看框架 ember,vuejs
好的,谢谢。
不需要在前端写java或c#代码 前端只需要使用一些优秀的框架 后台做接口即可
好的,谢谢。
前端就是一个静态html站点,后台一个web api站点。
好的,谢谢。
javaMVC不了解,.NETMVC框架灵活性很高,想怎么用怎么用,可能相同公司不同的开发团队使用mvc中的功能模块还不太一样。举个简单浅显的例子:.NET MVC中可以在cshtml中全部写html,然后通过ajax 来访问控制器。也可以通过view-model这样的方式进行前后台数据交互。甚至像楼主说的可以直接将后台代码,例如sql查询直接写在cshtml中。都没有关系的,只要你能够满足你公司的需求就OK。
看你怎么定义前端和后端了,看下我的项目吧
http://git.oschina.net/lishilei0523/ShSoft.UAC
后台与前端讨论确定数据结构,后台负责写通用灵活的接口,前端AngularJs完美实现。前后端作业分离。
个人认为,前后端分离 就是前端有基于页面独立的路由映射 (类似vue那种的) 后端仅提供数据接口、服务什么的