Jquery vs Google Closure va GWT Pros &大型web应用程序开发的缺点
Jquery vs Google Closure va GWT Pros & cons for large web application development
我即将开始开发一个大型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更改。
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,利用"开发模式"来避免编译是值得的。
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 在jstree中,如何将指定的节点集中到大型树上
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- Selenium Web驱动程序和javascript
- 向Web API发送大型javascript数组
- Web工作程序在处理大型数组时内存不足
- 构建大型jQuery移动Web应用程序:使用iFrames作为页面?骨干、骨干、下划线和其他框架
- Web工作程序在传递具有数组缓冲区的大型对象数组时会崩溃Chrome选项卡
- 如何在大型web应用程序中找到事件处理程序的附加位置
- 在大型web应用程序中处理JavaScript(可重用性、捆绑、单元测试等)
- 充满事件处理程序的巨大文件!如何在AJAX web应用程序中组织一个大型jQuery文件
- Jquery vs Google Closure va GWT Pros &大型web应用程序开发的缺点
- 使用客户端空闲计时器有多安全?大型web应用程序开发人员是如何做到的?
- 在web应用程序中存储大型会话数据的最佳方式是什么?
- 附加JavaScript事件(对于大型web项目)的最佳实践是什么?
- 大型web应用的客户端技术
- Chrome开发工具在大型web应用程序中响应很慢
- 维护中型到大型JS密集型web应用程序
- 在大型web项目中,如何将Javascript库更新到最新版本?