3

与其使用 Ruby、Python、PHP 之类的服务器端 MVC 来构建非常复杂的网站,我们为什么不将我们的网站拆分为多个模块,并使用诸如主干JS、EmberJS 之类的客户端 MVC 构建每个模块。在这种情况下,我们将使用 PHP / Ruby 单独创建 web 服务,它只提供数据。

每个模块现在都充当小型 Web 应用程序。如果我们相互链接,它们将完美地看起来像一个复杂的网络应用程序。

我访问了许多网站(如 github、groupon、stackoverflow 等),它们可以构建或采用这种方法。但我没有看到这种方法。这种方法在这类网站上有什么问题吗?

4

4 回答 4

1

很想发表评论

我想棘手的部分确实是你提到的一点

如果我们相互链接,它们将完美地看起来像一个复杂的网络应用程序。

因为每个 MVC 框架使用不同的方法来解决您在现代 Web 应用程序中遇到的常见问题,例如路由数据绑定应用程序状态渲染DOM 元素,所以我认为您最终会有多个框架执行大量重叠的任务,因此迫使您停用或禁用一个或另一个框架的某些内置功能,使您的frankenstein -app :) 很难维护。

一个很好的例子是 jQuery-mobile 和 ember.js,它们都有一个路由系统,jQuery 使用 DOM 来保存状态ember.js 完全在javascript中保存它的状态,这要快得多。我在使用 jQuery-mobile 和 ember.js 的项目中遇到了类似的问题,这迫使我决定使用其中一个路由系统,我采用了 ember 并停用了 jQuery,然后只使用了一堆自定义的移动外观组件jQuery 移动端。最后,我只使用 ember.js 和 CSS 删除了 jQuery-mobile,用于移动外观的应用程序。

如果不是因为具体要求,恕我直言,你最好的选择是只拥有一个非常好的、灵活和固执己见的框架(我个人更喜欢ember.js)并用你唯一的选择创建你提到的模块。

希望能帮助到你。

于 2013-06-18T13:50:24.310 回答
1

到目前为止,我们可以说大多数应用程序被迫在其 UI/UX 上投入更多的精力,因此对服务器端的依赖变得非常少。

我个人将骨干用于我的最新工作,这很棒。从一开始就可以注意到整个应用程序的速度。在过去的 3 年里,我一直在使用 PHP,我绝对可以保证主干和其他 MV* 框架更好。

结合 CSS 框架如 bootstrap,backbone 可以成为一个非常有组织和优雅的应用程序。

总而言之,了解模型、视图、路由器、集合可能会让人头疼。这是一个具有巨大可能性的东西,它只是一个开始。

我根据现有的大量教程编写了一个教程,并已在http://goo.gl/nJumC上发布。

还提供了许多视频教程。

唯一的前提是一个人应该对 javascript 和 jquery 方法和函数有很好的了解。这些方面的初学者知识只会使您学习骨干的任务变得困难。

于 2013-06-19T06:21:33.517 回答
1

哦是的。我得到了我的答案。

来自 google 群组: 我认为原因之一是没有 javascript 的用户代理——即搜索引擎爬虫和启用了 NoScript 的用户。

我希望,这些是网站仍然使用服务器端 MVC 的真正问题。

当网站不了解目标受众时,他们无法预测它在客户端的运行情况。所以他们应该依靠服务器来构建他们的大部分内容。

并且想一想,如果 stackoverflow 是使用客户端 MVC 来构建更多内容的设计,那么没有人无法使用谷歌搜索访问 stackoverflow 帖子。

来自维基百科的“搜索引擎优化”部分:
由于在所有流行的网络搜索引擎的爬虫上缺乏 JavaScript 执行,SEO 历来为希望采用 SPA 模型的面向公众的网站提出了一个问题。

于 2013-07-07T08:23:38.617 回答
0

我认为这就是我们现在正在走向的转变;我不太确定你的情况,但我注意到更多的客户端 MVC 网站。无论如何,你也可以看看这个......

http://backbonejs.org/#examples

在我看来,除了学习曲线之外,使用客户端 MVC 和使用 JSON/REST 的 Web API 进行开发非常简洁

于 2013-06-18T22:00:08.507 回答