WidgetServer is a Java/XML server-side GUI-framework which enables an application to run as either a monolithic Swing app, a client/server Swing app, or as a Web app without any change and without loss of functionality. An Eclipse Plugin is available as well. A rich widget set is supported that includes tree views, tabbed panes, split panels, and much more. Animations, all types of events, and several effects are supported, as well. A unified widget-based, object-oriented programming interface for Web and Swing GUIs is offered to the developer to control and assemble the GUI. Web applications are fully AJAX enabled. For Swing client/server applications, the framework handles client/server communication, including compression and security layers.