blueMarine Sailing with NetBeans Platform

1,515 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,515
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

blueMarine Sailing with NetBeans Platform

  1. 1. blueMarine Sailing with NetBeans Platform Fabrizio Giudici (JUG-MI) Emmanuele Sordini (JUG-GE)
  2. 2. Goals ●Introduce NetBeans RCP ●Introduce blueMarine ●Demonstrate NB RCP by examples ●Show some cool integrations ● SwingLabs, TimingFramework ● Visual Library ● NASA World Wind ● Jini, Rio, Sun Grid 2
  3. 3. Developing for the Desktop 3
  4. 4. What's NB RCP? NetBeans { NetBeans IDE NetBeans RCP 4
  5. 5. What's NB RCP? NetBeans { NetBeans IDE NetBeans RCP 5
  6. 6. What's NB RCP? NetBeans { NetBeans IDE NetBeans RCP Your Desktop Application! 6
  7. 7. blueMarine ● Photo workflow management ● Pluggable single platform for everything ● Community-specific plug-ins ● 0.9.RC2b ● Open Source ● Apache License, business friendly 7
  8. 8. Demo (splash) 8
  9. 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. 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. 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. 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. 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. 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
  15. 15. From pain to gain 15
  16. 16. Some NB RCP APIs ● Actions ● Modules ● DataObjects ● Nodes ● Dialogs ● Options ● Explorer ● Progress ● FileSystem ● Visual Library ● Lookup ● Window Sys. 16
  17. 17. MVC on steroids 17
  18. 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. 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
  20. 20. Demo: Explorers, Viewers, Actions 20
  21. 21. SwingLabs,T.Framework ● SwingLabs ● Swing enhancements and extensions ● TimingFramework ● The easy way to add animations, smooth transitions, etc... 21
  22. 22. Demo 22
  23. 23. Visual Library ● Support for graph-oriented modeling ● Nodes ● Arcs ● Routing ● Really cool stuff ● Can be used with plain Swing apps 23
  24. 24. Demo: Light Table, Geo Viewer (thanks to David Kaspar) 24
  25. 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
  26. 26. Demo: Geo Viewer 3D (thanks to Patrick Murris) 26
  27. 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. 28. blueMoon ● A plugin for amateur astro- photographers ● Developed by Emmanuele Sordini ● www.bloomingstars.com ● Initial feature: “image stacking” 28
  29. 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
  30. 30. Image stacking 30
  31. 31. Demo: blueMoon 31
  32. 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. 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
  34. 34. Local mini-grids 34
  35. 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. 36. Current work ● L10N ● RDF and XMP support ● Editor ● Movies ● Spinning off ForceTen 36
  37. 37. We want you ● Testing ● Developing new stuff ● Scripting support (JavaScript? Ruby?) ● Import from Scanner and Camera ● CD/DVD Burning ● The Plugin Contest 37
  38. 38. Conclusion Medium-large desktop apps? Get NetBeans RCP - make it better, make it quicker 38
  39. 39. Resources ● fabrizio.giudici@tidalwave.it ● weblogs.java.net/blog/fabriziogiudici ● emmanuele@sordini.com ● www.bloomingstars.com ● {bluemarine,mistral}.tidalwave.it ● www.swinglabs.org ● graph.netbeans.org 39
  40. 40. Resources ● worldwind.arc.nasa.gov/java ● www.jini.org ● rio.dev.java.net ● www.netbeans.org/ community/magazine/ ● www.network.com 40

×