2012-04-16 46 views
0

我必须开发一个带有数据库连接的Web应用程序。所以我查了维基百科的"Web application comparison"有关GWT和其他“Web应用程序框架”的问题

在这里,我主要是在寻找基于Java的框架。我觉得有趣的第一件事是“GWT”。但是有一些问题对我并不清楚。

  1. 的页面不包含在GWT是否使用MVC模式的任何信息。可以?

  2. 此外它并没有说任何关于推或拉功能。那么GWT使用什么?

  3. “DB迁移框架”它说,“通过Java”。这是否意味着我可以使用任何可以与Java连接的数据库?

  4. 这是一个合理的决定,选择GWT实现一个基于Web的应用程序与数据库连接,用于公司网络?或者是否有任何争论让我考虑其他框架?

  5. 我原来是一个.Net(C#)开发人员,我也听说过关于.NET示例应用程序的.NET “StockTrader”专家&缺点 vs GWT?还是那两个不同的东西?

正如你所看到我完全以新本的东西,我会强烈感激,如果这个问题没有得到关闭,因为它是关于形成意见。我对任何其他框架的建议或建议都很开放。

映入眼帘,BC ++

+0

4.非常主观,选择真的取决于你的应用需要做什么以及如何做。对于坐在数据库之上的沼泽标准CRUD应用程序,我会推荐Grails。如果您需要与完整的企业应用程序进行整合,那么在GWT顶端的另一端就很好。但是,请注意,GWT是一个真正的调试痛苦。 – vickirk 2012-04-16 12:23:59

+1

如果您没有强大的面向RIA的需求,那么没有理由不能使用您的知识,并使用Asp.net(无论是否为MVC)进行操作。在.net中连接到dataBAse有什么问题? – 2012-04-16 14:13:48

回答

2

首先澄清一下:GWT主要是一个UI库 - 也就是说,你用Java编写你的接口,它将它翻译成JavaScript,然后你可以在浏览器中运行它。这就是说:

  1. 您使用的模式是独立于库。如果您使用GWT eclipse的项目创建者,它会将您的项目分为三个包(客户端,服务器和共享)......并且您可以从中取出它。

  2. GWT通常使用池模式,客户端向服务器请求数据。 You can however try some pushing

  3. 服务器端代码只是Java,没有涉及到GWT。您可以在服务器上执行任何“java”,然后将其发送到您的客户端代码。

  4. 如果您在您的公司内部网上使用它,您可能需要考虑完整的框架,如SmartGWT而不是纯粹的GWT实现。考虑到您遵循预期的模型,这些为您提供更多的工具和更快的开发。

作为一个侧面说明,这是值得一提的是,你可能想使用纯HTML/CSS来开发你的界面,你通常会,然后只用GWT添加动态小工具或Ajax调用。在GWT中构建你的整个界面(从头开始)通常是一个坏主意,在性能方面......并且你可能有许多问题按照你实际需要的方式进行定位。

4

GWT主要集中一个Web应用程序的UI层使其能够轻松创建和调试HTML/JavaScript的层,因为你使用Java代码,并使用Java的所有现有的工具。

GWT本身并不是一个解决方案。您将需要添加其他框架来构建完整的应用程序。例如,您可以考虑使用Guice和JPA/Hibernate。你也可以使用Spring。

2

我想补充其他答案GWT主要是客户端库。您可以通过GWT-RPC或REST与服务器通信。就MVC而言,许多GWT库都包含在它们内部。

一个被提到的是智能GWT,但是,我不会自己推荐这个。原因是智能GWT是Javascript对象的一个​​简单包装,因此GWT编译器不会完成很多优化,这通常意味着您的代码下载比库中的java编写的代码更大并编译下来。

如果你正在寻找一个在GWT之上的图书馆,我会建议看看Ext GWT。 Ext GWT有一个丰富的构件库,它支持MVC,并且是纯java。我已经使用过它,虽然我遇到了问题,但我发现它比SmartGWT更容易处理。如果您正在寻找接近纯粹的GWT体验,我是否可以建议Spring Roo作为起点。在UI开发方面,您有几个选择,您可以在GWT中使用纯JAVA进行开发,使用GWT的UI绑定器功能,或创建HTML并只添加GWT组件。我不确定上述任何一项是否是“最佳”方式,无论是从性能还是可维护性。

就数据库支持而言,GWT客户端不支持远程RDBMS,因为这通常是在服务器端完成的,您可以使用服务器端代码可以支持的任何数据库。您可以使用GWT的HTML5存储API的实验性实现,当然假设您计划在HTML 5浏览器中运行。

我认为整个事情归结为你想要做的事情。我不一定会使用GWT来使用它,但它肯定有助于解决某些问题,因为您可以使用强类型语言进行开发并处理这些数据类型。

+1

在开发6个GWT项目之后,我的个人意见是:如果您在互联网上并且需要较低的下载时间(但它像内联网上的魅力一样),那么您可以远离SmartGWT(或类似项目);并且将UI Binder与纯HTML/CSS/CSS布局管理器混合使得事情变得更容易。 – Marcelo 2012-04-17 06:18:22

相关问题