我的一位同事前几天提出了挑战。问题:解决人力资源管理中常见问题之一即。将ppl分配给项目。一个警告是我们必须使用我们都没有使用的技术这样做。因此,我们开始使用MEAN堆栈构建此项目。到目前为止,它一直是一个有趣的学习经历,但它让我感到疑惑。
我们在什么时候决定服务器端MVC渲染胜过客户端MVC渲染。我们使用的大多数客户已经有一个IIS运行的实例,所以我们将使用asp.net MVC,它显然将在服务器端进行大部分HTML渲染。即使将angular与节点结合使用,HTML呈现也是服务器端。
但是如果我们将IIS与IIS结合起来,我们可以进行完整的客户端HTML呈现。其他人在什么时候决定使用Client vs Server HTML Rendering?是否存在移动平台缓慢的问题?
社群说什么是每种情景的利弊?
感谢您的想法!
答案 0 :(得分:4)
我已经在客户端和服务器之间进行了纯粹的分离。我的服务器堆栈依赖于PHP(使用PDO和ph-pass)和MySQL来实现持久性。我认为的主要优点是视图/表示与服务器端逻辑的完全解耦。在我的应用程序中绝对清楚的是,PHP生成数据并将其格式化为JSON并接受JSON格式的参数,但与显示无关(它只是创建易于在前端解析的数据结构)。
在前端,我使用AngularJS,UI Bootstrap(用于引导程序的角度包装器),Google Maps V3 Javascript api(包含在角度指令中)和D3js(再次包含在角度指令中)。
我参与过的几个网站在移动设备上并没有真正遇到任何问题......即使在前端进行了一些非常繁重的数据处理......我在客户端进行了所有过滤和一些聚合操作用于在地图上显示可过滤标记并绘制一些图表的代码。不幸的是,我现在提到的应用程序大约需要一周才能上线,因此我无法显示ATM链接。
这是我的主要网站,这个不依赖于任何PHP所以所有Angular: http://www.intellectual-tech.com
您还可以查看投资组合网站和http://www.shanklandfinancial.com我只用AngularJS做了所有这些,而且没有服务器端代码。依赖于数据库但仍为WIP的网站是http://www.eat-data.org
最长的延迟仍然是在gzipping之后获取60kb范围内的初始数据。在移动设备上谷歌地图拖了很多东西,CSS动画不顺畅/快速,但一切都仍然可用。
另一个好处是,如果在某些时候我认为AngularJS不是可行的方式,或者客户端想要本机应用程序,服务器端代码完全可以重复使用而无需修改。
我真正看到的唯一不利因素是客户是否想要导出视图我真的没有办法做到这一点...我最近使用PHPExcel库将数据输出为XLSX文件但是在图表等方面,我的服务器代码中没有任何东西是如此花哨,如果需要,则需要大修。也就是说我认为将打印机友好页面“打印到PDF”无法解决这个问题并不是真正的问题。