All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.mmm.ui.api.package-info Maven / Gradle / Ivy

There is a newer version: 0.9.11
Show newest version
/* Copyright (c) The m-m-m Team, Licensed under the Apache License, Version 2.0
 * http://www.apache.org/licenses/LICENSE-2.0 */
/**
 * Contains the API to build a toolkit-agnostic user-interface (UI).
 * 

The Problem

* * Java and its enterprise edition aims at providing standard APIs that allow vendor independent programming. However, * to build user-interfaces Java only provided implementations but always missed to define a stable API. Therefore, * projects invested to build APIs with AWT, Swing, JavaFx, JSPs, JSF and also with tons of other proprietary frameworks * like SWT, JFace, EclipseRCP, Qt Jambi, Struts, Tapestry, Wicked, PrimeFaces, UltraFaces, GWT, SmartGWT, or Vaadin. * Just to name a few of the Java GUI Frameworks. Others gave up with Java and wanted to enter the browser hype with * JQuery, YUI, Dojo, SAP UI5, Amber, Knockout, Vue, React, AngularJS, Angular, Flutter, Ionic, etc. This list could go * on forever. * * However, it shows one common trend: GUI frameworks and related technology tended to come and go. This leads to loss * of huge investments and applies the principles of the "throwaway society" also to software clients. Java is however * famous for "security of investment" and stability. But if we have to build clients with JavaScript we have two * complex technology stacks if we keep Java for the backend. So Java is sooner or later dead if there is no strong * answer to build cross-platform clients. * *

The Solution

* * We define the missing API to build user-interfaces in Java. This does not require black-magic - after 20 years of * coding a button is still a button, a label is still a label and a text-input-field is still a text-input-field. The * latest and most hyped UI frameworks might bring ultimate flexibility to adopt to any kind of UI from a 3D game to a * data-driven-business app. However, they are still very poor to address the daily need of the latter kind of * applications such as (non-trivial) validation, accessibility, authorization, notifications, usability, or bindings * with call-by-value. Of course you can address all these demands and solve the problems but it is rather hard as they * are not build-in properly by design. Our API is designed exactly for this purpose and will massively boost your * productivity. * * As we provide implementations for this API that bridge to JavaFx, the browser, or other UI technologies you can build * a client once that runs on all supported platforms and technologies. You do not believe us? Then try our demo-ui and * see how the Java code runs as JavaScript in the browser while the same code runs in a JVM with JavaFx on the desktop. */ package io.github.mmm.ui.api;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy