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.

Reply via email to