|
JIDE Desktop Application Framework
Making a small frame-based Swing application is fairly
straightforward. Most developers are comfortable with classes
like JFrame and the normal palette of Swing Components. You
may even be familiar with our JIDE family of Swing Components.
However, things start to get out of hand quickly when an
application gets larger. For example, introducing the concept
of multiple documents starts one down a path of requirements
such as data management, menu wiring, dialog negotiations, and
multiple window management; behavior that is expected by users
but has little to do with core application functionality, yet
takes a significant amount of time and resources to
accomplish. Compound this with the challenges of
cross-platform deployment such as OS Guidelines integration
and varying Java VM versions and implementations, and you
suddenly have a non-trivial venture. Often, underestimating
the cost of providing this functionality can cause release
delays or compromises in quality and usability.
Unlike web development, there have been precious few
architectures available for desktop developers who wish to
create robust cross-platform desktop applications. On one side
is JSR 296, still in development, setting out to address the
nominal needs of a Java application. On the other side is the
developing trend to use large RCP platforms like Eclipse and
NetBeans as generic application frameworks. But these involve a
steep learning curves due to their origins as complex tools
platforms, and the likelihood of inheriting infrastructure
that may either be overkill or ill-suited often out-weighs
the benefit of using their architectures for general
application development. We still need a solution that is
powerful and flexible enough to meet the challenge of
cross-platform development, yet is easy to use and produces
maintainable and quality applications.
So we present the JIDE
Desktop Application Framework (JDAF)! JDAF is a
ground-breaking platform for developing truly cross-platform
desktop applications in Java. Decades of application
development experience, extensive R&D into developing
trends, and OS Guidelines studies have been engineered into a
modern solution that will not only save significant
development time and resources, but will bring order, quality
and an unprecedented level of OS integration to your desktop
projects.
JDAF is based on a
powerful "Managed Application" technology which
manages the entire application lifecycle, ensuring that you
need only focus on application-specific features. JDAF
provides out-of-the-box functionality such as a
Model-View-Controller architecture for data/view management,
unique resource bundle features, robust file handling, and
30+ application-related Actions handling single or
multiple documents, editing, and window management. Additionally, with a
managed UI your users will experience a native-feeling and
intuative application because of our OS Guidelines-driven UI
implementing standard dialogs, menus, icons and toolbars. Top it all
off with printing and help integration features, and even
a console application API, and you
have the most powerful yet easy to use desktop application
platform available.
|
|
General
"Managed Desktop Application" - facilitates the entire
application lifecycle
OS
Guidelines-driven Application UI - Supports Java Cross
Platform, Linux/Gnome, Mac OS X, Windows XP
Model-View-Controller Architecture - data and view management
GUI
and Console Application Support - or extend to make your own
application types
Integration with JIDE Docking Framework, Action Framework,
and
other components
Robust File-Handling - unprecedented file-based application
support
Polymorphic Resource Binding - bind resource bundles to
objects automatically
ObjectFormat - powerful MessageFormat replacement makes
localization easier
Command Line Parsing - capture, parse, convert and type check
command line arguments
Environment Variables - capture and access environment
variables, single 1.4.2+ solution
FileFormat API marshals data to/from application - default
support for common formats
Map
file formats to data views
Robust implementation of platform-dependant,
application-specific file system checks
20+ file-related OS-specific standard dialogs such as save alerts and
file replace
Recent Documents menu with native path formatting
Printing Integration - compatible integration of the Java
Printing API
Help Integration - snap-in integration of your existing help
system
Open files from the command line
Comprehensive JavaDoc and Developer Guide, including migration
guide
Optional JSR-296 Compatibility API
JDAF Wizard - code generation wizard gets you going quickly
Desktop Application UI (OS
Guidelines-Driven)
Standard Windows - automatic windowing harness manages UI,
emulates native document windowing behavior such as titling
semantics, dirty status, and dialog interaction
Supports
SDI, MDI, TDI, Split, Docking, and mixed windowing styles
Standard Icons - platform icons for Actions, including large
icon support
Standard Menus - Fully functional implementations of File,
Edit, Window, and Help menus
Standard Toolbars - Fully functional implementations of
standard toolbars
Standard Dialogs - Organizes dialogs and provides
highest-fidelity and integration features
Unique OS behavior such as automatic Mac OS X system
integration, Windows XP MDI and arrange commands,
Linux document age in dialogs, and much more...
Classes Sampler
DesktopApplication - root class serves as the controller and
center of your application
GUIApplication - OS Guidelines-driven GUI application with
managed UI
FileBasedApplication - direct support for document-centric
applications
ConsoleApplication - direct support for console applications
(Yes, and MVC console application!)
ApplicationLifecycleListener - listen to application lifecyle
events
DataModel/DataModelFactory/DataModelListener - create and
manage datspan and datspan lifecycle
DataView/DataViewFactory/DataViewListener - create and manage
views and view lifecycle
ApplicationFeature - create reusable, cross-cutting
application features
ApplicationAction - Create application-related Actions. Over
30 standard Actions installed and pre-wired
MenubarCustomizer - Modify the standard menus and create your
application-specific menus
ToolBarCustomizer - Modify the standard toolbar and create
your application-specific toolbars
DialogRequest/DialogResponse/DialogListener - Request/response
model for dialogs that facilitate native fidelity, dialog
caching, and lifecycle
Resources - read and convert resource values, bind resources
to objects
|