javascript - Javascript 网络应用程序的最佳解决方案

标签 javascript model-view-controller web-applications javascript-framework

我目前正在开发一种类似于 Google 阅读器的网络应用程序(至少在处理的信息类型方面)。我已经使用普通的 Javascript 和 jQuery 构建了一个基本的原型(prototype),但我很快发现它变得非常困惑,速度非常快。

所以今天我一直在研究适用于 Javascript 应用程序的 MVC 框架。这是一个我熟悉的开发架构,它非常适合我正在尝试做的事情。我发现的一些替代方案是 SprouteCore , Backbone.jsKnockout.js (不是 MVC,但足够接近)。它们各有利弊,但我不确定哪一个适合我。

我需要的是一个允许我在模型改变时自动更新 View 的框架(所以如果我在我的 View 中显示数组中的所有项目,并且然后我将另一个项目添加到数组中, View 中的列表应该自行更新),这使我能够将我的 Javascript 与我的 HTML 完全分开(至少尽可能多)。如果它已经有一个很好的接口(interface)来通过 AJAX 调用从 RESTful API 获取模型信息,则会获得额外的分数——但这并不是严格要求的。

关于我应该如何着手做这件事有什么想法吗?我对 Javascript 的经验不是很丰富,但我也不是完全不知所措。我看过将 Backbone.js 与 ICanHaz.js 结合使用+ Moustache.js ,但我不完全确定这是否解决了我希望 View 在对模型进行更改时“ self 更新”的问题。

最佳答案

您描述的正是 MVVM 模式的属性。我已经在多个解决方案中成功地使用了 Knockout.js 来实现您想要做的事情。此外,Knockout 为 Ajax 调用提供了一些方便的功能,但如果您需要完全控制,您可以始终使用 jQuery 或同时使用两者。

关于javascript - Javascript 网络应用程序的最佳解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491726/

相关文章:

javascript - 在 JavaScript 中每 N 秒调用一次异步函数

javascript - 添加动态输入 - 未正确附加 - 包含图片

javascript - Vue.js 在挂载和重新启动功能中运行代码

java - 应该在哪一层进行验证?

asp.net-mvc - 如何在不使用太多 RAM 的情况下正确地从 MVC3 传输大数据?

jquery - 如何在 iOS Web 应用程序中禁用橡皮筋?

javascript - Yii2-在 gridview 中使用多个复选框

java - 测试重新部署 Web 应用程序时是否存在内存泄漏

java - 有关 ProGuard、Launch4j 的详细信息?

javascript - 如何在JavaScript中使用不同的ID动态创建CSS规则