3 Replies Latest reply on Jan 22, 2016 1:21 PM by Aaron Anderson

    GWT and Errai..again about their future.

    mauriclaudio Newbie

      Hi there, I hope to get here an advice about a question I'm afraid is asked very often...

      We are evaluating several alternatives for building web application interfaces, and at least in our case a Java Web framework is the only practical choice, given that we aren't very skilled Javascript programmers and the application we're going to write will be quite a large project. We believe that a pure HTML + Javascript + JS Framework approach would allow us to create quickly prototypes, but  on the medium / long term the whole thing may turn into a real hell, when dealing with maintenance, upgrades, debugging,  and so on.

      At the moment, only  production ready, viable alternatives we found are GWT (and frameworks under its umbrella) and JSF (which despite a not so good fame, is a Java EE standard), and we are evaluting both of them.GWT has got at least a couple of features that makes us willing to adopt it, and among various GWT implementations, Errai has the advantage to be under Red Hat / JBoss umbrella, so we think it will integrate better with Wildfly and / or other JBoss products.

      Moreover, Errai authors seem to have a clear idea about where their framework is going, which is its roadmap, and so on.

      This said,  we have a big concern about the sustainability of choosing  GWT for the foreseeable future. No one has a crystal ball, of course; nevertheless, it's worrisome that current GWT release (2.8) is still in beta, after more than an year after the last stable release. So, first we are literally scared that, at a given point, GWT will disappear dragging with itself all related frameworks. It would not be a problem in itself - one may go on using the latest stable release - but GWT is a "mediator" (let me define it so) between two worlds, Java and the browser, both of which aren't going to stop enhancing and evolving over and over. If GWT stops evolving, later or sooner it will be incompatible with next Java / browsers releases.

      As a second concern - as the first wasn't enough ! - we're seeing that ALL gwt frameworks are moving from Widget to embrace WebComponents like Polymer. Doesn't seem a little difference: with web components, would the developer still be able to write custom components and using Java all over the project, to handle events and GUI layouts and so on ?

      How would Errai survive (and project based on it) in the case of GWT being abandoned ?

      Thanks in advance to everyone and, please, forgive me if some questions seems "nasty"....

        • 1. Re: GWT and Errai..again about their future.
          Christian Sadilek Master

          Hi Claudio,

           

          I share your view that using a pure Java stack benefits long-term code maintainability. You will be able to use the same build tools for client- and server-side development plus you get to share (instead of duplicate) code across application layers. Of course, in the long run, writing your client-side code in a statically typed language has lots of advantages as well.

           

          Both GWT and Errai are mature technologies. GWT has been around 10+ and Errai 6+ years. The concerns that GWT is somehow going to disappear and Errai is to follow have been raised a number of times over the years. Yet, here we are, working on Errai 4 while GWT 2.8 is approaching final. I don't really have an advice but I can tell you that we have quite a few projects at Red Hat depending on Errai and GWT and we don't have plans to rewrite them using a different technology. GWT and Errai are open source projects. So, it's not clear to me how they could disappear but I think you're concerned about those projects no longer being maintained or that they stop evolving. That's a risk you're taking with any framework adoption. Looking at the churn rate of JavaScript frameworks, who can guarantee that say Angular or React are still being actively developed in 5 years from now? Of course, newer frameworks will see more frequent releases and as adoption rises you will read more about them, but it's really up to you too. As a community member, you can contribute to Errai and GWT and you're more than welcome to do so.

           

          Cheers,

          Christian

          • 2. Re: GWT and Errai..again about their future.
            mauriclaudio Newbie

            Hi Christian,

             

            thank you a lot for your reply. I think your answer is very well detailed... and very persuasive.

            You're right, our main concern about GWT isn't about its real capabilities or power - it's about the risk it may be abandoned or not kept up to date, with the result we get into a dead end.

            It's really important for us (or, better, reassuring)  knowing that Red Hat internally uses GWT and Errai and hasn't plans to replace it with other tools or frameworks.

            And it's absolutely true that adopting anything in IT world has its own degree of risk, expecially in the ambit of JS / Web frameworks where new "next big things" fade away with more or less the same speed they gained their momentum.

             

            Thank you again.

            All the best,


            Claudio

            • 3. Re: GWT and Errai..again about their future.
              Aaron Anderson Newbie

              From my perspective GWT with Errai is more of a productivity booster for Java developers rather than a distinct full fledged framework.With Errai one can take existing web assets such has HTML fragments and Javascript libraries and then layer in behavior using common JavaEE APIs and patterns Java server side developers are familiar with. I started building a web application using JSF but I soon got frustrated with page layout problems that originated from conflicting embedded CSS and JavaScript inlined by JSF components. With Errai I was able to purchase a pre-integrated bootstrap theme with a variety of functional form controls and page layouts. Even though the web content had nothing to do with GWT or Errai I was then able to use Errai templates and wrapper code to build my own re-usable component library just the way I wanted it. I had full control of what HTML and JavaScript was included in the pages and how they were used so I never encountered any framework conflicts or limitations. If one uses GWT and Errai as glue to blend client side HTML and Javascript with minimal Java code for event handling and server side interaction then even if something were to happen with Errai or GWT it would not be impossible to replace all the GWT code with pure JavaScript. Not being a web content developer I personally have been amazed at what I have been able to accomplish with it.