和你们中的许多人一样,我已经开始使用只支持 JSON 的后端(在我的例子中是 Django 或 Rails)来编写越来越多的 Web 应用程序。
作为前端,我一直在使用 MVC 客户端,例如 Backbone.js。据我说,这个解决方案非常好,并且适用于许多类型的应用程序。
我发现烦人的是,我发现自己编写了大量的 Javascript 代码,它们几乎做同样的事情。感觉就像我正在为每个新应用程序在 Backbone 之上创建一个新层。我在这里思考的方式一定有问题。
给你举个例子:
假设您有一个提供六个集合的 API,并且您想使用 Twitter Bootstrap 来展示这一点。您将有一个导航菜单,您可以在其中选择要查看的每个集合。
将有大量的 Javascript 代码来设置所有模型、集合、视图以及围绕路由和导航的逻辑。您还必须考虑哪个视图处于活动状态。
如:
获取集合时的错误处理
如果一个集合正在加载,我们希望看到“正在加载”。如果它失败了,我们会看看为什么。创建/保存/删除也是如此。
路由
我发现自己编写了一个复杂的逻辑,最终只是在匹配的 URL:s 上呈现一个特定的视图。它只是一个包含所有实例化视图的数组。有时您甚至不需要视图,只需要与 URL 关联的模板。好吧,如果你有六个菜单,你就可以有六个功能。但是,如果菜单是三层深度,每层有六个选项,您就不能为每个视图设置一个路由功能。
导航栏和面包屑
这将是从我上面的复杂逻辑中调用的视图。如果导航是多层次的深度,这可能真的很复杂。
我的问题是:我在这里有那么独特吗?如果没有,你如何解决这个问题?
Backbone.js 不适合我吗?什么替代品更适合(哦,是的,我已经搜索过)?
谢谢你的时间,我真的很感激你的所有想法。