Good points nestorjb, but I wanted to embellish a few: 2.- Because it behaves like a desktop app, when you test, you have to test > from the first page which leads to long testing cycles. >
If you use a Places/Activities pattern, such as in GWTP (GWT Platform), then you'll have page state serialized to the URL. In this case, you can jump right to a page in your tests. If you're using Selenium, you can reuse steps, so even if you had to start from the login page for each test, you'd only write that code once. > 3.- Speaking of testing, you can't use tools like JMeter to test the app > because it doesn't behave like a web app. You need to use it's own testing > classes. Haven't use selenium. > If you use a pattern like GWTP or similar, where very few files are served after load, then it's the RPC/XHR's that are all the server load. Using JMeter you can indeed test these. Assuming that you push your static content off to a CDN (CloudFlare, S3/CloudFront) then you really don't need to load test those parts, but you can if you like. Using a Java based framework (GWTP) makes testing Selenium (w/ Java) easy because you can use the same URL builders (PlaceRequests) directly in Selenium and jump straight to the pages under test. Essentially no hardcoded literals at all! Frankly, my only problem when testing GWT from Selenium is that the tests go so fast the DOM cannot keep up, but a half dozen decorators to wait for elements to be rendered to the page and the tests fly along. That shouldn't be a big problem since you can test your presenter logic in pure JUnit and run those tests in a few ms. The Selenium is really for smoke testing and integration testing of login/workflows. > 4.- If you need your app to work like a web app it will not feel like a > web app. > What does a *webapp* feel like? For me it feels like the pages load instantly and the browser history/URL's look like I've actually been bouncing around the pages. True, it does not do classic postbacks on every page interactions, but I call that a plus. As long as you serialize your places to the URL F5 and bookmarks will work like any other webapp as well. I would add a *con *though: 1. With GWT you've got to know and think about what you're doing. GWT will do every best practice under the sun for your and make your app run about as fast as possible with no memory leaks without you needing to be an HTML spec/browser maven. GWT will practically guarantee that you're app will run properly if it compiles. Conversely, many people would rather use a hard to maintain JSP/PHP framework rife with security holes, problems, and highly verbose configurations because it appears easier to get out the gate and do simple things with. So, if you want to use GWT, you'd best read the manual, otherwise stick with a simple framework. Joe -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/d/optout.
