Wiki source code of Java Client-Overview

Last modified by David Avendasora on 2008/07/16 10:13

Hide last authors
David Avendasora 14.1 1 Java Client is a Three-Tier development model for WebObjects. The interface is a Java Application instead of a web page or web service. One of the big advantages of Java Client is that you can easily program client-side logic into the user interface that requires little or no direct communication with the server. This allows for a rich client experience without the complications of Ajax, but now requires extensive Swing programming which has it's own set of hardships.
smmccraw 1.1 2
David Avendasora 12.1 3 Historically there were three methods of WebObjects Java Client development:
4
David Avendasora 4.1 5 1. Direct To Java Client (D2JC)
6 1. Java Client using Interface Builder to create NIB files that define the UI
David Avendasora 16.1 7 1. Java Client using pure Swing
David Avendasora 4.1 8
David Avendasora 17.1 9 The first two types used other files (XML/NIB files) to build the Swing code during run-time. This can make for quick development times requiring very little Java programming.
David Avendasora 4.1 10
David Avendasora 16.1 11 D2JC is very flexible with the UI generated almost entirely at runtime by text-based configuration files (the same rules-system used by Direct to Web). This allows the developer to go from Database or Model to a native-UI application in just minutes. Major changes to the underlying database/EOModel can often-times be reflected in the UI with little or no Java programming or refactoring at all.
David Avendasora 4.1 12
David Avendasora 17.1 13 NIB-Based development used Project Builder/Xcode's Interface Builder application to create cocoa-based NIB files that were then interpreted at run-time using the Cocoa-Java Bridge to create a pure Swing application. NIB-based development has been deprecated due to the deprecation of the tools required for development and the Cocoa-Java Bridge.
David Avendasora 4.1 14
David Avendasora 17.1 15 Swing-based Java Client Development has recently gotten much simpler with the release of Florijan Stamenkovic's [[javaBound (JBND) framework>>url:http://web.mac.com/flor385/JBND/||shape="rect"]] which greatly streamlines many key pieces of native-client application development.
David Avendasora 16.1 16
David Avendasora 4.1 17 While there are not a lot of WebObjects Java Client projects when compared to the quantity of Web-Based projects, it seems to be getting more attention now than it has in several years.
18
David Avendasora 18.1 19 There are a couple third-party developers working on solutions to streamline the development of pure Swing/SWT/etc Java Client applications for Web Objects. See [[Complimentary Frameworks>>doc:documentation.Home.Development Architecture.Java Client.Java Client-Complimentary Frameworks.WebHome]]