我想知道是否存在GWT不适合的特定情况?例如,使用GWT重新开发Stack Overflow是否合适?
我正在开发一个具有Java Restlet API的应用程序,我正计划使用GWT(以前我只使用bog标准HTML / CSS和后端PHP代码调用API)。我想知道为什么我不应该选择这样做?
答案 0 :(得分:13)
我的回答并不完整,但我相信以下子弹可能会有用。
答案 1 :(得分:4)
GWT是在单个页面中处理复杂操作的最佳选择。像Google wave,Google mail ...你可以轻松更新(ajax)页面的任何部分。
由于GWT是java-to-javascript编译器,用户应该等待.js文件的加载,如果你的web应用程序很大,它会导致很多问题。项目越大,javascript文件越大,用户应该等待加载.js文件的次数越多
答案 2 :(得分:3)
恕我直言如果您有一个静态的网站,如博客,新闻门户网站等,每个页面都有自己的身份并代表一个实体,并且单独请求不要单独使用GWT(您仍然可以将它与服务器端混合使用)生成的页面如FB)。
对于大多数其他网络应用,特别是如果用户登录使用您的应用或您的应用是互动的,并且没有技术问题使用GWT(如Gmail设计)。
答案 3 :(得分:1)
我建议不惜一切代价避免GWT。我有使用GWT开发大型项目的经验,这是一个噩梦,因为长期的开发圈。如果您在angularjs / react / jquery中有应用程序,则更新源代码,单击F5并重新加载它。您可以快速调试点击F12。
如果你在庞大的项目上使用GWT,你必须等待约1分钟才能编译app。然后没有好的方法来调试它。谷歌提供了特殊的浏览器插件,但它们工作不稳定,不支持最新版本的浏览器,所以我不得不降级FF。同样巨大的GWT应用程序调试需要大量的java内存,所以你必须为tomcat提供更多的内存。最后在实践中你无法避免学习js,如果你进行现代网络开发,你将不得不学习它。
更新15.05.2017:我的答案被GWT粉丝低估了,但我想注意,我的信息是最新的:1页hello world app rebuild cyrcle大约30秒,最后一个IDEA和10Gb mem SSD笔记本。我还要求在生产中使用GWT的朋友进行认真的项目:他们声称2分钟是平均重新部署时间。