Wiki source code of Java Client-Overview
Last modified by David Avendasora on 2008/07/16 10:13
Show last authors
author | version | line-number | content |
---|---|---|---|
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. | ||
2 | |||
3 | Historically there were three methods of WebObjects Java Client development: | ||
4 | |||
5 | 1. Direct To Java Client (D2JC) | ||
6 | 1. Java Client using Interface Builder to create NIB files that define the UI | ||
7 | 1. Java Client using pure Swing | ||
8 | |||
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. | ||
10 | |||
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. | ||
12 | |||
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. | ||
14 | |||
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. | ||
16 | |||
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 | |||
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]] |