Sunday, March 27, 2016

Is GWT Dead, Dying or Thriving?

So I haven't written about GWT for several years, apologies.  Apart from the birth of my new baby twin boys, (2 years ago) I haven't had much spare time, or frankly the inclination to write about GWT.  Why?  Well I am just not that enthused about the platform anymore.  As a software engineer you are always conscious whether you are using the best tool for the job, it is on your mind constantly.  You are constantly bombarded with forum discussions, technology posts, how-to videos, conferences, product releases.  All building a narrative of what is the best and most current technology to use.  A lot of these are gumpf, but some are enlightening.

GWT used to enlightening.  I was coming off 5 years of Microsoft development and I was wowed by the GWT SDK.  It did so much.  I could write client code in the same language as my server.  It would compile to that horrid Javascript language for me and also take account of all browser differences.  WOW.   I had just about had it with IE.  Internal thought GWT means never having to deal with IE again. Sign me up!

GWT was good.  It was refreshing.  It was new.  Google IO 2010 was all about GWT.  The only Google IO I have ever been to was confirming all my suspicions about GWT.  They built ADWORDS with it, for god sake.  Google loves it.  I love it.  Lets jump in.  And then it happened.  I built something large with GWT.   9 minute compile time? Hmmmm.... ouch.

For years we have been constantly reminded about how the compile time will speed up.  About how it is constantly being adjusted and improved.  Which is nice.  It's nice to know that it's a problem for others.  I guess maybe I should have been thankful for my 9 minute compile, as it could have been 20 minutes.

The web moves fast and so does this engineer.  I have been using Angular for the last 4 years and it is clear that the leap in productivity I experienced from moving to GWT from legacy web dev, has been achieved again by moving to Angular 1.XX and now Angular 2.XX.  This will be the last post on GWT.  I wish it all the best in the future and hope it rests in peace quickly.  Goodbye GWT - You were briefly awesome.

11 comments:

  1. GWT is adapting to the evolution of web technologies.
    https://drive.google.com/file/d/0BwVGJUurq6uVa2tpaTRLSzlBMDQ/view

    Super Dev Mode SDM
    http://www.gwtproject.org/articles/superdevmode.html

    JsInteropt
    https://docs.google.com/document/d/10fmlEYIHcyead_4R1S5wKGs1t2I7Fnp_PaNaa7XTEk0/view?hl=es&forcehl=1

    Integration with polymer
    http://www.gwtproject.org/doc/latest/polymer-tutorial/introduction.html

    Integration Material design
    https://github.com/GwtMaterialDesign/gwt-material

    Integration with Twitter Bootstrap
    https://github.com/gwtbootstrap3/gwtbootstrap3

    Simple a fast REST services integration
    https://resty-gwt.github.io/

    ¿Integration with React?
    https://plus.google.com/118432214189324759065/posts/PAqvudLb8S6

    New J2CL transpiler:
    https://groups.google.com/forum/#!topic/google-web-toolkit-contributors/1t6x_Zg1E8I

    ReplyDelete
  2. Professionally, I am still stuck on JSF as part of the JEE standard. Privately, I have used both GWT and Angular JS.

    Angular JS is much more productive for a rookie and small project size.
    You have amazing community support, for one.
    You have several angular js contributions in the community.
    You have Model View Controller design pattern implemented perfectly.
    The glueing of your browser events to your controller business logic is just smooth and easy.
    Angular JS makes writing javascript so much better.

    With that said.
    Unless Google Lets GWT die all together, and it still has not, for see in the trunk of GWT several commits still going in from people with @google e-mail address, GWT is the way to go.

    I have done some scary massive refactorings of code.
    Refactorings that were so large Netbeans could not cope with it, only Eclipse.
    Such degree of code re-factoring and redesign of architechture would never have been possivle if code had not been written in strong typed language with he support of a powerful IDE that can do class renaming, package moving, etc... across the board.

    GWT is a very difficult framework for web development to pick up.
    Only a person with a sharp brain can really pick-it up, while angular JS as accessible to anybody.
    But still, my personal preference for a serious project would still be GWT in the end of the day.

    The only real problem of GWT is the ridiculous rate at which releases come out. That part of GWT, the release notes, is nothing short of pathetetic.
    It is also sad that Google community recommendation is check out trunk and manage your own Nexus Releases...
    That is the core problem.

    But fundamentally, there is little doubt:
    GWT is the better choice.
    You have proper IDE support.
    Proper refactoring.
    Strong typing - which Angular JS 2 kind of introduces.
    You can do Sonar Conde Analysis in your code.

    You can use Testing Libraries like Junit and Mockito, where in Javascript you can also have those but they are much more poorly documented and have much nastier APis...

    Overall, GWT is an expensive investment to pickup, but it pays off in the end. That is my impression, and Still today, i would Choose GWT overal Angular for a serious project.

    But if community support is major concern, than Angular should be chosen as google has much more resources behind this technology.
    I find it a mistake on on their part, as GWT is conceptually superior. Treating from its concept Javascript as Assembly and promoting higher quality programming language like java with massive user base as the base language to manufacture the javascript.
    When the concept is right .... way step back.

    angular Js is only the best ever implemnetation of Javascript based ui framwork. But it is not java driven... so no!

    ReplyDelete
    Replies
    1. Sono, have you have never used TypeScript and WebStorm? I've built huge web applications with the new JS toolsets and can assure you - you have all the strong typing and refactoring power you can imagine, no less than using Eclipse & GWT

      Delete
  3. You want to relax after a stressful working hours. Refer to our website. Hope you get the most comfort.
    Thanks for sharing !
    GirlsGoGames
    Kizi 100
    Frvi

    ReplyDelete
  4. Hi! You say you like Angular 2, so I have a gift for you !
    Try this Angular2+GWT+Java 8 integration, you'll be able to write an Angular 2 application with Java 8...
    Here is the link : http://lteconsulting.fr/angular2boot/

    ReplyDelete
  5. Go Cardless with Direct Debit and BHIM application in the digital payment method.

    ReplyDelete