What is required of an updated and legacy free Graphical User Interface API for Java?
//TODO: Add your ideas below.
//TODO: Add your ideas below.
My wishlist for a GUI API is:
I probably have more items on the wishlist, but that'll do for starters.
XAML based.
Instead of a conversion between declarative formats, have it be the main format :) / with a corresponding class model.
I'm no expert on the matter, but here's my contribution:
Do away with the current layout system.
Do away with revolving around single mouse-pointer metaphor for events. Soon enough we'll all have multi-touchpads on our keyboards in addition to mice. Current Swing cannot really scale there.
Better definition of event flows and responsibilities.
Support for defining constraints and binding object states to one another.
An inherent support for 3D, rather than requiring a separate API. At a minimum, all coordinates should have a depth element.
Do not directly build via inheritance on any existing API that you already consider broken (e.g., the mess with Swing containers inheriting from AWT containers).
Also, if this is a commercial or a major open-source project, get API usability experts to go over the API before it is published. Same goes for the documentation of the API.
I am for declarative UI design (XML is nicely toolable and parsable).
Timeline support. Pluggable Custom
Shaders, which take advantage of GPU.
Native application theming packaged (MACs in mind).
Inherent localisation support via UID of elements.
I'll keep thinking a come back with more ideas.