Javascript Jquery vs Google Closure va GWT Pros&;大型web应用程序开发的缺点

Javascript Jquery vs Google Closure va GWT Pros&;大型web应用程序开发的缺点,javascript,jquery,jquery-ui,gwt,google-closure,Javascript,Jquery,Jquery Ui,Gwt,Google Closure,我即将开始开发一个大型web应用程序。它包含媒体(视频、音频和图像)和一个庞大的用户群 网站上的流量也可能会非常高 所以在这里我有点困惑,我应该使用jquery/jQueryUI还是Google闭包或GWT 我对jquery很熟悉,我在这方面做了很多工作,但对于GWT和Google来说,这是我第一次 我对java也很熟悉,所以我可以使用GWT,但我已经提到了这是我第一次使用GWT 因此,请就跨浏览器兼容性、易理解性、代码维护、丰富的ui设计支持等方面向我推荐这三种方法的优缺点 -提前谢谢 如果这

我即将开始开发一个大型web应用程序。它包含媒体(视频、音频和图像)和一个庞大的用户群

网站上的流量也可能会非常高

所以在这里我有点困惑,我应该使用jquery/jQueryUI还是Google闭包或GWT

我对jquery很熟悉,我在这方面做了很多工作,但对于GWT和Google来说,这是我第一次

我对java也很熟悉,所以我可以使用GWT,但我已经提到了这是我第一次使用GWT

因此,请就跨浏览器兼容性、易理解性、代码维护、丰富的ui设计支持等方面向我推荐这三种方法的优缺点

-提前谢谢


如果这个问题重复了一些,而不仅仅是发布链接

GWT将所有Java IDE的优点带到了本质上的JavaScript开发中。与JQuery一样,GWT为您“规范化”浏览器,因此您通常不必进行用户代理检查或其他任何操作。JavaIDE带来的好处是真正可靠的重构支持,可以更改名称、打包、方法签名等。自从我做GWT已经两年了,但我认为它的缺点,特别是在大型项目上,是编译步骤。它并不快,尤其是当您随意为每个浏览器编译所有Java时。如果我没记错的话,如果它今天仍然这样做,它会为IE、FireFox、Chrome、Opera和Safari中的每一个生成一个非常大的JavaScript文件。这需要时间,我的朋友。这里还有一个单元测试框架,这很有趣,尽管比纯Java的测试框架慢

GWT的好处:通过JavaIDE生态系统提供强大的工具支持。 GWT责任:编译时

我对JQuery了解不多,除了它似乎已经破解了浏览器兼容性cookie,使您,公平开发人员,能够专注于您的应用程序。关于JQuery,我所知道的是它似乎有开发人员的想法。一、 他不是JavaScript专家,设法将JQuery集成到我的JavaWebApp中,并添加了一个名为imgPreview的图像预览“插件”(http://james.padolsey.com/javascript/new-jquery-plugin-imgpreview/)在一个下午大约30分钟内,为我的平淡的基于表格的用户界面提供弹出式图像预览。浏览器在过去的两年里也发展了起来,现在你可以在控制台中实时动态调试JavaScript(Chrome rocks,但在FireFox和Safari中基本相同),还可以调整样式和进行各种直接的DOM操作

JQuery的优点:直接的JavaScript,无需解释和开发人员的思维分享 JQuery责任:在任何接近Java应用程序级别的地方重构JavaScript都是一项挑战


我的2美分价值。

我认为这取决于你想创建什么样的网站。
GWT可能最适合所谓的(面向服务的UI)和(面向服务的前端架构)。
在GWT web应用程序中,您有一个HTML主机页,由后端和所有UI工作流提供服务,并由GWT在客户端完成。 因此,如果您想要实现类似桌面的应用程序,GWT可能是您的最佳选择,因为它是一个非常好的工具包,可以开发复杂的类似桌面的应用程序,并提供JAVA开发的所有优势(测试、重构等)

对于“传统”Web2.0ish网站,GWT可能不是最佳选择,因为它确实比JS框架(jQuery、dojo等)有更大的学习曲线 此外,这些网站有多个页面,Javascript用于增强UI,而不是完全接管流同步,只是使页面更具交互性。对于这些网站,您通常有一个好的后端(Grails,springmvc),它负责流同步,而JS框架只负责使UI更具交互性和一些UI更改

这类网站的一个例子是stackoverflow。如果你点击一个链接,它将加载一个新的HTML页面。如果您单击收件箱链接,它将使用jQuery打开一个弹出窗口,检索并显示您的通知

Google闭包可能更接近jQuery而不是GWT。我认为Google Close的最大卖点是客户端和服务器端HTML模板。我对Google Close没有太多经验,但Google在其web应用程序中大量使用它

因为我主要与GWT合作,这里列出了我可以想到的关于GWT的优点和缺点:

优势

  • 健壮的工具包
  • 开发工具(测试、重构、eclipse、实时调试)
  • 跨浏览器兼容性开箱即用(附带一些注意事项)
  • 第三方库的可用性(DTO序列化、MVP框架等)

  • 只将使用的代码下载到客户端(使用JS框架,即使只使用一个特定函数,也可以下载整个框架)
  • 用于与JAVA后端通信的GWT-RPC和RequestFactory(无需自行序列化或反序列化)
缺点

  • 更大的学习曲线
  • 可能不适合小型UI增强
  • 如果代码库很大并且必须支持不同的浏览器和语言,编译可能需要一些时间
  • 生成的Javascript在复杂应用程序中可能会变得很大(解决方案:代码拆分)
作为旁注:随着每个新GWT版本在编译时间和代码大小方面的改进,缺点变得不那么重要。在这方面应该有一些非常好的增强

总而言之:如果你想开发一个类似桌面的交互式web应用程序,我认为GWT可能是你最好的c