Changes for page Java Client-Overview

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

From version 13.1
edited by David Avendasora
on 2008/01/11 20:38
Change comment: There is no comment for this version
To version 16.1
edited by David Avendasora
on 2008/07/16 10:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,19 +1,19 @@
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 now direct communication with the server. This allows for a rich client experience without the complications of Ajax, but now requires extensive Swing programming.
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 2  
3 3  Historically there were three methods of WebObjects Java Client development:
4 4  
5 5  1. Direct To Java Client (D2JC)
6 6  1. Java Client using Interface Builder to create NIB files that define the UI
7 -1. Java Client using Swing
7 +1. Java Client using pure Swing
8 8  
9 -The first two types used other files (XML/NIB files) to build the Swing code during run-time. This made for quick development times requiring very little Java code. D2JC was very flexible with the UI controlled almost entirely by text-based configuration files (the same rules-system used by Direct to Web) and major changes to the underlying .eomodel file could often-times be reflected in the UI with no refactoring at all.
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 10  
11 -Unfortunately both of these first two methods suffered from low usage and therefore little support was available within the community. Both have since been deprecated. NIB-based development was deprecated due to the deprecation of the tools required for development. D2JC has been deprecated as well, even though no external tools were required to build or modify a D2JC application.
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 12  
13 -The good news is that building a WebObjects Java Client application "The Third Way" using pure Swing has **not** been deprecated and still exists in WO 5.4.
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 14  
15 +Swing-based Java Client Development has recently gotten much simpler with the release of Florijan Stamenkovic's [[javaBound (JBND) framework>>http://web.mac.com/flor385/JBND/]] which greatly streamlines many key pieces of native-client application development.
16 +
15 15  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.
16 16  
17 -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.
18 -
19 -* Paolo Sommaruga's **JPBinding** [[http://www.jpaso.com/name/XMLBindingForJavaClient]] which is a WebObjects framework that allows building WebObjects Java Client (not D2JC) without the use of Interface Builder and nib files. JPBinding uses a xml file to describe the bindings between the view objects (buttons, tables, text fields, etc) and the model objects (EODisplayGroup, EOAssociation, etc.).
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>>Java Client-Complimentary Frameworks]]