我的团队由更多的java人员组成,并且使用JavaScript的经验有限。我知道这个问题曾多次被问到,但为了弄清楚我的事实,我需要澄清一些事情,因为我在客户端技术方面的经验非常有限。我们决定使用GWT而不是纯JavaScript框架构建我们的解决方案(假设有更多的Java经验)。
这些是支持我的决定的事实。
但我的一些应用程序功能需要使用外部js库。 对于例如假设我需要使用一些特定的js库来绘制特定页面上的一些东西。 (实际上是用dojos编写的js文件)。
提前致谢。
答案 0 :(得分:3)
GWT可以满足上述要求吗?
是(请参阅@Andrey Kapelchik的回答)。
您认为决定使用GWT是明智的还是有其他建议?
鉴于你的背景和你提到的观点,我认为这是一个非常好的决定。我已经使用JavaScript,jQuery等构建了应用程序,但是对于任何超过1000行代码的应用程序,我都不希望再次“手动”构建JavaScript应用程序。对我来说具有决定性意义的要点:
您仍然需要一点点JavaScript知识。您的团队肯定应该学习CSS,我建议您彻底学习它 - 无论您选择哪个客户端框架。
我们发现sencha gxt拥有最好的小部件库(我知道它的商业化,至少我找到了我们需要的所有小部件)。你认为在核心GWT上使用包装库是明智的吗?
在我正在开展的一些项目中,我们正在使用GXT,因为这个决定是在几年前做出的。这是我的观点:如果你需要构建一个看起来非常像桌面应用程序的东西,GXT可能是完美的,否则我不建议在GXT上基于应用程序。
使用纯GWT可以获得最佳性能,如果您了解CSS,它会更加灵活。 GXT有一些不错的功能,但是要解决它的局限性,重要的性能问题(有时候是它的错误)可能非常耗时。如果你真的需要一个特殊的GXT小部件,你仍然可以构建一个纯GWT应用程序,然后只添加一个GXT / SmartGWT小部件。
答案 1 :(得分:2)
我认为GWT非常适合您描述的项目的要求和目标。 GWT JavaScript Native Interface使用本机JavaScript。 JSNI允许将GWT与现有JavaScript或外部JS库集成。它允许您将JavaScript直接集成到应用程序的Java源代码中,从而解决了这些问题。
答案 2 :(得分:1)
我的团队在经历了许多错误的开始之后真的很难解决这个问题,我们确定JavaScript无法真正避免,并且掌握并不像我担心的那样糟糕。增加GWT所需的时间与在客户端JS MVC框架上增加的时间大致相同。
我们确实考虑过GWT,但之所以放弃它,是因为从长远来看,由于以下原因而难以维持。
我们还评估了dojo并抛弃它,因为我们觉得定制它对我们的团队来说太难了。这是我们最终得到的结果。
如果我今天再次启动该项目,我会选择Google的AngularJS,这对构建客户端网络应用程序来说真是一种了不起的方法。特别是因为在JavaScript中巧妙地使用了依赖注入和双向绑定以及其他一些东西。我参加了JS王座会议,谷歌AngularJS的人说他们将一个17,000线GWT应用程序移植到2500线angularJS应用程序。