Skip to content

m-m-m/ui-api

Repository files navigation

logo

Apache License, Version 2.0 Build Status

mmm-ui-api

Maven Central base JavaDoc

The project mmm-ui-api provides an abstraction API for user-interfaces (UI). This allows to build a powerful UI independent of the actual toolkit. You can write portable UI code that can run

  • as native JavaFx application using mmm-ui-fx

  • as web-app in the browser using mmm-ui-tvm

  • as mobile app for android devices using mmm-ui-android

  • as dummy implementation for automated unit tests using mmm-ui-test

  • …​in the future we might implement more alternatives such as iOS or SWT

See our motivation or JavaDoc (click on the badge) for further details. In order to implement your client (with UI) you only need to depend on modules from this API. Therefore, you will typically build a module for your client that is portable. Dependencies to the implementation of this UI are only needed at runtime. You can create modules for each toolkit or technology you want support for your client where you add the dependency to the specific implementation and just one or few classes to bind and launch the client. Details how to do that can be found in the documentation of the actual UI implementation or you can have a look at our ui-demo.

The module mmm-ui-api-all aggregates all api modules (see below for a detailed list).

Usage

Maven Dependency:

<dependency>
  <groupId>io.github.m-m-m</groupId>
  <artifactId>mmm-ui-api-all</artifactId>
</dependency>

Module Dependency:

  requires transitive io.github.mmm.ui.api.all;

Overview