2013-02-13 58 views
2

我们将开始开发使用下面的Web应用程序:我应该为我的项目使用哪个Javascript MV *平台/库?

  1. Spring MVC框架
  2. 休眠
  3. MySQL或MongoDB中(或者两者)
  4. HTML5的移动应用程序将运行在浏览器上(这将是实际的Web应用程序的次要部分)

我从来没有使用过任何的JavaScript MVC/MV *框架。每当我需要任何东西时,我一直在使用纯jQuery和其他库。

为Web应用程序

要求:

  1. 正常登录等
  2. 仪表板,它会显示分析,图表等
  3. 表单设计工具 - 例如用户可以在其中输入新行的可编辑表单以及实时预览更改应该反映在与其相邻的屏幕上的移动设备上。看看它在移动视图中的外观如何。用户可以添加,编辑和删除新行。所以这将是一个交互式表单构建界面。 (这是我认为的MV *库/框架将帮助我有什么说什么或jQuery的可以做的伎俩。?)

要求对HTML5的移动应用程序:

  1. 用户将从浏览器访问该应用程序。
  2. 它应该看起来像一个本地应用程序(但实际上它将是一个HTML5应用程序)
  3. 它将至多有2-3页(带有下一个按钮)和简单的textarea输入(例如电子邮件,电话数字等)和提交按钮。 (将使用jQuery移动是最好的解决办法吗?或者我应该用MV *库或任何与HTML5以及和凝胶会使我的生活更轻松。用什么?)

我有点混淆框架和库的阵列,如Backbone.js,Ember.js,KnockoutJS,AngularJS等

有人可以指导我。我会非常感激和感激。我不期待最好的框架,我只需要上面的情况的'最好的'框架。 :)

回答

4

半年前我坐在你的鞋子里。我一直在使用相同的堆栈,具有相同的设计原则。我去了AngularJs,并不能更快乐:)。

我一直在评估这一套框架:

  • 淘汰赛JS
  • 骨干JS
  • 酒吧子
  • 蝙蝠侠JS
  • 萨米JS
  • 萌芽核心
  • JS MVC
  • 角JS

而且我正在这种条件下评价:

  • 多种型号? (我们可以有几个不同的控制器处理DOM的小块单独在同一页上顺利运行)
  • UI &数据绑定? (UI中的更改反映在对象状态中,反之亦然)
  • 自动内容切换? (当你浏览到#dashboard#posts由框架支持的内容变化ID)
  • 模板? (不需要使用第三方库进行模板化)
  • 与不同框架集成? (如jQuery)
  • 支持HTML 5本地存储? (它支持本地存储还是有它集成框架)
  • 单元测试支持(做框架的特性使得东西容易测试)

我的大部分名单上的框架也不支持或满足所有这些条件。这对我来说是令人惊讶的,因为我希望人们会证明自己是最好的。事实证明,他们都非常接近,所以在我的情况下,唯一的办法就是一个接一个地尝试。在我遵循几个教程之后,我决定和AngularJs一起去,那是我做过的最好的决定:-)

说实话,差不多所有的框架都会帮你出。对你来说最重要的事情可能是视图和模型的声明式绑定。你选择的大多数框架都会支持它。

我建议你按照我的方法。在其中3个应用程序中编写简单的应用程序,并查看您的编码风格最自然的任何内容

+1

非常感谢您的详细建议。即使是从列表中名单3我想要的帮助。所以我应该尝试一下Angular,Backbone,Knockout和Ember吗?你有什么建议? – LittleLebowski 2013-02-13 08:46:22

+1

我会忘记Ember,因为Angular拥有更好的模板系统。去角度,主干和淘汰赛 - 试试看看哪一个适合最好:) – 2013-02-13 09:06:06

+1

我们也选择了AngularJS,我们的原因是因为1)AngularJS不会强迫你的模型继承一些Angular对象,如Ember或Knockout,以及2)指令非常强大。 – 2013-02-13 09:35:32