5

前几天我的一位同事提出了一个挑战。问题:解决我们人力资源管理的常见问题之一,即。将 ppl 分配给项目。需要注意的是,我们必须使用一种我们都没有使用过的技术来做到这一点。所以我们开始使用 MEAN 堆栈构建这个项目。到目前为止,这是一次有趣的学习经历,但我想知道。

我们在什么时候决定服务器端 MVC 渲染胜过客户端 MVC 渲染。与我们合作的大多数客户已经在某个地方运行了一个 IIS 实例,因此我们将使用 asp.net MVC,这显然将在服务器端完成大部分 HTML 呈现。即使将角度与节点结合使用,HTML 渲染也是服务器端的。

但是如果我们将 Angular 与 IIS 结合使用,我们可以进行完整的客户端 HTML 渲染。其他人在什么时候决定使用客户端与服务器 HTML 渲染?是否存在移动平台运行缓慢的担忧?

社区认为每种情况的优缺点是什么?

感谢您的想法!

4

1 回答 1

4

我已经在客户端和服务器之间进行了纯粹的分离。我的服务器堆栈依赖 PHP(使用 PDO 和 ph-pass)和 MySQL 来实现持久性。在我看来,主要优势是视图/表示与服务器端逻辑的完全解耦。在我的应用程序中,PHP 生成数据并将其返回为 JSON 格式并接受 JSON 格式的参数是绝对清楚的,但与显示无关(它只是创建易于在前端解析的数据结构)。

在前端,我使用 AngularJS、UI Bootstrap(用于引导的角度包装器)、Google Maps V3 Javascript api(包装在 Angular 指令中)和 D3js(再次包装在 Angular 指令中)。

我工作过的几个网站在移动设备上并没有真正遇到任何问题......即使在前端进行了一些非常繁重的数据处理......我在客户端代码中进行了所有过滤和一些聚合以显示地图上的可过滤标记并绘制一些图表。不幸的是,我目前所指的应用程序距离上线大约一周,所以我无法显示链接 ATM。

这是我的主站点,这个站点不依赖于任何 PHP,所以所有 Angular: http: //www.intellectual-tech.com

您还可以查看投资组合网站和http://www.shanklandfinancial.com我只用 AngularJS 完成了所有这些工作,没有服务器端代码。依赖数据库但仍处于 WIP 状态的站点是http://www.eat-data.org

最长的延迟仍然是获取 gzip 压缩后 60kb 范围内的初始数据。在移动设备上,谷歌地图拖了很多东西,CSS 动画不流畅/快速,但一切仍然可用。

另一个好处是,如果在某些时候我认为 AngularJS 不是要走的路,或者客户端想要一个本机应用程序,服务器端代码完全可以重复使用而无需修改。

我真正看到的唯一缺点是,如果客户端想要导出视图,我真的没有很好的方法来做到这一点......我最近使用 PHPExcel 库将数据输出为 XLSX 文件,但就图表等。我的服务器代码中没有什么是花哨的,如果需要的话,需要大修。也就是说,我认为这不是将打印友好页面“打印为 PDF”无法解决的真正问题。

于 2013-11-23T19:15:15.033 回答