Spotting JavaFX Apps in the Wild - A Freebase Browser
Occasionally I'll showcase a JavaFX Script app in this blog that I've found on the net. This one is an app that I'm developing to serve as a browser for the Freebase database. Freebase is a structured data approach similar to the Wikipedia concept, where the public contributes facts into a database (see freebase.com).
As Doctor Emmett Brown said in the movie Back to the Future, "please excuse the crudity of this model, I didn't have time to build it to scale or to paint it". In other words, this app is still under development, but it's functional. I'll be the first to admit that I'm graphically challenged, so it's not "pretty" (I'll showcase some apps with cool graphics in future posts, and you'll know that I didn't create them). Anyway, here's the Java Web Start (jnlp) link. You'll need JRE 1.5 or later to run JavaFX Script applications.
When you start the Freebase Browser, the Freebase ID for the band U2 is preloaded into the Freebase Object ID text field. Click the Go button (or just press Enter because it's the default button). You can then click and expand items in the tree in the left pane, or click links in the right pane, navigating to related topics. In the upper left hand corner are Back and Forward buttons, similar to a browser. In addition to clicking links, you can type Freebase object IDs in the text field (e.g. /topic/en/james_gosling or /topic/en/star_wars) and click Go.
If you're interested in the application architecture, here's a high level diagram that shows how the UI, application layer, and data layers are related. JavaFX Script very naturally implements the model-view-controller pattern.
By the way, the JavaFX InfiniteProgressPanel that you'll see when clicking links is part of the JavaFX UI library, and was originated by Romain Guy, the coauthor of the book Filthy Rich Clients.
Enjoy,
James L. (Jim) Weaver
JavaFX Script: Dynamic Java Scripting for Rich Internet/Client-side Applications


Comments