我想将 javascript 框架与 MVC 结合使用,用于数字档案中的 Intranet 的复杂 Web 应用程序(这将是一组相关应用程序和页面之一)。我一直在研究 SproutCore 和 JavascriptMVC。我想选择一种框架并坚持使用。

有人知道比较这两者有什么区别吗?

我想要一些简单、直接的东西,我可以轻松地自定义/破解,并且不会对我造成太大的妨碍,但同时为我提供了保持代码良好组织和事件驱动的基础。我还计划大量使用jquery。

我知道 sproutcore 得到了 Apple 的支持,看起来它越来越受欢迎,而且它有一个不错的绿色网站:),而 JavascriptMVC 看起来不太专业,追随者较少,背后的动力也较少。

我已经完成了这两个教程,并且 SproutCore 给我留下了更多的印象(在 JMVC 教程中,你并没有真正做任何实质性的事情) - 但在我内心的某个地方,我觉得 JMVC 可能会更好,因为它不'不要尝试做太多事情 - 它只是为您提供基于几个 jquery 插件的 MVC 功能,并且您可以使用 jquery 完成其他所有操作,因此它很灵活。而 SproutCore 似乎有更多自己的 API 等......这在某种程度上也很好......但随后你就陷入了困境......嗯,我很困惑:)。

任何想法将不胜感激。

有帮助吗?

解决方案

作为JavaScriptMVC贡献者,我非常有偏见。但是我会尽我所能。

JavaScriptMVC还花了数年的时间来开发。但是,它没有专注于UI功能,而是集中在其下方的层上。有几个原因:

  1. 您可以找到一个几乎满足所有需求的jQuery小部件。没有理由竞争这些插件。相反,JavaScriptMVC试图与他们合作。
  2. 大多数人需要一个或两个自定义的小部件 /控件。 JavaScriptMVC希望使建筑和维护这些作品尽可能容易。”
  3. 灵活性+API。我不确定该如何说出这个问题...但是这是我最好的镜头...使用JavascriptMVC,我们希望应用程序的每一层都尽可能易于理解和维护。这就是为什么我们选择JQuery作为低级图书馆的原因。它的API是可能的DOM的最佳抽象。人们通常直接从低级API转移以构建小部件/控制。这就是为什么大多数jQuery小部件的代码看起来都非常不同的原因。我们想要一个组织代码并促进最佳实践的中层层,同时提供足够的灵活性来满足任何要求。因此,使用JavaScriptMVC,您将获得非常坚实的低层和中层层。但是,您不会得到小部件。

JavaScriptMVC在框架中具有测试,错误报告和文档。测试是最令人印象深刻的部分。它进行了整合的硒和ENVJ测试。

我的建议是使用SprotCoreif如果您的要求可以通过SprotCore非常简单地构建。但是,如果您知道jQuery,则必须构建大量自定义控件,或者需要真正令人敬畏的测试,请使用JavaScriptMVC。

其他提示

有趣的是,因为就在一个月前左右,我们的团队对这两个框架进行了精确的正面评估。我们最终选择了 JavaScriptMVC,我已经实际使用它大约一个月了。

我喜欢 ...但是,我是 SproutCore 的大力支持者。在我们评估这两个框架之前,我从未听说过这两个框架,但是当我看到 SproutCore 并深入了解其内部结构后,我印象非常非常深刻。老实说,我认为没有任何东西可以给你它所提供的那种力量。是的,你会有一个学习曲线,但一旦你知道了,它就可以让一个人完成 5 或 10 人的工作。

所以我会立即使用 SproutCore。

话虽这么说,JavascriptMVC(又名“JMVC”)很好。除了 jQuery 本身之外,它并没有真正为您提供更多功能。您仍然需要自己构建一些基础设施(取决于您的要求的复杂程度)。这既有利又有弊。它的一个好处是,如果您需要深入研究 JMVC 的某些部分的细节,您可以...它并没有大到无法穿透的程度。

综上所述,JMVC 没有什么问题。但在我看来,SproutCore 根本就没有什么可比的。

我认为它们之间的主要区别是SproutCore包括GUI,而JMVC则是低级没有任何图形的东西,因此,如果您需要GUI,则不能使用JMVC,而无需包括JQUERY UI或JQUERY插件等其他脚本。

您说:“ JMVC可能会更好,因为它不会尝试做太多事情”,我不同意这一点,花了数年的时间才释放Sproutcore 1.0,因此开发人员有时间制作出色的产品。

我建议您使用SprotCore,也许您必须学习更多的东西,您将花费更多的时间练习和理解所有内容,但是您将学习如何使用一个非常好的框架,这也对未来的项目也很有用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top