GWT 仍然是大型商业应用程序的选择吗
我的公司正在计划开发一个全新的网络前端应用程序。
一些背景:
- 它必须“嘶嘶作响”,即具有良好的适销对路的外观和感觉。
- 我们的开发团队没有 Java 经验,在 Silverlight、Javascript、JQuery 或 CSS 方面的经验也有限。
- 上市时间是一个因素。
- 我们需要从 Oracle 数据库传输大量数据。
- 它必须支持 500 - 1000 个并发用户
- 它将在防火墙后面进行内部托管。
- 我们需要绘图(地理空间)功能。
有人建议使用 GWT 而不是 Silverlight 或传统技术(Javascript、jquery、CSS 等)。
我不确定这是否是正确的方法?许多 GWT 新闻都来自 2007/2008 年。这让我觉得这项技术已经过时,甚至可能正在消亡。
如果有选择的话你会选择GWT吗?
My company is planning on developing a brand new web front-end application.
Some background:
- It must "sizzle" i.e. a nice marketable look and feel.
- Our development team has no Java experience, with limited experience in Silverlight, Javascript, JQuery or CSS.
- Time to market is a factor.
- We need to stream large amounts of data from an Oracle database.
- It must support 500 - 1000 concurrent users
- It will be hosted internally behind a firewall.
- We need mapping (geo-spatial) capabilities.
Someone has recommended using GWT instead of Silverlight or Traditional technologies(Javascript, jquery, CSS etc.).
I am not sure if this is the right way to go? A lot of the GWT news is from 2007/2008. It makes me think that this technology is old and maybe dying.
If you had a choice would you choose GWT?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
不幸的是,在这种情况下,您的两个陈述是相互排斥的:
我是一名 Java 程序员,在过去一年左右的时间里学习了 GWT。能够使用编译语言直接向浏览器写入是非常有效的。成熟的开发工具。我可以比以前更快地完成 Web 开发(使用 ASP、JSP、ExtJS ...)。
但是,正如其他评论者所说:如果您没有 Java 经验,您会发现在短时间内掌握这两种技术(Java 和 GWT)是一个真正的挑战。如果你确实设法在合理的时间内将其推向市场,我只能想象代码库的状况会非常糟糕(因为你会边做边学)——这对于你的组织闪亮的新产品来说将是一个非常糟糕的基础冒险。
再说一遍,您在列出的其他相关技能中也没有“很多”技能。
我怀疑有更有效的解决方案。正如一些睿智的老山羊项目经理所说:
在您的情况下,如果组织想要在短时间内获得高质量的产品,则必须补偿成本因素 - 您的组织应该购买一些临时 GWT 专业知识,为您提供健全的软件架构并指导您的团队接下来的几个月。之后,您将准备好掌权,通过“站在巨人的肩膀上”继承高质量的代码库。
unfortunately two of your statements are mutually exclusive in this context:
I'm a Java programmer who has picked up GWT over the last year or so. It's immensely effective being able to write direct to the browser using a compiled language & mature development tools. I can fly through web-development faster than ever before (using ASP, JSP, ExtJS ...).
But, as the other commenters have said: if you've no Java experience you're going to find it a real challenge picking up both technologies (Java & GWT) in a short time. If you do manage to make it to market in a reasonable time I could only imagine the code base would be in very poor condition (since you'd be learning as you go) - which would be a very poor foundation for your organisation's shiny new venture.
There again, you don't have a 'lot' of skills in the other related skills you listed either.
I suspect there's a more effective solution. As some wise old goat project manager said:
In your situation, if the organisation wants a quality product in a short time, it's the cost factor that must compensate - your organisation should buy in some interim GWT expertise to give you a sound software architecture and to mentor your team for the next few months. After that you'll be ready to take the reigns, inheriting a quality codebase by 'standing on the shoulders of giants'.
正如其他人所说,GWT 绝对不是一个垂死的项目。事实上恰恰相反,现在 Google 内部有超过 20 名定期贡献者(2008 年只有 6 名)。 Wave(尽管作为 Google 服务已停止,但作为 Apache 基金会项目仍然存在)、Orkut、AdWords、Google Moderator 和新的(仍处于测试版)Google Groups 都是使用 GWT 制作的; Google Buzz 的部分内容以及 Google 的其他一些项目也是用它构建的。
现在就您的选择而言:
因此,根据您的需求/愿望和技能,我会选择 GWT 或“一些 JS 工具包”。在任何情况下,您都可以完全控制外观和感觉(除非您选择臃肿的播放器之一:ExtJS/ExtGWT、SmartGWT 或类似的;您可能会缩短这些播放器的上市时间,但您稍后会在性能、与其他工具包的集成以及外观方面付费)。
根据您所说的关于您的技能,我肯定会推荐 GWT(尽管您缺乏 Java 经验);因为缺乏 JavaScript 经验比缺乏 Java 经验更糟糕(你谈论的是“大型应用程序”,所以开始正确构建东西和/或拥有帮助重构的工具非常重要,你将拥有这些与 Java)。
@ianmayo 在我写上面的时候回复了,我只能附议他的话!
As others have said, GWT definitely is not a dying project. Quite the contrary actually as there are now more than 20 regular contributors from within Google (versus a semi-dozen back in 2008). Wave (despite being discontinued as a Google service, it's still alive as an Apache Foundation project), Orkut, AdWords, Google Moderator and the new (still beta) Google Groups are made with GWT; and parts of Google Buzz and a few other projects at Google are built with it too.
Now as to your choice:
So, depending on your needs/wants and skills, I'd choose GWT or "some JS toolkit". In any case, you'll have full control over the look and feel (unless you choose one of the bloated players: ExtJS/ExtGWT, SmartGWT or similar; you'll probably have a shorter time-to-market with these, but you'll pay it later, in terms of performance, integration with other toolkits, and look-and-feel).
In the light of what you're saying about your skills, I would definitely recommend GWT (despite your lack of experience with Java); because lack of experience with JavaScript is far worse than lack of experience with Java (you're talking about a "large application", so it's really important to start building things right and/or have tools to help refactoring, which you'll have with Java).
@ianmayo replied while I was writing the above, and I can only second what he said!
为了不让上述看似一致的答案误导读者,请在受人尊敬的 stackoverflow 中保持客观观点,以下评论表达了我使用 GWT 的确切经验。 GWT 是否消亡取决于有多少新应用程序会采用它,Google 趋势可以告诉我们 (gwt 趋势)。
摘自https://softwareengineering.stackexchange.com/questions/38441/何时不使用 google-web-toolkit
In order not to mislead readers with above seemingly unanimous answers, keep objective view in respected stackoverflow, following review expressed exact experiences I had with using GWT. Whether GWT is dying depends on how many new apps will adopt it,Google trend can tell (gwt trend).
Excerpt from https://softwareengineering.stackexchange.com/questions/38441/when-not-to-use-google-web-toolkit
GWT 绝对不老也不死! Google 自己的很多应用程序都是使用 GWT 开发的。您可以下载GBST 案例研究并了解这家全球金融公司如何使用 GWT 提高生产力并创造丰富的用户体验。你必须知道,当你使用 GWT 时,你会自动使用 javascript、html 等。你用 java 创建一个 gwt 应用程序,但是当你编译它时,gwt 会创建一个包含 html 文件、javascript 代码、css 等的文件夹...
我绝对推荐它!
GWT is definitely not old or dying! A lot of Google's own applications are developed using GWT. You can download the GBST case study and learn how the global financial company uses GWT to improve productivity and create a rich user experience. You have to know that when you use GWT you automatically use javascript, html, etc. You create a your gwt application in java, but when you compile it gwt creates a folder with html files, javascript code, css, etc...
I definitely recommend it!
首先,GWT并不是消亡的技术,它的使用量在增加,最新版本是2.2。从 1.6 版本开始,我使用 GWT 已有 2 年了。自它们以来它的改进是相当惊人的。
由于 GWT 是客户端技术,因此它只会对应用程序可扩展性功能产生积极影响。因为服务器端 Web 技术(如 jsf、struts、wicket)是服务器资源消耗者,但 gwt 不需要任何服务器资源来呈现用户界面。
但是您的团队存在问题。因为你们的团队没有java经验,自己去适应java和gwt这两项新技术是相当困难的。如果你们有时间学习,我强烈建议GWT。
First of all , GWT is not dying technology, its usage increases, and its latest version is 2.2. I am using GWT for 2 years, since version 1.6. Its improvements since them is quite amazing.
Since GWT is client side technology, it does have only positive effects of your application scaliblity feature. Because server side web technologies such as jsf, struts, wicket are server resource consumers, but gwt does not need any server resource to render user interface..
But there is problem for your team. Because your team has no java experience, it would be quite difficult to adapt yourself two new technologies java and gwt.. If you have time to learn , I would strongly suggest GWT.
精通 GWT 大约需要 1 年时间。如果您开发像 MicrosoftOffice 或 PhotoShop 这样复杂的应用程序,那么使用 GWT 会带来回报。恕我直言,对于小型且相对简单的应用程序使用 GWT 是没有意义的。 GWT 确实是一个消磨时间的框架,您必须有非常充分的理由来使用它。我认为 99% 的 Web 应用程序不需要 GWT。
It takes approx 1 year to become proficient in GWT. Using GWT pays off if you develop an application as sophisticated as MicrosoftOffice or PhotoShop. It makes no sense to use GWT for small and relatively simple apps, IMHO. GWT is a time killing framework indeed, and you have to have very strong reasons to use it. I think that 99% of web apps don't need GWT.
GWT 不是垂死的框架,而是消磨时间的框架。它有安全问题。您可以轻松地向 GWT 应用程序发出 CSRF(跨站点请求伪造)请求。而且Java和Javascript是完全不同的语言,你不能轻易翻译。为了提高您的工作效率,请避免使用 GWT。
GWT is not dying framework, but time killing framework. It has security issue. You can do easily CSRF(Cross site request forgery) request to the GWT applications. Also Java and Javascript are totally different languages, you can't translate easily. For your productivity avoid GWT.