-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
前端和后端如何构造才合理? #390
Comments
可能给你说一下俺们是怎么干的,会让你更清晰的认识到能用 FIS 做到如何的开发体验。 俺们在 FIS 的基础之上定制了一套方案 FIS-PLUS,你可以稍微了解一下,简称 fisp。 首先,来描述一下 fisp 的作用。fisp 选择用的模板是 Smarty 模板,其作用很多,比如可以很好的在开发阶段隔离前后端开发人员,因为它提供了一套完整的模板语言,前后端开发只需要通过模板数据来做连通的桥梁即可进行并行开发。那么,来想象一下具体开发,当开发之初,前端开发人员和后端开发人员商量好页面中需要哪些数据,商定以后前端开发人员就去写展示逻辑(页面),后端人员就去调用各种后端服务给数据,中间以 PHP 数组来传递数据。 从这样一个场景中不难发现,后端开发人员提供数据,调试只需要必要的一些输出接口就可以进行调试,最直接了当的就是
有了这两个功能,即可在模拟出一个完整的和线上一模一样的网站来。说到这里,大概你清楚 FIS 中是如何解决前后端开发的。 再来看联调,本身约定前后端依赖于模板数据,对于后端开发人员,最终把数据打到页面上,需要用同样的方式去渲染模板,那么联调时其关心的是模板在什么地方,静态资源在什么地方。那么正好,fisp 在编译完以后,会产出几个目录 这样,对于后端开发人员,渲染一个页面时到模板目录下去找文件就可以了。比如 fisp 中 $smarty->assign($data); // 这就是约定的模板数据
$smarty->display('page/home/index.tpl'); 在这个过程中,还需要综训一个规范,那么就前后约定的部署目录的部署规范。 那么在上面我说到了;
这样就实现了并行开发。 以上用 Smarty 是这样的,但是有一些框架下面,其 View 层紧密的和后端框架粘合在一起,做一个本地的模拟环境很不容易。所以,如果要解决这个问题,需要实现一个解耦的 View 层。 |
ok,我们先按照这个方向讨论一下,看看如何实施比较符合我们的开发习惯 thx! |
Mark |
目前比较困扰我们团队的问题就是
1 模版存放目录和资源发布目录不在同一个目录。前端工程师如何进行开发
2 模版分块以后,前端工程师如何维护?
首先:
后端对资源文件是不敏感的,可以直接生成在发布目录以下。
后端对tpl是敏感的,希望可以把这些控制在系统内部,不能发布到网站目录下。
后端对tpl是处理过的,加入了控制代码,include代码等等,希望前端能在处理后的基础上做维护。
前端对资源文件和tpl都是敏感的,希望能马上呈现最终结果
所以:
前端和后端都希望fis能使用处理过的tpl来release,并能放到view模版相应的目录。
这个是我们项目中用到的比较经典的目录架构
fis能做到吗?怎样做 ?
The text was updated successfully, but these errors were encountered: