9. Troubled history
● 2003-2005
● Swing not ready
● Didn't like Eclipse RCP
● BTW, Fabrizio is an Ex-clipse user...
● 2006-2007
● NetBeans RCP (complete re-design)
● SwingLabs, TimingFramework
9
10. Swing limits
● Is Swing a true framework?
● It isn't, for some respects
● You build everything manually
● Only at “basic-block level”
● Listeners, Actions
● Missing sophisticated components
● Date Picker, TreeTables, etc...
10
11. What do you need?
● “Cool stuff„ means complexity
● Go quickly from idea to prototype
● Integrate quickly others' stuff
● NIH isn't a killer-idea, but an idea-killer
● Don't write (and maintain) your own,
soon-to-be-messy framework
11
12. NB RCP: a framework
● You start with an “empty” app
● (or you can just extend NetBeans IDE)
● You populate it
● views
● actions
● menus
● toolbars
12
13. NB RCP: a framework
● You start with an “empty” app
● (or you can just extend NetBeans IDE)
● You populate it
● views
● actions
● menus
● toolbars
} often declaratively
13
14. Enhancing, not replacing
● NetBeans RCP is Swing
● Lots of third parties' stuff (e.g.
SwingLabs) can be integrated
● You have full control on the l&f (à la
Romain Guy)
● Can use it incrementally
14
18. DataObjects and Nodes
● Get a DataObject Node delegate
● Clone it as many times you want
● Nodes stay in sync automatically
● Bind an ExplorerManager to a View
● Put the Node(s) into the
ExplorerManager
● Publish and Subscribe
18
19. Actions
● Various extensions of
javax.swing.Action
● Some can be auto-enabled
● on selection of DataObjects
● on selection of Nodes with certain
capabilities
19
25. NASA WWJ
● Java version of NASA World Wind
● 3D software that renders the Earth
● NASA terrain imagery, other data sets
can be plugged in (if legal stuff is ok)
● Based on JOGL
25
27. Update centers
● NetBeans components
● can be added / removed on the fly
● can be versioned
● can add actions, menus, toolbars
● Pretty good for plugins
● Pretty good for blueMarine's
concept of “communities”
27
28. blueMoon
● A plugin for amateur astro-
photographers
● Developed by Emmanuele Sordini
● www.bloomingstars.com
● Initial feature: “image stacking”
28
29. Image stacking
● For decades only with pro
equipment
● Since 90s within the reach of amateurs
● Hires imaging of solar system
bodies
● take multiple exposures
● stack and align them
● improve S/N ratio by averaging
29
32. Parallel Computing
● Parallel Computing is a must
● Multi Core Computers
● Small, local mini-grids
● Massive Grid Computing
● Mistral
● blueMarine's graphic library
● supports various kinds of PC
32
33. Jini, Rio
● Jini
● SOA building federations of services
● Auto-discovery
● Now Apache River
● Rio
● Jini-based technology
● Provides containers, beans, QoS,
dynamic deployment, monitoring and
management and more
33
35. Sun Grid
● Grid computing as a service (utility
computing)
● Massive grid facility (1000 CPUs)
● Made available to users on an as-
needed basis ($1 per CPU-hour)
● Not only Java, but with Java is much
easier (e.g. NetBeans plugin)
35
36. Current work
● L10N
● RDF and XMP support
● Editor
● Movies
● Spinning off ForceTen
36
37. We want you
● Testing
● Developing new stuff
● Scripting support (JavaScript? Ruby?)
● Import from Scanner and Camera
● CD/DVD Burning
● The Plugin Contest
37