API应用和web应用有什么区别?

最近学习beego,发现beego创建web项目试比较方便的,但是发现beego同时提供了bee api的一个功能来生成api应用,我不明白web应用和api的应用有什么区别?【问题1】
搜索了一些资料,有人说“不用开发web方式的后端,只要开发api方式的后端就行了”,这又是什么意思?【问题2】
如果可以的话举个例子就更好了,谢谢指点

阅读 6.7k
5 个回答

个人理解是这样

现在主流前后端分离就算是楼主说的api应用, 前后端使用api进行交互, 减少耦合, 前端通常使用ajax透过api拿到的资料绑定ui渲染, 后端透过熟悉的语言专负责逻辑以及资料提供相应api(资料),

web方式则是像楼上哥们说的一样, 自己用模板语言做视图, 资料或者表单在用调用程序去处理交互

记得好像在知乎的一篇文章看到“处理资料的才叫前端工程师, 搞显示页面的我们叫他切图仔” 以前端来说, 我想差不多就是楼主想了解的差别吧

web应用要自己用模板语言写页面,样式,脚本。
api应用只需要根据调用的API(url)和参数(get,post,headers)返回纯文本或者格式化XML,JSON的结果?

web应用是通过该程序,用户直接可以进行操作,说白点,可以理解为有可视的界面,Api应用相对用户来说只有数据,没有界面,界面展示部分需要另外的程序来做

“不用开发web方式的后端,只要开发api方式的后端就行了”这句话道出了前后端分离的初衷,你可以用后端语言来开发web前端应用,但这会加重后端的开发任务,而且使业务冗繁;相反,如果前端来做页面逻辑,后端只需要提供api数据就可以,不仅使业务清晰,而且明确了前后端的开发职责。

  1. 开发方面主要区别是一个提供完整的页面,一个只提供纯数据
  2. 说第2句话的人语文没学好。
    举个例子。

你现在要做个后台
传统web下你需要开发 很多个页面。需要写templates
而开发API的话
你只需要写业务逻辑。返回数据,不需要templates,不需要页面