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

Jquery vs Google Closure va GWT Pros & cons for large web application development

本文关键字:web 大型 应用程序开发 缺点 Pros Google vs Closure va GWT Jquery      更新时间:2023-09-26

我即将开始开发一个大型web应用程序。其中包含媒体(视频,音频&图片)和庞大的用户群。

网站的流量也可能非常高。

这里我有点困惑我应该使用jquery/jquery ui还是Google闭包还是GWT

我熟悉jquery,我做了很多工作,但GWT &这是我第一次关闭Google。

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

所以请告诉我优点&这三者在跨浏览器兼容性、易于理解、代码维护、丰富的UI设计支持等方面的缺点

-Thanks in advance

如果这个问题是重复的一些其他的只是张贴链接。

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

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

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

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

因为我大部分时间都在使用GWT,所以这里列出了我能想到的关于GWT的优点和缺点:

:

  • 强大工具包
  • 开发工具(测试、重构、eclipse、实时调试)
  • 跨浏览器兼容性开箱即用(有一些警告)
  • 第三方库的可用性(DTO序列化,MVP框架等)
  • 只有被使用的代码被下载到客户端(使用JS框架,即使你只使用一个特定的功能,你也会下载整个框架)
  • GWT-RPC和RequestFactory用于与JAVA后端通信(无需自己序列化或反序列化)。
<

缺点/strong>:

  • 学习曲线更大
  • 可能不适合小的UI增强
  • 如果代码库很大,并且必须支持不同的浏览器和语言,编译可能需要一些时间
  • 生成的Javascript可以在复杂的应用程序中变得很大(解决方案:代码分裂)

作为旁注:随着每个新GWT版本在编译时间和代码大小方面的改进,缺点变得不那么严重了。GWT 2.5应该在这方面有一些非常好的增强。

总结:如果你想开发一个像桌面一样的交互式web应用程序,我认为GWT可能是你最好的选择。
然而,如果你想开发一个更传统的"web2.0"网站,jQuery/Google Closure可能是一个更好的解决方案。

GWT为JavaScript开发带来了所有Java IDE的优点。与JQuery一样,GWT为您"规范化"了浏览器,因此通常不需要进行用户代理检查或其他操作。Java IDE的优点为您提供了真正可靠的重构支持,可以更改名称、打包、方法签名等各种东西。我使用GWT已经2年了,但是我认为它的缺点,特别是在大型项目中,就是编译步骤。它并不快,特别是当您让它为每个浏览器编译所有Java时。如果我没记错的话,如果它现在还这么做的话,它会为IE、FireFox、Chrome、Opera和Safari生成一个非常大的JavaScript文件。这需要时间,朋友。它还有一个有趣的单元测试框架,尽管比纯Java版本慢。

GWT优势:通过Java IDE生态系统提供强大的工具支持。GWT缺点:编译时间

我不太了解JQuery,除了它似乎破解了浏览器兼容性cookie,让你,公平的开发人员,专注于你的应用程序。关于JQuery,我所知道的是它似乎得到了开发人员的认同。我不是JavaScript专家,我设法将JQuery集成到我的Java web应用程序中,并添加了一个名为imgPreview (http://james.padolsey.com/javascript/new-jquery-plugin-imgpreview/)的图像预览"插件",在一个下午大约30分钟的时间里,弹出图像预览到我乏味的基于表格的UI。在过去的两年里,浏览器也在不断发展,你现在可以在控制台上实时动态调试JavaScript (Chrome非常适合这个功能,但在FireFox和Safari中基本上是一样的),以及调整样式和做各种直接的DOM操作。

JQuery的好处:直接使用JavaScript,无需解释和开发人员的思想分享JQuery的缺点:在接近Java应用程序级别的任何地方重构JavaScript都是具有挑战性的。

我的2美分值。

Closure Library相对于jQuery的主要优点是它被设计为利用Closure Compiler(在高级模式下)。你得到了原始javascript的快速编辑/调试周期,和一个相当大小的代码库,你的客户只需要等待你实际使用的代码(假设你已经编译了它)。

对于GWT,利用"开发模式"来避免编译是值得的。