Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    is smartclient that right tool for me?

    hi..

    we have a homegrown java framework which uses custom taglibs which employs velociy templates to render ui tags to ther client, currently it's a mess and only works with ie 6.0.
    my idea is maybe to use an external framework which should replace all calls to templates and javascript libraries.

    here is an example of our template textbox:

    <input id="$controller.id"
    type="$controller.fieldType"
    name="$controller.fieldName"
    value="$controller.fieldValue"
    class="$controller.fieldStyleSheetClass"
    title="$controller.tooltip"
    ##if ($controller.htmlSize)
    size="$controller.size"
    ##end
    #if ($controller.maxSize == -1)
    maxLength="$controller.size"
    #else
    maxLength="$controller.maxSize"
    #end
    #set($labelStyle="")
    #if($controller.label)
    #set($labelStyle = "border:0px;")
    ##set($labelStyle = "border:1px; background-color: transparent;border-color : #999999")
    #end

    style="text-align:$controller.textAlign;$labelStyle"
    #if($controller.fieldReadOnly.length() == 0 && $controller.label)
    readOnly
    #end
    $controller.fieldReadOnly

    onmousedown="rightClickEvent(event,this);"

    #if($controller.shouldSubmitOnEnter)
    onkeydown="return blockActionButtonsExceptEnter(event,'$controller.blockActionKeywordButtonsMsg','$controller.submitAction','$controller.confirmMsgBeforeSubmit');"
    #else
    #if($controller.fieldReadOnly.length() > 0)
    onkeydown="return blockActionButtons(event,'$controller.blockActionKeywordButtonsMsg',false);"
    #else
    onkeydown="return blockActionButtons(event,'$controller.blockActionKeywordButtonsMsg',true);"
    #end
    #end

    #if($controller.submitOnFocusout)
    onChange="submitForm('$controller.submitAction',false);"
    #end

    $controller.tabIndex/>

    #if($controller.focus)
    <script >
    document.getElementById('$controller.id').focus() ;
    </script>
    #end

    can smartclient be integrated in such a flexible manner?

    #2
    SmartClient is the right tool for upgrading almost any legacy web application, however, what you're currently thinking of as flexibility is actually the reason you're stuck on IE6 :) You don't want to be adding event handlers directly to DOM elements or rendering HTML on the server side, these are both obsoleted techniques with severe portability and performance problems.

    The best way to get started quickly is to take advantage of our Jump Start program, which combines Isomorphic building you a starter application along with training so you can move forward with the modern Ajax/RIA architecture.

    Comment


      #3
      the layer of jsp taglibs, controller classes, adpters and so on, i was thinking for example that instead of rendering the template with html, i would render it with your xml that would have the same id references (like $controller.id). i would first have to map our current java script and velocity templates and their current functionality, but would stil keep me on the front end.

      i'm trying to decide if a low level approach of jquery (it's completely free, and open source, no single company behind it), so for each functionality i recognize i could search for a plug-in in their plug-in repos. problem is i can't see anything basic such a text box or checkbox widgets. but then again i guess the lack of complete solution on their part could make more adaptable with bits and pieces.

      Comment


        #4
        So again, your existing architecture involves server-side HTML rendering and is obsolete. The modern Ajax/RIA architecture is to have the server as a set of secure data services while the client handles all presentation duties. This is far simpler and far more responsive and scalable.

        The Jump Start program will bring you up to date.

        JQuery is a good way to do a LOT more work than you have to. SmartClient comes with pre-built CRUD integration that all UI components understand and that extends all the way to your Java business layer. Even once you've cobbled together all the JQuery plugins you can find, you are still many months behind your starting point with SmartClient, with a much less feature rich result.

        Comment


          #5
          still , looking more around according to this:
          http://stackoverflow.com/questions/394601/which-javascript-framework-jquery-vs-dojo-vs
          http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

          seems like dojo also might be a contender, i guess i'll have to try both and see what blows up first.

          i know dojo's doesn't have a server side integration, but since we are one of the top 5 insurance companies in israel, actually paying for something could be a problem cause of B&B (budget and bureaucracy) issues ...

          Comment


            #6
            By all means do your research, however, bear in mind that many people using and recommending Dojo are not building what you're building, eg:

            1. they are building web sites instead of web applications
            2. they are building on other platforms
            3. they are building in a non-Enterprise setting (no requirements around data volume, transactions, or anything difficult)
            4. they are building some niche functionality where Dojo is one of few frameworks that have any functionality whereas their mainstream core components (like grids) are much weaker.

            In terms of people who approach Isomorphic with a short list of technologies, it is reliably ExtJS (or ExtGWT if comparing with SmartGWT). Flex (but not anymore since it will never work with iPhone/iPad) or server-oriented technology like JSF or ZKoss (indicating a need for training). Dojo used to be common entry but not anymore. It just hasn't kept pace on core functionality, and the quality level continues to be uneven.

            Comment


              #7
              Should also mention, we consider the open source LGPL product to be a better option than Dojo for complex enterprise application development. If you can then purchase an edition that includes the server, so much the better.

              Comment


                #8
                the LGPL product (which had me worried somewhat becouse extjs license against commercial use) against dojo.

                stil i am a little anxious regarding literature. and common uses. because dojo has books and a live community around it. (i just ordered a few books about dojo) from amazon, so its has an eco system. if smart client would be like springframework or hibernate, as they are also OS companies i would be more relaxed as they have an on going eco system as well aside of their own company.

                Comment


                  #9
                  Dojo has books that tell you how to do things that you never have to worry about with SmartClient because they are built into the framework.

                  Dojo has a community full of people mostly doing relatively simple things.

                  SmartClient has tens of millions of enterprise users across the entire Global 2000 using complex business applications that process hundreds of billions of dollars in transactions.

                  Neither is going away. Pick the group you resemble.

                  Comment


                    #10
                    but i'm from israel, i know i'm workin on sunday becouse our work week is sunday till thurdsay (which alwayw sucks looking for support) first time an overseas company answered me on a sunday..

                    one more thing, which i guess could be true for spring and hibernate.


                    we had an open source web service framework called glue , i'm saying had becouse the person who wrote it, sold it to webmethods, and so we were left standing we jars minus source codes which didn't have line numbers. not sure if there is a license which can prevent that.

                    Comment


                      #11
                      Always a risk, and source escrow is a way to mitigate it (available as an option with Enterprise licenses).

                      However, recognize that this situation doesn't arise just with closed source. You wanted to get off the "glue" product because you felt the purchasing company wasn't going to develop it further, or some other problem. Similar risks apply to picking an open source framework that could become less relevant or go in the wrong direction.

                      The difference in effort to get off of a technology may not even be helped much by having source code. It has more to do with whether you understand exactly how you were using the technology and whether you had to add a lot of poorly understood hacks to make it work.

                      Finally, what we have as closed source, Dojo does not have at all. So this is not a comparison point against Dojo in terms of open or closed source (both technologies have open source UI components), it's a separate question of whether to adopt server-based functionality as well.

                      Comment


                        #12
                        i was having a hard time figuring out the licesing bit anyway, between developer, and actuall production. we have around 5 developers, but they won't be actually working directly with the product. but with our custom jsp tags.

                        another thing, can you point out the in the demo show case which of the nodes are relavent to the LGPL product?

                        Comment


                          #13
                          Read the Product and Licensing FAQ linked from smartclient.com/product for this and many followup licensing questions.

                          See the FAQ in this forum - there are two separate Showcases, one LGPL, one Pro and better.

                          Comment


                            #14
                            the form controls and validation are included in the LGPL product?

                            Comment


                              #15
                              Yes - client-side validation.

                              Comment

                              Working...
                              X