Thursday, March 3, 2016

Re: GWT vs AngularJS

Hi,

In our current product development we use GWT 2.6.1, along with GWT we use GWTP.
And the application we have developed is quite big, with many functionalities. 

Recently I have implemented a 'Create Object Dialog' which contains a Tab panel consists of 4 tabs, each tab contains grids, Multiple Fields etc. We also use GIN to inject presenter, views etc. This dialog is launched from a Listing page  which has a Tree Grid(which also contain another similar dialog 'Create OldObject Dialog').

And the listing page is code splitted using GWTP way. Each page is represented by its own place. This page loading(navigating to this page/place from another page/place) time is bit slow, and it downloads around 1.9MBs.

I have used Angular JS in my personal development, which loads very fast, I could not even noticed the download time complete angular-min.js 
Launching a Dailog from this JS page is very smooth. Also I have used router(similar to places in GWT) still all the navigation are very smooth.
Not sure, if the performance will degrade later when application grow bigger.

I understand the benefit of ClientBundles, different JS Permutations but not sure if it out stand AngularJS.  Minification, and Obfuscation is seamless in GWT compare to writing minificationable code in AngularJS.

AFAIK Google used GWT for Gmail as well, but fallback to its previous implementation later. I understand that GWT has improved a lot since then, and its generate better Javascript/Html code now.

Regards
Gourab.

On Thu, Mar 3, 2016 at 11:05 PM, Boris Brudnoy <boris.brudnoy@healthometry.com> wrote:
On Thu, Mar 3, 2016 at 12:25 PM Rogelio Flores <rogelio.flores@gmail.com> wrote:
@Boris I think exactly the opposite has been observed with respect to the output javascript size. GWT's transpiler does optimizations, minification, and obfuscation. You might be failing to consider that only one permutation of the javascript code is the one that actually runs on a given browser, which is what you should use to compare vs X JS library.
Using your favorite JS library, you have to basically ship all of its JS code, regardless if you use it (contrary to GWT's case).
In addition, ClientBundles allow you to optimize and reduce the CSS3 code size and the number of HTTP requests for images (sprites) and other files.

@Rogelio Flores I was driving towards your points by questioning Gourab Panda's assertion that GWT produces twice as much JS code as an app written purely in JS. A hello world example might indicate that GWT produces JS bloat but a real world app would probably belie conclusions from such an example.

On Thursday, March 3, 2016 at 9:38:57 AM UTC-7, Boris Brudnoy wrote:
On Wed, Mar 2, 2016 at 11:11 PM Gourab Panda <gour...@gmail.com> wrote:
- Generates Lots of Javascript code. Code splitting solve this problems, but still it generates double(or even more) JS code than that of pure JS app.

Are you basing this on a Hello World example? GWT emulates JDK and so sets up a lot of operational infrastructure upfront. Do you have any specifics on whether all additionally written functionality linearly adds x2 or more JS code? When it comes to comparing applications with scores of screens and hundreds of function points, how do sizes stuck up?
 
- You write code in Java, but you also consider(or Think) how the Javascript will be generated.

You don't need to think much about JS generated from your Java code, but you do have to consider an app in its environment, the browser. In other words, GWT lets you use the Java toolchain but doesn't relieve you from familiarity with HTTP, HTML, CSS, JavaScript and browser behavior.
 
- As far as I know, no new product development uses GWT, lots of company still using it because they can't migrate easily.
 
What about Google Sheets or Inbox, Google's next generation email app? Both started relatively recently and are long term projects. Surely Google leads by example here?

Boris Brudnoy 


Regards
Gourab.






On Thu, Feb 25, 2016 at 4:38 PM, Thomas Broyer <t.br...@gmail.com> wrote:


On Wednesday, February 24, 2016 at 4:58:36 PM UTC+1, Adolfo Rodriguez wrote:
In my opinion, the main problem of GWT is that you are irrelevant for crawlers, and this is a serious commercial drawback, despite I love GWT

Isn't that the case for any webpage generated entirely through JavaScript? (whether that JS has been hand-written, generated from Java code through GWT, or from CoffeeScript, TypeScript, Scala, Closure, you name it)
(and specifically, this applies to AngularJS too, as we're in a "GWT vs AngularJS" thread)
 
If GWT would be able to generate the plain HTML it would beat any pure JS library

Something like http://dev.arcbees.com/gwtp/advanced/crawler-support.html ? (which I don't think is limited to applications using GWTP btw)
See also https://prerender.io/ (independent from the client-side technology, whether GWT, AngularJS, etc.)

But as Vassilis said, Google and Bing execute JS (to some extent) so at least there you're covered without additional work. Things are likely to be different with Baidu and DuckDuckGo (to name a few)

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
--
BORIS BRUDNOY
Web Application Developer, Java/GWT Enthusiast (LinkedIn)

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.
--
BORIS BRUDNOY
Web Application Developer, Java/GWT Enthusiast (LinkedIn)

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment