redView

riena emf dynamic views

Innovation

Dynamic User-Interface (UI)


+ great Tooling

+ ready – for – BusinessApplications

+ supported by Software Manufactory

What’s the innovative use of redView ?

As you may know, redView uses EMF models to design SWT UI Views and Dialogs a declarative way. There are other frameworks also designing UI declarative. What’s the difference ?

redView renders it dynamically at Runtime

redView not only uses EMF Models, redView also renders this UI dynamically at Runtime.

What does this mean to a developer of a ‘normal’ SWT View ?

This is all Java Code you need to open a redView filled with data:

public class WorkshopView extends ViewPart {
	public WorkshopView() {
	}
	@Override
	public void createPartControl(Composite parent) {
		IRedviewContext context = RedviewViewFactory.createDynamicByViewname(
				parent, "Workshop.redview", null);
		IBeanManager mgr = context.getBeanManager();
		mgr.setBaseBean(new WorkshopBean());
	}
}

If you’re writing Enterprise Business Applications – redView supports Riena (an EclipseRT project).

To use a redView inside a Riena RCP Application we have to support Riena’s Controller and Views. Only this code is needed to open a redView as Riena Submodule View filled with data:

the View:
public class AddressView extends
		BaseRedviewSubModuleView<AddressSubModuleController> {
	private static final String VIEW = "Address.redview"; //$NON-NLS-1$
	public AddressView() {
	}
	@Override
	protected String getViewName() {
		return VIEW;
	}
}
the Controller:
public class AddressSubModuleController extends BaseRedviewSubModuleController {
	public AddressSubModuleController() {
		this(null);
	}
	public AddressSubModuleController(ISubModuleNode navigationNode) {
		super(navigationNode);
	}
	@Override
	public void configureRidgets() {
		super.configureRidgets();
		if (getBeanservice() != null) {
			Address addressBean = getBeanservice().findLastModified(false);
			getContext().getBeanManager().setBaseBean(addressBean);
		}
	}
	public static AddressManagerI getBeanservice() {
		return AddressSubModuleControllerComponent.getBeanservice();
	}
}

The great thing: you change or enhance your View models and the Java code is always in-sync.

redView models are rich of available features and contain all SWT (+ some Nebula) UI Elements including TabFolder.

redView doesn’t brake your creativity, because redView is extendable using ExtensionPoints and Equinox Declarative Services.

redView makes it easy to start and provides a bunch of example projects:

redView provides the needed Tooling

There’s a Designer Editor to design or redesign your Views. This is a pure SWT – Editor with Drag-and-Drop, an Outline View and a Property View. Because you can also design your Models for Business-UI-Drag-n-Drop, there’s a Drag-and-Drop – Tester – Editor available where you can test if the modeled DnD works as expected.

redView’s Designer Editor is a WYSIWYG Editor and can be used from Developers (jumping deep into  the models) or from Business Users or Designers re-arraning the order of fields or the Look-and-Feel, renaming Labels, ….

You can even store and manage your redView View models (EMF) in a central repository. It’s possible to push design changes into running applications.

redView is ready for (Enterprise) Business Applications

Using redView you not only design the UI View model, you can also design:

  • Lookup – Functionality
  • dynamic Dialogs bound to the Beans or POJOs from your View
  • Localization

Drag-and-Drop (you only define your business-logic-methods for dragging / dropping using ExtensionPoints, no Listeners or so – all is done by redView dynamically)

redView also can use from Riena Ridgets:

  • Marker – Support
  • Validators
  • Converters

redView supported by red-open Software Manufactory

redView View models itself can be generated by red-open from a domain model of your choice: UML, XSD, EMF, Xtext, ….

red-open generates UI models – these models can then be (re)designed using redView’s WYSIWYG Editor by Developers, Designers or Business (Key-) Users. All design – changes will be preserved after regeneration.

red-open can even generate a complete Prototype application (a Riena RCP Application with Riena UI and Navigation). Using such a Prototype Application together with redView’s Designer Editor you get an easy-to-use workflow between Business-Users<–>Developer<–>Designer. Many Business Users understand a real Application with Views better then an UML model.

Conclusion

redView’s innovation is the combination of dynamic – UI, defined by EMF models, enriched with BusinessApp – functionality, generated by a software factory – all based on Eclipse RT and Modeling Technology.

Come and see it live at EclipseCon 2010 on Monday morning there’s a 3-hrs-Tutorial from 9:00am to 12:00am or 25 min on thursday 1:30 pm.

%d bloggers like this: