来自新手的提问。 最近看到一些关于前后端分离的思索,有如下问题。 1.前端使用react,使用fetch向后端请求数据。这属于前后端分离吗? 2.前端使用react,是不是只能使用前后端分离策略。 3.底层使用springboot,然后由node访问数据传输到模板引擎渲染返回给前端。这属于前后端分离吗?这是不是就是把node作为中间层使用。 4.之前和朋友写过一个react小项目,发现完成一个业务逻辑可能要向后端发送n+n个请求,主观感觉有点慢。一般公司里是怎么处理这种情况的。
我简单说下我们的实践吧。
- ajax 请求数据,并由js 渲染页面。
- 前端使用 react 的话,建议使用前后端分离策略。
- 不属于
- 请看下面的实践。
第一阶段: 前端是一个独立的项目 ,你可以用vue 用 angular 用 react 去写 (对于 java 更推荐angular ,小项目推荐 vue) 此时建议使用CDN,将前端代码放在CDN上提高加载速度。 同时 angular的懒加载,以及 vue 的nust.js react 的next.js 都能提升首屏渲染速度。
第二阶段; 后端提供数据接口。建议使用 GraphQL ,一次性可拿到所有数据,减少数据请求。
第三阶段: dataloder 缓存等等。
后端参考项目: https://github.com/notadd/nt-module-user/tree/graphql-api
不过,我们直接用 nest.js 替代了 spring boot 。如果需要跟 java 通信,建议使用 Grpc 。