3

我一直在开发一个 UI 相当简单的 Rails 应用程序。当用户登录时,它会列出用户创建的一堆项目。每个项目都有几个动作。还有一个创建新项目的表格。

我最初只使用标准的 Rails 模板系统和 Rails AJAX 调用操作(设置:remote => true,编写响应 JS 等),但我最近决定切换到 AngularJS,以便更容易实现 AJAX 操作直接更新 DOM。在服务器端,我取消了大部分 Rails 控制器,并将操作移到 Grape API 中。

开发过程变得(稍微)容易了,因为要编写的 JavaScript 更少了,但是页面的性能却受到了影响。现在,在页面加载后,必须进行额外的 API 调用才能使用数据填充页面。数据作为一个相当长的 JSON 字符串发送到客户端(即使我正在压缩它),客户端必须做很多工作来解析它并呈现它。结果,该页面的加载时间大约是以前的两倍。

如何克服这个问题,一般来说,什么时候在一个拥有大量数据且不一定是单页应用程序的 Web 应用程序中使用 Angular 之类的东西才有意义?似乎权衡是在让服务器做更多的工作和性能更好以换取客户端的意大利面条代码,或者让客户端做更多的工作和性能下降以换取更漂亮、结构良好的代码之间在客户端。

两者之间有什么快乐的媒介吗?很想听听你的想法......

4

0 回答 0