大家好,本人水平很菜,有些疑问请各位解惑.
目前学习 yii2 框架,yii2 自带了 html 类.能够很方便的输出页面.这在不考虑前端复杂交互需求的情况下,会比较方便开发.
但是如果使用了 react 之类的前端开发方式,我有些疑问想请有经验的朋友解答下.
请问
基于 yii2 的项目,如果前端使用 react,那么这个时候 yii 是不是只是起到了数据处理的功能.比如 js 请求 yii 的 rest,api. 这样的时候后端,数据验证等等是后端自己的逻辑,前端的各类验证等等也就彻底独立开了. 不知道我这个理解对吗?
如果 1 问题正确的话, 那其实后端是否使用 yii,或者我换成 laravel,再活着我换成 python 等等.都已经不重要了,具体用那种语言实现后端就看自己能力和实际情况了对吗?
不扯远的回到后端 php,前端 react. 这样的组合,后端提供数据目前比较流行的方式就是基于 rest 的 api 对吗?
如果 3 正确,那么前端,每次请求都需要去验证当前账户身份对吗?(不考虑资源本身就开放的情况) 这样的结果,和 php 输出 html 相比,那种更好点呢?(服务器硬件能力的情况下)
react 的组件可能是 n 个组件的组合,多页面应用的情况下,当一个页面中包含 N 个 react 的组件的时候,如果每个组件都需要请求后端数据,那么是不是这个页面就会发起 N 次请求? 这样的情况下,是不是可以针对当前页面专门写个 api 的方法,实现一次请求返回所需的所有数据?这个思路可行吗?
如果 web 只是一种客户端,以后想扩展 app 或者微信等等,这些 api 将来的复用性有多大? 100%吗?
目前水平很菜,但是如果我打算搞一个会坚持 N 年的项目,我现在考虑的这种开发方式,在以后会方便重构或者后台直接请大神换成其他语言,或者前端新增一个微信之后的下个超级 app 的客户端吗?
当然这些问题,如果自己动手的话,肯定慢慢的都会有结果,只是希望开始动手前现有个大概的整体认识,所以来做伸手党了,多谢各位分享经验.
谢谢.
1
oott123 2016-08-18 21:14:34 +08:00
1. 对
2. 对 3. 对 4. 直接输出 html 也需要每次都验证,所以在这点上两者没区别 5. 可行 6. 99.99% 吧 7. 方便 总之楼主的理解基本没问题,加油 |
2
oott123 2016-08-18 21:19:05 +08:00
补一点
第五个问题里,最好的办法不是针对每个页面都专门写一个 api 来获取所有的数据 而是写一个一次能处理很多个 api 请求的通用 api ,然后后端处理完后一起返回 前端在 api 层面做点优化,等待几个请求一起发出去即可 |