软件开发中前端和后端如何协同开发和集成?
现在通过我的经验,来给你讲一讲前端和后端如何协同开发和集成。
前端和后端都会遵照一套数据模型定义。前段在开发的时候,会利用模拟数据进行开发。前端在开发的时候就不需要依赖后端的API。
这些模拟数据一般来自于内存数据库,就是使用真正的API接口来获取数据,只不过这个数据不是从远程服务器上获取,而是通过本地的内存数据库来获取。
这样子开发出来的前端,几乎可以无缝的与后端API进行集成。
当然需要一个参数变量,或者环境变量来设置是开发环境还是生产环境。如果是开发环境,就直接获取本地内存数据库。如果是生产环境,则调用远程数据接口。
接下来说一下后端。
后端开发要与前端完全分开,最好要使用rest API。这样子可以使每个接口不存在状态的记录,属于无状态API。
这样的API可以让任何的终端调用。
因此测试这样的API,可以使用任何程序。一般常用的比如,一些浏览器插件postman,rest client。也可以使用一些独立的程序。只要可以进行HTTP的get,post ,patch, delete, put等操作就可以了。
一般过程是这样子的,装好插件或者程序以后,如果需要的话,设定输入参数, 然后进行相关的HTTP操作。再查看返回结果。根据返回结果进行调试。
这样子后端就开发完成了。
在这个过程中,不需要前端的参与。
假设前端的开发任务已经完成,后端的开发任务也已经完成。两者需要真正的集成测试一下。
那么前端这一部分只需要打开生产环境变量就可以了。
现在的前后端开发一般都是这么一个流程。
如果你用的比较老的开发模式,比如ASP dot net mvc或者spring mvc这种前后端,放在一起的。那就边开发边集成。不存在前后端分开的问题。
后面这种模式,开发起来比较麻烦。如果一个程序员,只懂的后端,比如c sharp或者Java。他只能等着一个懂JavaScript, html, css的程序员来做页面部分。在页面部分要对API进行调用。
这个调用的框架准备好以后,后端才可以放开手脚,进行开发和测试。
这里面会造成一些时间上的浪费,和工作上的瓶颈。开发效率不是很高。
除非团队里的程序员都是全栈的程序员。既可以写页面,也可以写后端编程和数据库访问交互。这样子对程序员的要求有点高。一般来说不太现实。
总的来说,现在业界比较推崇前端和后端分开的方式来进行开发。这样子开发的好处就是,前端工程师和后端工程师,分的比较开,招人的成本和花的时间都还过得去。
但是有一点,整个项目必须有一个既懂前端又懂后端的架构师或者首席程序员来把握全局。否则会比较麻烦。关于这一点,我们在以后的讨论中可以进行深入探讨。
好,这个问题就先说这些吧,可以给我留言,我们可以深入讨论,欢迎关注,谢谢。