Announcement Announcement Module
Collapse
No announcement yet.
To GWT Roo or not to GWT Roo, especially when more complex than basic CRUD? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • To GWT Roo or not to GWT Roo, especially when more complex than basic CRUD?

    Hi all,

    I came across Spring Roo recently and have put in a considerable amount of research as far as whether to use it for my app or not. However, I'm running into a couple of issues in my consideration.

    1) GWT support (Spring support for GWT/addon?):
    Spring Roo integration with GWT (more specifically the gwt addon for Roo to make MVP life easier) was presented back in 2010 in the IO keynote (http://www.youtube.com/watch?v=GQHlhIIxCIc) and in a talk by Ray Ryan (http://www.youtube.com/watch?v=M5x6E6ze1x8) and it seemed promising. However, in all my googling it seems like the gwt-roo presence/community has been sorely lacking, is it just me? Is GWT still on the Roo bandwagon? The last doc on it by gwt (https://developers.google.com/web-to...torial/roo-sts) still references 2.1, and if you following it currently, all the STS side stuff doesn't run properly (at least it didn't for me).

    2) My app is going to be more complex than simple CRUD. Ideally, if I were to use Roo, I would only want it to do it's "magic" for the Model/domain layer, but leave the Presenter and View layers to me and not interfere with them. In all my searching I couldn't find any docs referencing this specifically (aside from some obscure blog posts which are even direct). Is it that it's not possible or too hairy? Or am I trying to have my cake and eat it too?

    3) Finally, does the community even recommend using Roo instead of just going with RequestFactory and just writing the services yourself (for Model/domain interaction)? Do the benefits of using Roo outweigh the drawbacks when aiming for a more-than-CRUD app?

    I did find a post by K. Rimple which was a little disconcerting: http://www.coderanch.com/t/582623/Spring/Spring-Roo-GWT, is this still the case?

    I love the idea of being able to declare a field in my entity and having dev time shell create the corresponding boilerplate stuff for the model and services communication, but not if it's going to be a huge headache trying to set it up so that it will do that properly.

    Thanks in advance for any suggestions, comments, help, I know this was a little long....I really appreciate it.

    -Seth

  • #2
    @dprpme,

    Please, tell me 3 features about GWT that are making you choosing it....

    You can refer more if you can or want.

    I might have an -viable SR- alternative for you but I need to know whether or not matches your expectations.


    Thank you
    jD @http://pragmatikroo.blogspot.com
    Last edited by delgad9; Aug 25th, 2012, 08:53 PM.

    Comment


    • #3
      Originally posted by dprpme View Post
      2) My app is going to be more complex than simple CRUD. Ideally, if I were to use Roo, I would only want it to do it's "magic" for the Model/domain layer, but leave the Presenter and View layers to me and not interfere with them. In all my searching I couldn't find any docs referencing this specifically (aside from some obscure blog posts which are even direct). Is it that it's not possible or too hairy? Or am I trying to have my cake and eat it too?
      It works, not hairy.
      But... what gives you Roo when you only create the domain, data and service layer with it? Not much...
      In the past I thought too, that this is a good way to use Roo. But really, more cons than pros...
      All this IDT stuff is a bit strange and does not fit 100% into the IDE although the AspectJ-Dev-Tools in Eclipse.

      The big advantage of Roo is that it creates the whole stack, from domain to UI, where the UI is the part where a developer has really much to do. If you cut off the UI - there not much work to do for Roo what a smart developer with a smart IDE cannot do nearly as fast as Roo.

      Originally posted by dprpme View Post
      3) Finally, does the community even recommend using Roo instead of just going with RequestFactory and just writing the services yourself (for Model/domain interaction)? Do the benefits of using Roo outweigh the drawbacks when aiming for a more-than-CRUD app?
      I would use Roo only when:

      * the really bigger part of my app is 100% CRUD.
      OR
      * I'm an expert in writing Roo addons

      Personally I think Roo is dead.

      Comment


      • #4
        Hi JD,

        I actually came across a couple of your posts regarding Roo on the interwebs and looked at your blog before posting here .

        I say the big 3 reasons for going with GWT (aside from having already invested a considerable amount of time with it) and when considering that I'm going for an actual Web 2.0 application and so the client will definitely be thicker than the server side I'd say the reasons are:

        1) Java and its powerful tools, a language I'm more familiar with Java than JS and great IDEs. Debugging, quick dev time.
        2) Highly optimized compilation to JS and flexibility.
        -I've taken a look at what the actual compiler does and it's simply quite amazing.
        -A non-dynamic language like Java affords you the ability to remove dead code and only deliver what would be used so you can code to your hearts content in Java but only deliver the most compact version in JS.
        -Abstraction of async calls and complications and a plethora of other very convenient performance optimizing features (e.g. code-splitting, deferred-binding, clientbundles and resources, etc.)
        3) A very active community (not to say that roo doesn't) with continued support bringing more features and optimizations and performance metrics

        If you have an alternative that offers all of that and more, I'm sold .

        Thanks again,

        -seth

        Comment


        • #5
          Hi spgmx,

          Thanks a lot for your insight. I was leaning towards your thoughts on that matter as well as that is what all my searching seemed to come up with, I just wanted to make sure there wasn't something I was missing or overlooking. But I think you articulated it perfectly.

          Thanks again,

          -Seth

          Comment


          • #6
            Hello Seth,

            If you have an alternative that offers all of that and more, I'm sold.
            As a matter of fact I-do-I-do...

            The alternative is called: "Seth", the real developer that lives inside yourself.
            And I want you think about it, because I am serious and not metaphorical on the point.

            I agree and like your points but bottom line what we are discussing here are better ways to implement Web 2.0 Java applications. I don't think a real "paying-you-to-create-a-solution" User will care much about "optimized compilation" and that stuff. They want cost-effective solution delivered on budget. That's it.

            On your point about an active community. You might be right but the fact is...there are only 464 GWT jobs vs 907 JSF advertized today. I don't say JSF is better than GWT. I am making the point the JSF has twice the market*.


            Now. I think there is totally wrong expectation that Roo will come up with complete solutions out of the bat.
            Roo doesn't cure the flu too. Just in case someone out there might have this expectation too.

            Roo is only the beginning of the project NOT THE END. IMHO this is the very first thing you have to understand for using Roo correctly.

            Personally, I think Roo is sitting on the bench. Waiting for a competent -with winning mentality- coach that call it to win the game for the enterprise Java community.

            I hope you are still "sold" with my alternative as you mentioned. Because is the best and only one I have.


            B. Roogards

            jD @ http://pragmatikroo.blogspot.com

            Final note: Use frameworks, apis, libraries, etc the empower the Developer not turn them in commodities.
            * jQuery+ java has 2144 jobs advertized
            Last edited by delgad9; Aug 25th, 2012, 12:18 PM.

            Comment


            • #7
              Hi JD,

              I like your point, quite inspirational . However the project has already been started and has invested in GWT. The major concerns for the project are scalability and performance, it's not based on a user's dime. So these have to be at the forefront of consideration. If we were working on the user's dime, you'd definitely be on the money.

              Thanks again for your input, it really was appreciated, and definitely something to take into consideration for any future projects.

              -Seth

              Comment


              • #8
                Seth,

                You are welcome...

                Keep the following reference under your sleeve. You can create any gwt type web app with spring web mvc + jquery anytime.

                As shown in this mini-article http://pragmatikroo.blogspot.com/201...-mvc-view.html


                Spring Roo is used for starting the project, of course.

                Just trying to be ( informa + inspira ) tional

                B. & revolted on the users Roogards
                jD
                Last edited by delgad9; Aug 26th, 2012, 01:08 AM.

                Comment


                • #9
                  Roo is a very powerful tool, but it lacks more powerful addons. This is what it makes not very useable besides CRUD webapps.

                  You may try to write addons, here is a VERY simple example: http://www.youtube.com/watch?v=_VMmzaUxE0c

                  The addon stuff is very powerful, but it's all very abstract and complicated and you must be a very good developer to build powerful addons. All samples I have every seen were "Hello world" addons like this in the video.

                  Comment


                  • #10
                    Originally posted by spgmx View Post
                    Roo is a very powerful tool, but it lacks more powerful addons. This is what it makes not very useable besides CRUD webapps.

                    You may try to write addons, here is a VERY simple example: http://www.youtube.com/watch?v=_VMmzaUxE0c

                    The addon stuff is very powerful, but it's all very abstract and complicated and you must be a very good developer to build powerful addons. All samples I have every seen were "Hello world" addons like this in the video.
                    Most importantly than having powerful add-ons for Roo, -addons would be of great convenience, no question about that-; would be to show to the interested Spring Roo community on how to use the baseline to solve many of their real-world problems.

                    I've solved many of the questions post in the forum just by using Roo baseline: This is basically the purpose of my web site http://pragmatikroo.blogspot.com.

                    To solve real-world web development requirements using Spring Roo. No just World-Hello or CRUD stuff.

                    B. Roogards
                    jD
                    Last edited by delgad9; Aug 28th, 2012, 04:33 AM.

                    Comment


                    • #11
                      Too bad that the addons — which seem to be one of the most compelling features of Spring Roo — are currently broken and no one at SpringSource seems to care: https://jira.springsource.org/browse/ROO-3184

                      Comment


                      • #12
                        Who is the owner/maintainer of the GWT support in Roo?

                        What's the status of support for the upcoming GWT 2.5 release?
                        Has anyone tried using GWT 2.5 RC1 with the latest Roo release?

                        Following the last Google I/O event, people at Google, in particular Ray Cromwell (https://plus.google.com/u/0/110412141990454266397/posts) have been reassuring the community that GWT has plenty of life in it. Google continue to use GWT for new internal projects. The new 2.5 release has some very nice new features, and excellent code optimization improvements. It also now supports the Closure Javascript Compiler, and JSR-303 Validation support.

                        In addition to all of that, GWT is changing it's stewardship to a public Steering Committee, of which Google is still a part of. This to me is a good thing. Google are also currently hiring developers for their GWT team.

                        Based on all of that, I'm rather interested in using GWT with my Roo project.

                        Comment


                        • #13
                          I have been developing an application using roo + gwt for quite sometime and I comprehend the code inside/out. There is no magic and I have to say the generated gwt code is beautifully crafted. The perfect implementation of RequestFacotry, editors, UiBinder, Places are all built in. There is a learning curve but if you're familiar with Java and you have a big project with scalability and performance to be the focus then I wouldn't look anywhere else.

                          You can easily get your answers from GWT forum and STS. If something new, I have to say GWT forum is back to be very active lately but unfortunately here STS seems to be making no more effort on GWT part. The majority of the updates I have noticed in the past two years have been on Groovy/ Grails. This is very unfortunate since there is a good demand for GWT and the current roo-gwt integration is already in a decent state. It seems that making minor upgrades/tweaks and extending the current sts add-ons to gwt (like reporting) would keep everybody happy but it hasn't been happening here.

                          I am writing this post as my application stopped compiling since yesterday for no good reason which appears to be AspectJ problem, frustrated as I can't seem to figure it out but still, if I were to do it all over again, I would choose Roo + GWT

                          Comment


                          • #14
                            @Guys,

                            I took some time but better later than never...

                            Finally there is official attention into the jQuery-Web MVC integration.

                            I just found it http://blog.springsource.org/2012/08...e_Team_Blog%29

                            This is the new RIA standard for successful Java Web Enterprise... Everything else is validated legacy now.

                            For the Historians, everything started with http://pragmatikroo.blogspot.com/201...ve-jquery.html

                            B. and so validated Roogards
                            jD @ http://pragmatikroo.blogspot.com/201...-datatype.html
                            Last edited by delgad9; Aug 30th, 2012, 05:15 PM.

                            Comment


                            • #15
                              Originally posted by delgad9 View Post
                              @Guys,

                              I took some time but better later than never...

                              Finally there is official attention into the jQuery-Web MVC integration.

                              I just found it http://blog.springsource.org/2012/08...e_Team_Blog%29
                              .....
                              delgad9, Although Spring MVC & JQuery integration is very interesting in and of itself, your post just seems off topic, and does not talk to the actual questions being asked in this thread.

                              Comment

                              Working...
                              X