Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

Previous Previous     Contents     Index     Next Next
Chapter 4

Development Environment Transition Issues

If you want to port an OPEN LOOK or Motif application to the Solaris CDE desktop, you need to consider the development environment transition as well as the graphical user interface (GUI) transition. The OpenWindows and Solaris CDE development environments are different in many ways but similar in others. This chapter compares and contrasts the two development environments.

The Solaris CDE desktop is based on the same X server as is part of the OpenWindows environment. For example, you can access Display PostScript™ (DPS), and the XIL™ and XGL™ libraries from Solaris CDE.

Features Exclusive to Solaris CDE

This section briefly describes the features of the Solaris CDE development environment that do not appear in the OpenWindows environment in any analogous form.

  • Desktop Korn shell: Provides a way to engage in graphic user interaction through shell scripts. See Common Desktop Environment: Desktop KornShell User's Guide for detailed information on desktop Kornshell.

  • Workspace Manager: Provides support for multiple workspaces. Each workspace is a virtual screen. Most desktop applications can run as expected without knowledge of the Workspace Manager. See Common Desktop Environment: Programmer's Overview and Solaris Common Desktop Environment: Programmer's Guide for more information on the Workspace Manager.

OpenWindows Versus Solaris CDE Development Environments

This section contrasts some of the functionality that OpenWindows and Solaris CDE development environments have in common, but that might be implemented differently.

GUI Application Builders

Both the OpenWindows and Solaris CDE development environments contain GUI application builders.

  • The OpenWindows Developer's Guide (Devguide) is a tool that helps produce the GUI for OPEN LOOK applications. Devguide has code generators that produced XView and OLIT source code. The Devguide Motif Conversion Utilities product, which was first shipped with the Solaris 2.3 release, produces Motif code from Devguide GIL files.

  • CDE Application Builder (App Builder) produces Solaris Motif code. It also enables you to integrate some of the desktop services into your application; for example, drag and drop, ToolTalk messaging, sessioning, help, and internationalization. If you used Devguide to create your application, you can use App Builder's GIL-to-BIL converter to create BIL files, which is the format the App Builder uses.

If you have used Devguide to build an application, the CDE Application Builder will feel very familiar to you. The palette is visually similar. Much of the Devguide functionality is retained, such as the Build and Test feature and the ability to build projects.

See Common Desktop Environment: Programmer's Overview and Common Desktop Environment: Application Builder User's Guide for more information on App Builder.

Drag and Drop

The underlying basic functionality of OpenWindows drag and drop and CDE drag and drop are similar. Both versions of drag and drop contain general purpose APIs that provide the same outcome from a user's perspective.

However, CDE drag and drop also provides a convenience API that serves two purposes:

  • It is easier to use than the APIs that Motif 1.2.3 provides

  • It defines and implements data transfer policies

The OpenWindows environment has conventions for drag and drop policies, but it is up to the developer to implement the policies. If you use drag and drop in your OPEN LOOK application, much of the data transfer code you wrote can be condensed by using the CDE convenience APIs.

See Common Desktop Environment: Programmer's Overview and Solaris Common Desktop Environment: Programmer's Guide for more information on CDE drag and drop.

ToolTalk Messaging

OpenWindows ToolTalk messaging is compatible with the CDE ToolTalk Messaging Service. In addition to the OpenWindows ToolTalk functionality, the CDE ToolTalk Messaging Service provides:

  • Two standard ToolTalk protocols known as message sets

  • tttrace

    The tttrace utility is a debugging tool that helps monitor ToolTalk API calls and ToolTalk's internal message processing.

  • ttsnoop

    The ttsnoop utility is a debugging tool that helps monitor messages that are sent between your application and other applications.

See Common Desktop Environment: Programmer's Overview, Common Desktop Environment: ToolTalk Messaging Overview, and the tttrace(1) and ttsnoop(1) man pages for more information on the CDE extensions of ToolTalk.

Typing

The OpenWindows classing engine identifies the characteristics, or attributes, of files. The classing engine specifies attributes such as print method, icons, and open commands for specific file types. The classing engine consists of two parts:

  • A database that stores file type names and attributes

  • A collection of routines that query the database

The Solaris CDE data typing and actions form the analog of the classing engine. The data-typing mechanism consists of two tables (DATA_ATTRIBUTES and DATA_CRITERIA) that specify attributes such as icons, actions, and commands for specific file types. DATA_CRITERIA corresponds to the classing engine's File name space. DATA_ATTRIBUTES corresponds to the classing engine's Type name space. The actions field in the DATA_ATTRIBUTES table corresponds to the former print and open methods in the classing engine. In the Solaris CDE development environment, it acts as a reference to another table called ACTION, and is greatly enhanced over the former classing engine methods.

See Common Desktop Environment: Programmer's Overview and Solaris Common Desktop Environment: Programmer's Guide for more information on data typing and actions.

Help

CDE help differs from OpenWindows help in three areas:

  • User model

  • Programming tasks

  • Richness of help system

See Common Desktop Environment: Programmer's Overview and Common Desktop Environment: Help System Author's and Programmer's Guide for more information on the CDE help system.

Previous Previous     Contents     Index     Next Next
 

Updated: 2003-09-29, 21:37