Re: Wicket and Tapestry was: [Cayenne vs. EOF...]

From: Jonathan Carlson (Jonathan.Carlso..atun.com)
Date: Mon Feb 14 2005 - 15:15:01 EST

  • Next message: Mike Kienenberger: "Re: Cayenne and Jython"

    All the better to keep your eyes open with. :-)
     
    Personally, I care more about productivity than saving a few megs of
    memory. Granted, I'm sure Tapestry development is fast too, but I got a
    little frustrated with trying to scale the learning curve of the
    required XML markup stuff in Tapestry a few years back. When Wicket
    came along I decided I'd give the concept another try and I've been
    pretty happy ever since, although there is still a small learning curve
    there too (as there is with any new tool).
     
    I'm glad you guys were able to quickly extract the main plusses and
    minuses from the documentation. Tool options are good!
     
    - Jonathan
     
    P.S. I haven't tried integrating it with Cayenne yet because I'm still
    working on my main UI bean components, but I expect I will be soon.
     

    >>> eri..entralparksoftware.com 2005-02-14 12:31:32 PM >>>
    From the user manual:

    "Although Wicket is a very convenient, efficient and powerful way to
    code a web application, it almost certainly will consume more server
    side resources (memory in particular) than most existing frameworks,
    including JSP, Tapestry and JSF. In other words, the benefits of
    Wicket are not achieved without a price. "

    "Since no significant applications have yet been written in Wicket,
    performance characteristics of the toolkit are not yet well understood

    and it is expected that Wicket may not be appropriate for web
    applications which require especially high performance and/or which
    must be highly available."

    Yikes......not exactly a great advertisement.

    e.

    On Feb 14, 2005, at 12:49 PM, Robert Zeigler wrote:

    > Eric Schneider wrote:
    >> Jonathan,
    >> Does wicket have built-in state management similar to Tapestry?
    (i.e.
    >> persistent page and component properties, form rewind, etc.).
    >> Thanks,
    >> eric
    >
    > I just checked the link out briefly; it does, indeed, have built-in

    > state management. I just did a quick once over of the site, but, as

    > far as I can tell, here are some of the key differences between the

    > two frameworks:
    >
    > 1) Tapestry gives you the choice of going stateful (through the
    > session) or stateless. In wicket, all applications seem to be always

    > stateful (via the session). In return, it looks like the state
    > management may be a bit more transparent (in most but not all
    aspects)
    > in wicket than in tapestry.
    >
    > 2) Wicket components and pages consist of an html template (appears
    to
    > be required) + a POJO class (also appears to be required). Tapestry

    > components and pages consist of an html template (components may or

    > may not have a template), a .jwc or .page (xml) configuration file,

    > and a java class (optional). Thus, it looks like all configuration

    > and wiring of objects to pages is done in java code in wicket, ala
    > swing.
    >
    >
    > 3) All template-backing java classes in wicket are POJO. In tapestry,
     
    > you have to implement the IComponent interface or the IPage
    interface,
    > which usually consists of extending one of several base classes.
    > However, HLS appears to be looking into ways to change that, so, look
     
    > for POJO page and component classes in tapestry in the future.
    >
    > Other notes:
    >
    > The quickstarter page mentions that they assume you have at least
    java
    > 1.4 installed; I'm not sure if that means that wicket requires java

    > 1.4, or if just the quickstarter kit requires it, but it's something

    > to keep in mind.
    >
    > They make some claim about component libraries being worlds easier to
     
    > put together than in tapestry of JSf. I can't speak for JSF, but
    > tapestry component libraries are really pretty trivial to put
    > together, so I think this is an exaggeration, personally.
    >
    > Both are available under the apache 2.0 license.
    >
    > I will stress the fact that I just did a pretty quick once over of
    the
    > wicket site, so, take the post with grain of salt. =)
    >
    > Robert
    >
    >> On Feb 14, 2005, at 12:02 PM, Jonathan Carlson wrote:
    >> Just to mention... Wicket is a Tapestry-like web framework
    that
    >> hasn't reached 1.0 yet, but seems much simpler to learn than
    >> Tapestry while still using a pure HTML markup like Tapestry.
    When
    >> they get the UserDoc rewritten to reflect all the changes
    they've
    >> made, it will be hard to beat. (IMHO :-) The original creater
    >> worked at Sun on the Swing toolset (don't hold it against him
    :-)
    >> and is a good documenter.
    >> http://wicket.sf.net
    >> - Jonathan P.S. No, I'm not a Wicket developer,

    >> but I'm a Tapestry-approach
    >> admirer who has been very pleased with how quickly I've become
    >> productive with Wicket.
    >> >>> michael_gentr..anniemae.com 2005-02-11 9:51:07 AM
    >>>
    >> Just to beat on the drums some more, Cayenne is my new EOF.
    With
    >> the 1.1 version, Cayenne really became capable of replacing EOF
    >> (optimistic locking, etc) for my needs. The GUI modeler is
    useful
    >> (compare to open source ORM frameworks). The framework and
    >> modeler
    >> are under active development. Plus, you have the source code.

    >> Let
    >> me repeat: You have the source code! I've been able to step
    >> through
    >> the code in the Eclipse debugger to figure out what was going
    on
    >> (usually my mistake, but sometimes you catch a Cayenne bug and

    >> when
    >> you report the problem, which you can do with great precision,
    it
    >> gets fixed -- quickly). The mailing lists are great. There is
    an
    >> energy here that is missing with EOF/WO.
    >> I've started using Tapestry a bit, too. I'm by no means an
     
    >> expert,
    >> but it seems to be WO-like. Has some nice things compared to
    WO,
    >> but lacks some things in WO, too (can't reuse bindings is a big
    >> annoyance). Cayenne works great inside Tapestry. Cayenne +
    >> Tapestry + Tomcat: Free. Having the source code: Priceless.
    >> /dev/mrg
    >> -----Original Message-----
    >> *From:* Dov Rosenberg [mailto:dov.rosenber..onviveon.com]
    >> *Sent:* Thursday, February 10, 2005 7:52 PM
    >> *To:* cayenne-use..bjectstyle.org
    >> *Subject:* Re: Cayenne vs EOF: How to questions?
    >> That is good to hear. How dramatic of a change is it to move
    from
    >> EOF to Cayenne? Are you using Tapestry as well? Have you come
    >> across
    >> anything that has given you pause about Cayenne?
    >> Thanks in advance
    >> -- Dov Rosenberg
    >> Conviveon Corporation
    >> http://www.conviveon.com
    >> On 2/10/05 6:37 PM, "Bryan Lewis" <brya..aine.rr.com> wrote:
    >> On the first question, I'm currently converting several old
    apps
    >> from WebObjects 4.5 to Cayenne and have had no trouble keeping
    our
    >> old flattened relationships. See the user's guide:
    >>
    >> http://objectstyle.org/cayenne/modelerguide/modeling-object-layer/
    >> flattenedrel.html
    >> ----- Original Message -----
    >> *From:* Dov Rosenberg <mailto:dov.rosenber..onviveon.com>
      
    >> *To:* cayenne-use..bjectstyle.org *Sent:*
    >> Thursday, February 10, 2005 5:52 PM
    >> *Subject:* Cayenne vs EOF: How to questions?
    >> A few questions on the capabilities of Cayenne as compared
     
    >> to Apple
    >> EOF
    >> 1. Does Cayenne support flattened relationships like EOF?

    >> If so,
    >> what is the equivalent? 2. I understand that Cayenne does

    >> not currently support
    >> EOPrototypes to make it easier to switch between databases,
    what
    >> is
    >> the Cayenne preferred method for supporting multiple
    databases?
    >> Seems like it has something to do with DataMaps. Not sure
    though
    >> 3. How can I programmatically swap out my connection
    dictionary
    >> at
    >> application startup? I.e. Allow me to store userid/password in
    >> separate file from the cayenne.xml and update them when the
    app
    >> starts up. 4. Is there a hook for generating primary keys

    >> on the client side
    >> similar to what we currently do with a DatabaseContextDelegate

    >> and
    >> our own guid generator? 5. Is there any Cayenne support

    >> for doing lightweight, high volume
    >> SQL processing (i.e. For batch updates)? EOF has too much
    >> overhead
    >> for large amounts of sql processing in batch mode. Ideally a
    >> smarter version of RawRowsForSQL that doesn't create all the
    >> objects in an object graph.
    >> Thanks in advance.
    >>
    >>
    **********************************************************************
    >> This email and any files transmitted with it are confidential
    and
    >> intended solely for the use of the individual or entity to whom

    >> they
    >> are addressed. If you have received this email in error please

    >> notify
    >> the system manager.
    >> www.katun.com
    >>
    >>
    **********************************************************************
    >



    This archive was generated by hypermail 2.0.0 : Mon Feb 14 2005 - 15:15:23 EST