Menu compiler Control panel compiler rapid prorotyping X11/NeWS Supports portable X11 extensions ======================================================================== * Network based window server ** A window server managers the resources of the workstation Screen Keyboard Mouse Etc... ** Distributed window system ** Remote procedure call ** Extension language versus a fixed protocol ** Efficient compressed byte stream format used for communication ** Scenario A client connect with the NeWS server over the network. This starts up a lightweight PostScript process in the NeWS server with its own local context. It then customizes the NeWS server by loading code defining PostScript functions and data structures, which implement the client's user interface and communications protocol. * PostScript language ** Extensibility is the key issue ** Easy to change the user interface ** Increases performance ** Crucial in a distributed environment Makes efficient use of network bandwidth Device independance is important in a heterogeneous environment ** Interactive programming environment * Window System ** Extensions *** Canvases *** Processes *** Monitors *** Events *** Color *** Garbage collector ** Implemented in PostScript *** Reasons for PostScript: High level programming language: Data structures program=data execution state Object oriented programming package High level graphics model: Stencil/Paint: simple, powerful. Device independant Portable clients ** Object oriented toolkit *** Advantages Easy to customize the user interface Toolkit runs in server Good interactive response Makes efficient use of network Toolkit not part of each client. Clients share the same code. modular UI componants, interchangable at run time *** Classes Windows Menus Widgets ** Client interface Remote procedure call Application specific protocols ** Desk accessories * Applications ========================================================================