Mike Schrag stated in the "State of the Union" thread:

<quote>
* My understanding is that JavaClient stuff is technically still there, but there's not very good tool support for it. NetBeans project file support for Entity Modeler would allow the combination of Entity Modeler plus the Swing designer tools from NetBeans, which would probably be a good platform to start from for that (Swing builders in Eclipse I think mostly suck still?).
</quote>

If anyone outside of Apple could know what the true _current_ state of WO is under the hood, it would be Mike - note, I'm not saying he _does_, just than if anyone could, it would him). He also seems to have a pretty good understanding of the tools for some reason... :) I don't think anyone, even at Apple, knows what is _going_ to happen to the JC libraries that haven't been depreciated. I think that it may take hearing from the development community as to what they use and want to determine it's future. Please don't be quiet!

I don't know if the new javaEOGenerator supports Java Client classes or not, I haven't had a chance to look yet, but with the tool soon-to- be open-sourced, I'm sure it can be added if there are enough people needing it. Other than that, I don't think there's any other WO- specific tools required for doing a Swing/SWT/etc Client. Am I wrong?

As far as ways to continue JC development without D2JC and Nib-based options, please read Florijan Stamenkovic's turorial on how to setup Swing-only UIs: "WebObjects Java Client, the 3rd way" at http:// web.mac.com/flor385/eSwamp/software/wojc_tutorial.html

Building off this tutorial, he's been working on a WO Java client data-binding library that stands completely separate from D2JC and nib-based development. You can then put a Swing, SWT, or other UI on top of it using standard (Non WO-Specific) tools. If the JC libraries are still in WO, then this solution should be a big step to simplifying JC development without any relying on any depreciated technologies. Here's the basics of how far he's gotten so far:

1. Event firing EO class (com.havaso.util.eof.ClientEO class)
Quite straightforward.

2. EOFDataSource interface and implementations (the com.havaso.util.eof.data package) These are basically EO container classes, made to either store or proxy EOs, listen to their changes and provide event firing support of their own.

3. EOFBinding interface and three implementations (viewing, editing, adding) Classes that interact with EOFDataSource and / or binding groups (EOFAddGroup, EOFEditGroup) to provide EOF data to end objects that will consume it (for example user interface models and such). Deferred editing and adding included.

4 Support classes for the above:
        a. KeyPathChangeMonitor - quite important, check JavaDoc for more info
b. ClientDataObject interface and implementations - used by bindings to enable deferred adding and editing c. ValidationHandler interface and basic implementations - used by EOFBindings to handle invalid values

The stuff provided above should make it relatively easy to build concrete Swing, SWT and other client tech specific binding implementations, and thereafter to make filthy rich client apps quite reliably and simply.

I know I'm planning on digging into it soon because a large portion of my application is D2JC, which will need to be replaced.

He sent it out to a bunch of us JC people a few weeks ago, but hasn't gotten any feedback on it yet. He is currently Internet-challenged due to where he's living. I'll get his permission to send it out the library. Anybody who wants it, email me off-list.

Long live JC!

Dave

On Nov 1, 2007, at 12:54 PM, Jarda Hanuš wrote:

And I have EXACTLY the same question. We develop and maintain quite a huge application with two frontends - html WebObjects for extranet users and Java Client for intranet. For JC we used the NIB- Based IB development, although with quite a lot of hacks to force it to work the way we needed. Now we have about 50 interfaces to rebuild.

And we have to decide, where to go from now on.

- Whether try to continue the JC way, using the *distributed* wo libraries together with some third party GUI builder for Swing or SWT or even GWT interfaces (by the way - if you, Dave or John would give me just some few hints about the bindings of these libraries with pure Swing or SWT interfaces, I would greatly appreciate that). Personally I think that this would be a bit easier to code for the moment, but definitively we need to know what will happen with all these .distributed. libraries in the future.

- or whether go the WO app server + Web Services + not_WO client (for example Flex) path. This seems to me a bit more complicated for the moment, as we would need to completely change the client side logic, and add the Web Services layer to the server. Also I have some little doubts about the performance of this solution. But it would free us from this *will it be or will it not be* (deprecated) dilemma, at least as long as the whole WO world is not deprecated ;)

So, please, if somebody has an answer concerning the future of JC internal libraries, let us know!

Thanks!

Jaroslav

Okay, I have the same question as John and Flor, and I don't think it's been answered yet. For those of you NOT doing regular Java Client (I guess there a few ;) there have been THREE ways of doing WO JC development in the past:

1) D2JC
2) NIB-Based using Interface Builder
3) Straight Swing (not using NIBs, rules files, or any other cool, but depreciated tech)

1 and 2 have be obviously depreciated, even if they can be tricked into working. That's not the question.

The question is, is #3 still a viable option? Saying either 1 or 2 still work with some hacking only confuses the question. Are the libraries that maintains the editing contexts on the client side and their communication back to the server-side UNdepreciated, or is it included in the libraries depreciated as part of D2JC and Nib-Based JC?

Does anyone have a definitive answer to this? (please don't invoke curses such as "AJAX" in your answer!)

Thanks!

Dave



 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40avendasora.com

This email sent to [EMAIL PROTECTED]

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to