The Next Great Thing: An Application Framework (original) (raw)
Jeff McDonald deep.blue.6802 at gmail.com
Wed Feb 8 21:36:44 PST 2012
- Previous message: hg: openjfx/2.1/master/rt: 15 new changesets
- Next message: The Next Great Thing: An Application Framework
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Now that JavaFX is delivering on it's promise of delivering the components and pieces need to make an application, it's a perfect time to take a higher level look at what's needed to make a complete application.
Here is your chance to add your ideas, comments, criticisms, insights,etc, and say what's on your mind. I don't work for Oracle nor do I speak for Oracle, however, the JavaFX team has shown great interest in listening to developers and delivering what's important to the developer community. Having an application frameworks integrated into the JavaFX library would be a huge advantage to Java developers.
Below is a simple bullet list of ideas and features that could be useful to application developers:
Application types to consider:
Desktop
Tablet
Phone
Command line
TV
Set-top box / Bluray player
Service or daemon
Application tooling needs?
Application level / lifecycle events
Exit event (From JSR 296)
Shutdown event (From JSR 296)
Sleep event
Pause event
Show help window event
Show help hints (ala Apple style help)
Eventbus: allow any component to send message and listen to messages from any other component. Message consumers only have to listen to events and are not required to have references to any other objects (other than the eventbus) in order to receive event notices.
Screen resolution change event
Monitor added / removed events
Screen orientation change event
Full screen mode / normal screen mode.
App dock icon menu event / taskbar menu event / start menu event.
Application environment
Supports 3D?
Supports hardware acceleration?
LCD text supported?
Bidi text supported?
Supports full screen mode
Supports App menubar?
Supports dock?
Supports taskbar?
Application controls
App menubar (setter & getter) (The application level is really where the Application menubar should be handled, and not on the Stage/Window level.)
App taskbar
App dock - Set application name (This is app name, not stage or window name.
Could be set to display Scene name when focus changes or to show static text.)
App dock icon menu / taskbar menu / start menu.
Application naviagtion
Get window (by id)
Bring window to front
Send window to back
Move window to location
Expose for FX stages to aid in navigating and organizing multiple windows (MacOS style functionality see: YouTube : MacOS X Expose Video<http://www.youtube.com/watch?v=fhcqxDIfG-o&feature=related> )
Application focus
Get current focused window
Get current focused component
Application state / session management
Save & restore window size & location
Automatic application state saves
Automatic document saves.
Actions / Actions manager
A superpowered decendant of the Swing AbstractAction class & Action interface.
Conditional state actions (Ex. If the "control" key is depressed then an alternate action is made visible or the text of a menu item might change).
Toggle actions (Ex. bold/un-bold or hide/show)
Multi-state actions
Application print support?
Inter-application communication
Allow apps to communicate to each other using a common architecture.
- Previous message: hg: openjfx/2.1/master/rt: 15 new changesets
- Next message: The Next Great Thing: An Application Framework
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]