Always reading bits...


Its the shadows and reflections cast from the future that interest me.

Who : Charles Ditzel

Email: cld9731@yahoo.com



Go get NetBeans
««Nov 2009»»
SMTWTFS
1234567
8
9
1011
12
13
14
15
161718192021
22232425262728
2930

Search Blog

 


Go to Swing Pointers site

Mailing List

Library Thing

Restaurant Reviews

Flickr - Latest Photos

 Use OpenOffice.org
Wikio - Top Blogs - Technology
cld
       cld.blog-city.com

Latest Entries

NetBeans Platform vs JDeveloper's (Non-Platform) IDE : Huge Numbers of NetBeans Platform Apps

Sunday, 15 November 2009 12:37 A GMT-08
Why do companies like Northrop Grumman and Boeing build on the NetBeans Platform ?  Lots of reasons.  I have to say I missed this post  ( both September & October were incredibly busy for me) at the end of September by Geertjan.  In this post he describes why Northrup Grumman is using the NetBeans Platform.  There is also a nice short presentation worth going through. The topic of the NetBeans Platform has come up in the discussion of NetBeans versus JDeveloper. JDeveloper  lacks the notion of a complete platform - either for jumpstarting full rich client platform applications and building full IDE's (like Ruby, PHP, Clojure, etc) - the API powerfully allows you to do all of these things. At it's core the NetBeans Platform supports extreme reuse with Platform modules.  If you try to understand how important all of this is, it is huge.   I've written before Select to enlarge
on the the problem with JavaFX in What's Wrong with JavaFX and What Needs Fixing as well as Followup on Fixing JavaFX - JavaFX, Flex and other RIA solutions  provide a way to write smaller web-oriented applications but there is no substitute for what RCPs provide - whether it is NetBeans or Eclipse.  Similarly, an IDE is nice for building applications - but it severely lacks in providing
Select to enlarge. a wealth of application tooling and infrastructure for jumpstarting an application.  The difference can be quite important by providing you with pre-built facilities to manage updates, windows management, menu management, storage, file access and a lot more.  In addition you are given dynamic modularity which can mean updating or upgrading the application dynamically - as well as providing a way of reusability to the max.  Writing applications becomes trivial because you can leverage not only the foundation NetBeans platform modules - but also previously developed modules.  All of this let's you leverage these things in your own application - whether its its the QuickSearch, Toolbars or Window sytem tooling.  In addition you can leverage non-visual parts of the platform like NetBeans Preferences APIs (for storing user settings),  Lexar APIs (for creating or
parsing tokens from input) and quite bit more.  You can learn much more about the NetBeans Platform from the NetBeans Platform Learning Trail  and also here.The reality is that there are alot and many more companies adopting the NetBeans Platform -
Select to englarge. Northrup Grumman is one.  Another is Boeing. You know the huge airplane company that builds excellent airplanes like the 747, 757, 767 777 and the new Dreamliner.  Boeing has built the Mass Properties Toolkit (MassTk), Boeing Shared Platform (BSP), the Boeing Composite Material Analyzer and the Boeing Cross-Sectional Structural Analyzer.   You can read more about it here.  There is a huge number of companies on the NetBeans Platform.  Check out over 100+ examples of the NetBeans Platform here.   There are a lot more, obviously, that are not on the list - for example - IAV of Berlin Germany is doing there Automotive Engineering on a NetBeans Platform application with EasyDOE ToolSuite.  There is a nice write-up here on the work.  The list goes on and on.  Experian has a code base of over NetBeans 100 modules.  In Brazil, the Brazilian State's Financial Management System is built on top of NetBeans Platform (you can read an
interview about it here).  Exie has written a "People-Driven Performance Management" solution for  serving dynamic markets. GEE has developed  URSUS is a NetBeans Platform application for bioclimatic design and energy consumption optimization in town planning. Bright Software has buillt BrightBuilder Mobile Application Designer is a rapid application development tool for building and deploying mobile enterprise applications. It provides a single point to design, implement, test and deploy applications using a modular user interface. The US Department of Agriculture is on the NetBeans platform - the Object Modeling System (OMS) is a pure Java, object-oriented modeling system framework. OMS enables interactive model construction and applications based on components.

Okay, enough you get the idea.  There is plenty more RCP apps and I could go on for some time. NetBeans Platform has been widely adopted and is at the core of many mission government, financial, consumer, industrial, engineering systems - and much more beyond that.  These are in many cases critical systems.  We are talking engineering design on aircraft as an example.  Financial systems.  Sales systems.  Mining. And a lot more.

So now the big question.  Where is the JDeveloper Platform ?  

Now let me answer that.  There is no JDeveloper "platform" in the Eclipse/NetBeans sense of  the word "platform".  It also doesn't exist from the standpoint of huge numbers of platform applications. Or if you are interested in creating your own enterprise desktop apps for ... finance, retailers,  etc. 

That's why most reasonable people are talking (and here)

Select to enlarge

about why the best of possible worlds would involve Oracle building on top of the platform and moving JDeveloper's Oracle functionality over to NetBeans as  Platform modules.  It's not like we are talking a huge technology bridge - say like moving to an alien, native API - no  both NetBeans and JDeveloper are built using the Swing toolkit.  Get with it, Oracle.  Move your developers  to a great Java Platform solution and and the best IDE available.

[Update : I found this out just now, yet another very recent adoptee  of the NetBeans Platform, is NASA.  You can read the details here .]

 

 

New NetBeans Platform Tutorials : Wizards and 3D NASA Application

Saturday, 14 November 2009 3:59 A GMT-08
There are two new NetBeans Platform tutorials.  The first one, NetBeans Wizard Module tutorial,  in this tutorial you learn how to you create a general wizard that appears when you click a button in the toolbar. [ In NetBeans Platform applications, many different kinds of wizards can be created. If you want to create a wizard that appears in the New Project dialog, see the Project Sample Module Tutorial. If you want to create a wizard that appears in the New File dialog, see the File Template Module Tutorial. ]  This wizard tutorial walks you through creating Module project, creating the Wizard infrastructure,  registering the Wizard Action Class, designing the Wizard Content, validating user data, persisting data across restarts, branding the wizard and much more.   Check it out here.    The second platform tutorial, How to Create a Cross-Platform Application with NASA WorldWind & NetBeans Platform, offers up mini tutorial on how to create an Select to check out this mini-tutorial
a application based on NetBeans Platform that uses the WorldWind Java virtual globe. The tutorial discusses the components (NetBeans Platform, WorldWind from NASA and JOGL (a 3D library) then it walks you through creating the application. Very cool.

Interview : Java Development Kit 7

Friday, 13 November 2009 9:00 A GMT-08
I ran across an interesting talk/deep dive given by Danny Coward, Chief Architect for Client Software at Sun on the topic of the next major version of Java, 7 and the Java Development Kit (JDK).  You may be interested in this.  This is an SDN video.  The JDK 7 Project has a number of JDK 7 binary and source snapshots. In addition you can read more in the JDK 7 docs.  He talks about a Java module system (I hope that he is paying attention to Tulach's good work - what I would dread is for a rarified modular system over a practical get-it-done modular system). Anyway - you may be interested in this video.
7
 

NetBeans Capable Of Running Eclipse Modules (Video)

Friday, 13 November 2009 8:01 A GMT-08

What if NetBeans could run Eclipse modules in addition to NetBeans modules ?  There is a new and interesting screencast from Jaroslav Tulach and Geertjan Wielenga of the NetBeans team talking and demonstrating this and talking about modularity for Java, Mylyn on the NetBeans Platform (?).  It isn't just educational, it is stunning in its implications. The  talk is educational, fun to watch because of the humor and at the same time remarkable.  Not only >
 do they discuss module systems  for Java in some depth but they also discuss how they got Mylyn working on NetBeans.  Tulach showed a remarkable demo which showed an enhanced NetBeans IDE  supporting development and deployment of OSGI bundles.  He showed properties of the Mylyn suite project with many Eclipse libraries running in NetBeans. He showed NetBeans using modules that depend on Bugzilla, within the manifest you see the NetBeans modules depending on OSGI modules within the Eclipse cluster. He showed bi-directional interaction between NetBeans and Eclipse OSGI-based modules. He also suggested a way for how Eclipse could use NetBean modules.  He showed NetBeans running the Mylyn OSGI modules.  This great work seems to be creating a common ground between the Eclipse and NetBeans module systems.   You can read more at    http://wiki.apidesign.org/wiki/netbinoxTutorial.  Sources are available at this site.

 
If you enjoyed this talk - you might also want to catch Tulach and Geertjan's previous talk.  In that talk Tulach discusses MVC in the NetBeans IDE and other NetBeans Platform Applications. In this talk, he walks through the details of MVC in the NetBeans Platform.  It covers a lot of RCP territory in a lot of detail.  He also covers DCI (Data Context Interactions) which is an extension to MVC.  This is a pretty interesting talk and is part of the Certified Engineer Course.

Webinar : Java EE 6 Overview (New), Overview/Migrating to GlassFish

Thursday, 12 November 2009 4:25 A GMT-08
If you need an overview of what's in Java EE 6, there is a helpful webinar, Java EE 6 Overview, that you may be interested.  John Clingan (GlassFish Group Product Manager ) and Harpreet Singh (GlassFish Product Marketing) give the talk. Also in the same place are talks on -  An Overview of GlassFish,  Migrating to GlassFish Application Server and Learning GlassFish for Tomcat Users.  

New Whitepaper : Getting Started in the Cloud with GlassFish

Thursday, 12 November 2009 3:53 A GMT-08
If you missed it - there is a new whitepaper on how to deploy GlassFish in a cloud, Getting Started in the Cloud with the Sun GlassFish Portfolio.  This paper describes how to take advantage of the Sun Glassfish Portfolio in the Amazon Elastic Compute Cloud (EC2) public cloud environment. The examples in this paper focus on running applications using the Sun GlassFish Enterprise Server in the EC2.  

JDeveloper or NetBeans - The Results Are Already In

Thursday, 12 November 2009 3:23 A GMT-08
Shay Shmeltzer's (from Oracle's JDeveloper group)  blog provides an interesting view.  In my mind, it is a demonstration of how you can remove the context of real information from a chart and offer a view. The results on this have been in for some time.  JDeveloper developers use it because it allows them access to Oracle's product APIs, databases and tools (period).   Most developers that use NetBeans probably have never bought a Sun server or bought a Sun software product (unfortunately for Sun).  The NetBeans crowd is there by choice - they have not been captured and locked in. Shay seems to have carefully avoided linking to my charts and posts.  Why ? Because it would have made the following point and warned about the trick that gets played in his blog with the following graph.  He shows this chart -
>


If you look at this chart it does seem impressive. Really ? Does JDeveloper really have a larger community - uh no...anyone that has followed JDeveloper understands it's niche so now let's really spend time with this chart.  First, and as I said previously - a while back I gave up on the usefulness of  comparing the number of job postings of one IDE versus another relative to jobs. Why ?  Because the vast, vast  overwhelming majority of Java job postings don't bother specifying an IDE - so such a chart loses meaning.  I warned about this in the blogposting.  Now let's take the chart above and add total Java postings. 

>


Okay, now you understand.  Yes - that orange line that merges with the number zero is what Shay is saying is important, perhaps removing your attention from that solid green line that is not zero and shows the Java job postings.  The point is that specifying an IDE with Java makes sense only in a few contexts.   In fact, the only ones that do specify an IDE are companies have something very unique that needs to be done - something like Eclipse plugin development, NetBeans plugin development or JDeveloper ADF development. In other words, and according to the chart ... almost zero when comparing them to the total number of Java jobs.   The total number of jobs that are using Java dwarfs those jobs needing specific JDeveloper and NetBeans needs.   Shay's chart means nothing other than  companies needing proprietary APIs to be built such as ADF and Oracle APIs  need to specify that. With the exception of NetBeans RCP (which is open source) there is nothing to specify with regards to NetBeans (it's Java, Java EE, Java ME, Grails, Ruby, PHP, Python, etc that end up being specified that are pertinent to any NetBeans developer).  So I would completely expect there to be more Oracle developers dealing with a lot of proprietary Oracle APIs than developers building RCP apps - but at the end of the day it approaches zero when compared to the number of Java jobs.  As the evidence of the job posting chart show, the overwhelming majority of postings don't need to specify NetBeans, JDeveloper, Eclipse, etc.    So, this is why Shay's chart lacks meaning - it is stripped of the real information you need. [ update : Incidentally this isn't the only person/group that has posted this type of chart.  MyEclipse recently did the same thing and the results are the same as you can see from this graph.  Again, the vast Java job numbers result in the same thing, MyEclipse job numbers graphically merge with zero when compared to overall Java jobs. In the end, this type of marketing backfires when people find out what is happening. ]

Shay also attempts to explain why JDeveloper really does have a community.  Shay, I know it has a community but from every indication it doesn't seem to be very big and it is very, very focused on Oracle's proprietary products and APIs.  Since we mention surveys, personally, I like Developer.com's voting for Product of the Year - it doesn't pretend to be impartial - users simply vote for the products they use and like. Interestingly, NetBeans won the IDE of the Year last year. I didn't see JDeveloper on the runner's up list..anyway back to the topic at hand - the study you reference is, not surprisingly, skewed in a number of ways and well, we can all pick a favorite survey or study.   First,  it refers to Java IDEs - NetBeans does C, C++, RoR, Python, PHP, and bunch of other non-Java languages.  Which, of course, we know JDeveloper does not. So, with very little effort, you can see that JDeveloper playing in only the Java space is going to have less developers.   You can see from the next chart that there is more to software development than Java.  NetBeans does all those languages on the chart- and that ends up where JDevelopers falls down very badly -

>


Second,  while it is great that the survey of readership you refer to actually shows NetBeans has large usage (in this case 1/4 of the market - my guess is somewhere between 1/4 to 1/3)- my impressions are that the survey is probably wrong on a number of counts. The same company,  had actually done another study on  Eclipse usage which you can find on their site (relevant question is 24). So a couple of studies during the same time period with very different results and surveying the same readership, hmm.... I'm not sure I buy any of it.  By the way,  the other one shows NetBeans/Sun Studio (Sun Studio is the C/C++/Fortran version of NetBeans) at 21% and JDeveloper at 14%.  So that's a full -6% difference in the same year for JDeveloper. I tend to lend less credence to these surveys - especially if they have been paid for by somebody.  Call me cynical.

The point that is missed is that most reasonable people understand that NetBeans has a much larger community even if they use (questionable) readership survey numbers.   Oracle would be hopefully focused on addressing on how to make these communities larger and more vibrant.  I can think of a couple of ideas to do that.  One way is to announce real choice to your JDeveloper community by doing the following plugins for NetBeans :

-Add Support for ADF Framework
 - ADF Debugger
- ADF Libraries
- ADF Logging Configuration Editor
- ADF Faces
- ADF Business Components
- ADF Databinding
- Add ADF Mobile
-Improve your Oracle DB support
  
-Oracle's Visual Database Object Modeling
-Business Intelligence Beans for Oracle Databases

Would Oracle really do that ?  Give developers and  JDevelopers a choice by creating NetBeans plugins for their proprietary APIs and tools ?  I actually think this would demonstrate a real understanding of what both of these communities should be about.

NetBeans IDE 6.8 Beta Available

Monday, 9 November 2009 7:22 P GMT-08
NetBeans IDE 6.8 Beta is available.  I've been using it and it seems pretty solid.  There is an information page, release notes, installation instructions and new tutorials to look at.  It includes support for Java EE 6, support for Facelets (JSF 2.0),  improved support for JavaFX,  improved Kenai support,  full PHP 5.3 support, better Maven support,  added Ruby improvements,  C/C++ support and much more.  You can download it here.  Lots of details of the release can be found at the New and Noteworthy Page.  

European Commission Objects to the Oracle/Sun Deal

Monday, 9 November 2009 6:52 P GMT-08
Just saw this, the European Commission has formally objected to the Sun/Oracle deal.  You can read more here and here.

Oracle's Missed Opportunity - Part 2

Monday, 9 November 2009 1:00 P GMT-08
In reflecting further on this topic (started in part 1), there are even larger aspects to this that don't have anything to do with the small population of JDeveloper users (that was about size mattering), there is another aspect to all this that deals with scope. And that in the end matters just as much.
 
Let's take a look at a jobs chart.  A while back I gave up on the usefulness of  comparing the number job numbers of one IDE versus another relative to jobs. The vast, vast  overwhelming majority of Java job postings don't bother specifying an IDE.  In the chart below you can see the red line is Java jobs and the others relate to specific IDEs.  In fact, the only ones that do specify an IDE is if they have something very unique that needs to be done - something like Eclipse plugin development, NetBeans plugin development or JDeveloper ADF development. Otherwise why should they ?   The total number of jobs that are using Java dwarfs those jobs needing specific Eclipse, JDeveloper and NetBeans needs.  If you look at the chart it is staggering - it is literally as if IDE specific jobs don't exist. Now if you remove the overall category of Java jobs and compare them to each other - they look interesting only because you have lost the real context of the comparison.  The main context is Java in this chart - remove it and you lose perspective of how many developer jobs specify Java and don't specify an IDE.

The majority of that big number of Java jobs either are using Eclipse or NetBeans or IntelliJ.  Most JDeveloper developers are pushed into using JDeveloper by the need to do an Oracle product.   For example, It is unusual to see a mobile developer freely choosing JDeveloper over Eclipse or NetBeans.  It's not that it can't happen - it just is that for all practical purposes it doesn't happen with any meaningful numbers because that is not a particular strength of JDeveloper.  This unfortunately for JDeveloper happens across other topic areas.  JDeveloper as seen from the Google trendline in the previous blogposting is not a choice of the vast numbers of developers. 

Select to see results

That chart was only for Java where NetBeans, Eclipse, IntelliJ and JDeveloper compete.

This next chart (with the exception of the Java red line) is where JDeveloper is nowhere to be found and NetBeans has support .

select to see data


So it  really does get more interesting - NetBeans and Eclipse also have a presence in other languages - let's pick C, C++ and Fortran.  How many people use JDeveloper for C and C++ ?  Eclipse  and NetBeans C/C++ developers do that everyday of the week. Besides the NetBeans C/C++ plugin, even more interesting is Sun's Studio, a sophisticated development environment for C, C++ and Fortran, it is written using the NetBeans core platform APIs.  By the way - this is an example of the notion of platform that JDeveloper misses - Sun Studio is not simply written with the NetBeans IDE - it is written to use the core Platform APIs that allow it to use a huge number of the core platform infrastructure that is found within NetBeans itself.

Now let's look at Ruby - does anyone spend anytime at all (is it even possible) to do Ruby development on JDeveloper  ?   They do on NetBeans.

Or PHP ? Check out NetBeans IDE for PHP.   Want to catch a movie about it ? Check the blog.

Even if you go and look at the Grails website of IDE's to use (as of this writing) - where is JDeveloper ?   Yes in one of the few areas JDeveloper allows you to write in nobody thinks to even put JDeveloper down because there are better choices in the form IntelliJ, NetBeans and Eclipse. You can find a NetBeans Groovy/Grails example on the Grails site

An then there are a large number of other languages where JDeveloper doesn't even have any IDE support.  Where is JDeveloper's support for Scala ?

In effect, developers that are forced into using JDeveloper are stuck on the ship of Oracle products and APIs - there is no getting off because they need support of those products and APIs.  It's not that JDeveloper is an awful product, it is a highly competent product for what it does - it is very good for a number of things - it is simply that there are better IDEs out there that have much larger, vibrant communities, that do more and support a larger set of developers and languages and offer core platform APIs.  It is that simple.  Oracle has an opportunity to create a set of Oracle plugins and features into NetBeans that support the Oracle product set and gain the support of a large community of developers.

This is why Oracle has missed a huge, huge  opportunity.

 

Oracle's Missed Opportunity

Sunday, 8 November 2009 11:30 A GMT-08
I recently bought a new inexpensive laptop (a simple MSI A6000-029US, 16" screen, Intel Core 2 Duo Processor T6600,  4 GB of memory and a 320 GB drive) at a local Office Depot.  I had some questions so I went back.  The person at the help desk looked at my computer and said - "Oh, you use NetBeans". I asked them if they used it - they did.  We talked for awhile about all things NetBeans can do and then I had to go.  It's an interesting reality that I bumped into.  First, four years ago, I doubt I would have had this conversation.  The size of the NetBeans community has really grown outward and it has a footprint that extends beyond Java into some of the most popular languages being used today.  It also has excellent Java tools that make it extremely attractive - from a sophisticated profiler to the best Swing GUI designer to a visual web construction facility.  Second,  NetBeans has succeeded in creating a large open-source -based ecosystem. NetBeans has grown very rapidly - no doubt at the expense of other IDE's such as JDeveloper. Most new Java developers start with Eclipse or NetBeans or IntelliJ - I don't think I have ever met anyone that started learning Java with Oracle JDeveloper.  It's possible they are out there somewhere - but its such a small subset.  That's because the primary purpose of JDeveloper is oriented around ... well ... Oracle.  If you are not particularly interested in Oracle's products ... it a low probability event that you will chose Oracle as your IDE - even if you are not a beginner. Even so I was interested in seeing whether Oracle would understand that NetBeans has a large developer ecosystem that dwarfs JDeveloper and a platform that companies actually use for a multitude of purposes   - NetBeans Rich Client Platform, Java EE, Java ME, Java SE, JavaFX, Groovy/Grails, Ruby, Scala, Wicket, C/C++, OpenOffice apps, Python, JavaScript  and the list goes on and on, with the latest addition being Clojure . Oracle's recent announcement with regards to NetBeans :

Oracle has a strong track record of demonstrating commitment to choice for Java developers. As such, NetBeans is expected to provide an additional open source option and complement to the two free tools Oracle already offers for enterprise Java development: Oracle JDeveloper and Oracle Enterprise Pack for Eclipse. While Oracle JDeveloper remains Oracle’s strategic development tool for the broad portfolio of Oracle Fusion Middleware products and for Oracle’s next generation of enterprise applications, developers will be able to use whichever free tool they are most comfortable with for pure Java and Java EE development: JDeveloper, Enterprise Pack for Eclipse, or NetBeans.

In one way, this was somewhat welcome news that they recognize that NetBeans has a huge following (not quite as big as Eclipse but NetBeans has been gaining).  Oracle, on the face of their words, plans to offer NetBeans.  However this is a pretty  typical corporate-speak announcement that does little for Oracle except barely avoiding animosity from this  community.   I've used Google Trends to provide a view on the trendlines between three IDEs - I've excluded Eclipse from this graph - Eclipse currently has the  largest community.  Using Google trends we can look at NetBeans, Oracle JDeveloper and IntelliJ IDEA:

Select to see results

It should be mentioned at this point - that JDeveloper is actually third behind IntelliJ IDEA (another excellent IDE).

I think Oracle missed a real opportunity to actually leapfrog out of their straight-jacketed thinking on software development.  

JDeveloper is not a platform in any recognizable use of the word other than in a very strange mutation which describes anything created by any IDE as a platform.   This, of course,  is not the commonly used definition  of a platform  found in  NetBeans and Eclipse.   There are enough applications built ontop of the the core Platform APIs of the Eclipse and NetBeans platforms that this shouldn't be a source of confusion.

What should have happened, Oracle should not have missed a beat and should have announced work on Oracle plugins for NetBeans and active Oracle support of NetBeans. This type of announcement would have brought a large and some-what skeptical NetBeans community much closer to Oracle.  It would have been a big win for Oracle.  NetBeans will continue to grow either way - but Oracle has missed a big chance to really change perceptions and at the same time move their tools to another level.  What JDeveloper lacks is buzz, a wealth of community developed plugins, a wealth of support for other languages  and a very, very  large community.   And of course it does not offer a platform in the NetBeans and Eclipse sense of the word.

This is a huge missed opportunity for Oracle.

Java DB (Derby) :: New Talks and Resources

Sunday, 8 November 2009 2:15 A GMT-08
If you are interested in Java DB (or Derby) you might want to check out a talk by Kristian Waagan.  You can start by downloading the presentation, Getting Acquanted with Apache Derby, and then watching the video.  Rick Hillegas,  a member of the Java DB Technical Team, gave another very nice presentation, A Java DB Overview.  You can see the video here.  Rick also has a nice writeup tutorial/article, Introducing Java DB 10.5.1.1,  where he goes through a the features of the release. There is a nice Java DB (Derby) tutorial on how to use all the database features in NetBeans to work with Java DB, Working with the Java DB Database.   It walks you through configuring the database, registering the database with NetBeans, starting the server, creating a database, connecting to the database, creating tables,  adding table data, deleting tables, using an external SQL script and recreating tables from a different database.   One area that often comes up is database tuning - there is an article, Tuning Derby, which you may be interested in as well.  Finally David Van Couvering wrote a nice example of using Java DB, Synchronizing a Web Client Database : LocalCalendar and Google Calendar.  More resources here.  
   

New Tutorial : Debugging Multi-Threaded Applications

Sunday, 25 October 2009 12:12 P GMT-08
There is a nice tutorial, Debugging Multithreaded Applications, describes how to use the Debugging window in NetBeans IDE to debug multithreaded applications and also demonstrates how to detect deadlocks in an application.  Note that there is a corresponding video which provides the aspects of the tutorial.  NetBeans Debugging window simplifies debugging  providing a single window of information about debugging sessions, application threads and thread call stacks. The Debugging window also allows you to easily see the status of application threads and suspend and resume any of the threads in the session.

Bits : Windows 7, NetBeans 6.8 Beta, Tomcat

Saturday, 24 October 2009 11:09 A GMT-08
>I've been spending time with Windows 7 for the past two months.  It all started when I was given a Windows 7 Early Access CD at JavaOne.  I was busy and didn't thing about it - but after a couple of months I installed it.  Microsoft has hit a home run with Windows 7.  My past experience with Windows (95, 2000, XP) has been sporadic and problematic.  This release is very different.  There are a number of things I like about this release.  The combination of the Windows 7 GUI and Office 2008 is a very compelling proposition.  I've also been using RDP  tool (the tool is a killer) and it makes it very easy to deal with remote desktops transparently dragging  and dropping files
across remote desktops.   I've lived in a Unix/StarOffice world (whether Solaris or MacOS) for a long, long time so the smoothness of Windows 7 and Office took me by surprise. Windows 7 is now part of my computer ecosystem
- very good release.  One thing I do miss is a virtual window manager. I suspect there is one out there. >  On Windows I'm spending some time  looking at Tomcat.  Just bought Tomcat - The Definitive Guide by Jason Brittain - which is a very  good book on the topic.   It seems there is  a lot of Tomcat out there - my guess is that it massively dwarfs the  other app servers ( I don't make the distinction of full Java EE versus a JSP/JSF/Servlet engine - it seems like an artificial distinction that some like to make).  I've seen a lot of Tomcat on  Windows - so there is the intersection of the two interests.  >The other new release of interest and good news is the release of NetBeans 6.8 Beta.  NetBeans is offering Java EE 6 support, Jira bug tracking support, JSF 2.0 (Facelets),  more improvements in a scripting (PHP, Groovy/ Grails, Ruby), improvements in database support, better JavaFX support, improvements in Profiling to allow thread microstate details and quite a bit more. Check out the New and Notworthy page for 6.8.  The NetBeans IDE 6.8 Beta Release Notes can be found here.  More info here <>

Java Persistence API and Paying Attention To The Database

Thursday, 10 September 2009 1:08 P GMT-08
Carol McDonald has written an excellent article, JPA Performance, Don't Ignore the Database,  on the virtues of paying attention to the database side when writing Java Persistance API solutions.  Carol discusses doing good database design and discusses data types, normalization,  normalization and mapping inheritance hierarchies,  lazy loading, vertical and horizontal partitioning, Hibernate shards, caching, understanding your SQL queries and how they will be executed.  You can also check out Carol's Java Persistence API : Best Practice presentation for more information.  Also check out the following talk from JavaOne 2009, Keeping a Relational Perspective for Optimizing the Java Persistence API.  

NetBeans-Based IDE For Hadoop : Hadoop Studio

Saturday, 22 August 2009 11:37 A GMT-08
What is a MapReduce application ?  Basically - MapReduce is a programming model and an associated implementation for processing and generating large data sets.  Users specify a function (map) that processes a key/value pair and generates key/value pairs a function (reduce) that merges all the values associated with the same key.  Details of this approach can be found here and here. The Apache Hadoop [1] project is a free open source Java MapReduce implementation.  You can visit the Hadoop project and get more information.  A new NetBeans-based IDE for Hadoop users has been made available.  Hadoop Studio "makes it easy to create, understand, and debug map-reduce applications based on Hadoop, without requiring development-time access to a map-reduce cluster. The studio provides a real-time workflow view of a map-reduce job, which displays the individual inputs, outputs, and interactions between the phases of a map-reduce job. The workflow view of a job updates in real time with the developer's code changes. It then generates Java sources and compiles them into a binary jar file, which can be run on a normal Hadoop cluster."  You can learn more about Hadoop Studio by visiting (a) Hadoop Studio's site and Hadoop's freshmeat site. [Thanks to Toni Epple for the pointer]  

Gadget of the Week : Java Development on Nokia's XpressMusic, Orange's Watchphone

Friday, 21 August 2009 1:05 A GMT-08
This week's Gadget-of-the-Week is a watch and it's a phone ... well a video phone as well.  It's going on sale the UK.  The LG-GD910 is pretty interesting.  It allows voice commands, a touchscreen, a VGA camera, bluetooth, a speakerphone and thankfully it is water resistant. One downside - you won't be able to run your favorite Java MIDlet on this.   [Check out the Orange Newsroom for a video]  On the other hand you can run a pretty full Java ME stack on Nokia's 5630, touch-screen 5800s and other XpressMusic phones - and some of the APIs are interesting ... JSR 184 Mobile 3D Graphics API, JSR 134 Mobile Media API, JSR 226 Scalable 2D Vector Graphics,  JSR 82 Bluetooth JSR 234 Audio3D and Music a lot of the usual suspects run on it.  >
Want to go a little deeper - check out a couple of tutorials.  I already mentioned earlier,  Creating a Touch-Enabled UI For Java ME Devices . Now how do you debug these devices - try the tutorial, On-Device Debugging on Eclipse and NetBeans. It gets better, another tutorial - How To Get Information on Sensors in Java ME , shows you how to information on sensors like accelerator sensors.  A video on the subject can be found here .  More on building applications for Nokia Java-based phones here and here.

 


JavaBits : VisualOSGi, Combining JARs into One, Java Store How-To, Mobile Java Tutorials

Thursday, 20 August 2009 11:42 P GMT-08
> Toni Epple has written a nice NetBeans-based visual OSGi administrative tool, VisualOSGi. Yet another example of the power of  rich client applications.  You can choose to either build your own app by leveraging a ton of the RCP platform's plugins or you can build a plugin to extend an IDE.  You can find two screenshots of the tool here and here. >  On the Java Mobile front there is a new tutorial, Creating a Touch-Enabled SVG UI for Java ME Devices.  Java Mobile Edition-based devices like Nokia's 5800 Xpress, Blackberry Storm or Samsung's Omnia and Instinct have nice touch screens which will allow you to leverage the touchscreen and Java. The tutorial walks you through creating the UI in the SVG composer, using the Visual Mobile Designer in NetBeans to create the application flow,  adding app logic to the SVG UI and testing the device in a touch-screen emulator. > Another nice tutorial, Use NetBeans IDE 6.7 to Combine JAR Files Into a Single JAR File,  shows you how to combine a number of JAR files into a single JAR file. >   Are you curious about how to go about using and submitting an application to the Java Warehouse (aka Java Store) - there are three screencasts showing how to register for the Java Warehouse (part 1) ,  move through the main and legal sections of the Java Warehouse (part 2) and finally, how easy it is for developers to use the Java Warehouse Developer Portal to begin publishing applications (part 3).  

Gadget Friday : JavaFX Mobile, LG's New Chocolate (pics)

Friday, 31 July 2009 11:50 A GMT-08
It's Gadget-Friday. > JavaFX Mobile. The HTC Diamond (a Windows Mobile phone) was demoed running JavaFX.  Peter Pilgrim provided an audiocast on the HTC Diamond/JavaFX phone from JavaOne 2009 and Terrance Barr has a screencast from the same event.  I think JavaFX will shine on larger screen- size phones.  > The New LG Chocolate.  For those of us that like our iPhones too much - we need to get a life or a Nokia E71 (which is a better phone - you know like to be able to make, receive calls and clearly hear the other person).  I like my iPhone but it doesn't stop me from being downright envious of what I'm seeing coming from LG. Check out the  new (BL40) LG Chocolate - it's not out yet, but, wow!  The LG Chocolate will have a 4 inch, hi-definition display with a 21:9 aspect ratio.  Resolution will be 800 x 345.  Note that it contains a 5 Megapixel camera with flash and Schneider-.  Don't know the software specs on this but it does look flashy - and I suspect that this is the first of many more cellphones (this is a mass-market phone as opposed to as smartphone) in the same class.  Rumor has it that it will use Adobe's Active Flash UI (1) and use LG's own OS.  More at Geek.comMobile Crunch and PMP Today.
>
Select to enlarge images.
>
>

 

Followup on Fixing JavaFX

Thursday, 30 July 2009 12:10 P GMT-08
 As a pointer - it should be noted that DZone/JavaLobby provides a discussion to my blog posting which has now been posted on DZone, "What's Wrong with JavaFX and What Needs Fixing. I refer to some of those comments below.  Overall, some very good comments have provided more food for thought on the topic.  Someone pointed out - ekschi.com: Thoughts on an JavaFX Article and some twittering on the topic - but the discussion is at DZone.

Anyone that has been around the Java ecosystem for some years knows that the community goes through a  lot thrashing about and gnashing of teeth before things get put right.  I think JavaFX has a singular chance at this moment to put things right.  When I wrote my blog on JavaFX and my hopes around fixing it- I was hoping to see a couple of things :
> The first thing is to further the overall Java ecosystem by offering a real open source Java alternative (just like OpenJDK, NetBeans, Eclipse, etc) - over furthering a single Java-based framework.  So the two points I made that centered around this are open-sourcing (completely) JavaFX and providing much better visibility into the roadmaps.
> The second thing, but, as important to many developers is to further Java on the client by creating true interoperability with JavaFX. Today, JavaFX can use Swing resources within a JavaFX application - the win for the ecosystem is in allowing true interoperability - where a Swing app can use JavaFX within it.  Without this two-way  interoperability JavaFX simply becomes a competitor to Flex and SilverLight  as opposed to a deeper part of the Java ecosystem.

In looking at the comments, I was happy to see that a number of people had a few more thoughtful additions to my comments.  One point was an observation by tmilard was that some of the Swing apps looke(a Swing Mashup) which are both d very '90's.  The counterpoint to this argument is BlueMarine (an RCP app) and Aerith (a Swing Mashup) which are both visually stunning applications.   There is no question that some of these apps use a fair amount of text
BlueMarine
BlueMarine is a NetBeans-based RCP app that provides a comprehensive digital photo workflow.

- but I think we do need to draw a distinction between an app that is supposed to convey large amounts of information (in many cases textually) and an app that  visually represents a DVD/CD cover with song titles. At the same time,  I don't agree that Swing apps *have* to look very 90's - there is plenty of good work demonstrated by Hans Muller, Pete Haase, Scott Violet, Romain Guy, Jasper Potts, Joshua Marinacci and many others that suggest that Swing apps can look quite good.

As a sidenote, I tend to agree that Flex and JavaFX don't seem to lend themselves to say a ... heavily text-centric app often used in

banking, insurance, etc.  An app that is by it's nature is extremely text-centric is problematic for a framework that was built with rich media in mind.  I'm not saying it can't happen - just that it's harder to make it happen. So the comment about a 90's look may be a symptom of what the app is trying to accomplish. Many of us have become very accustomed to GUIs that are highly visual but have small information content for the amount of screen real estate used.  On the other hand, Indaba's application really is the type of application where JavaFX can show itself off.  So I think there are apps that you want to build with JavaFX and their are apps you want to use an RCP for.  Geertjan pointed to the project management app, TimeKeeper, - this is the type of app that in
some areas JavaFX would be especially ill-suited for but there might be other areas where JavaFX would be useful.  It's clear the RCP aspects are key aspects to this apps success.  Another use of RCP is in the building of development environments.  Numerous  examples exist with NetBeans RCP - for example Sun Studio, LambdaBeans and of course the NetBeans IDE itself and many others.  Obviously this is another example where JavaFX might be  ill-suited for many aspects -  yet there may be visual areas  where you might want to use  JavaFX.  It is even possible to conceive someone coming up with an IDE built in JavaFX but unfortunately it would  lack access to a wealth of
More on this app...
Project Management Application called TimeKeeper and is a highly data-centric app
 plugins available on RCP platforms which would be okay for a designer - but perhaps not so okay for someone developing large RCP applications.  In any case the  designer would simply send his work over-the-wall
Check out Tor Norbye's blog for more
The JavaFX design tool is in progress as announced at JavaOne 2009. Very little public information on this - check out Tor Norbye's blog for more information.
to an RCP developer and a hybrid RCP/JavaFX app would be developed.  Very little is public information is available is known about the details of the upcoming JavaFX authoring tool but it appears aimed at designers.  So from my perspective there are apps that would greatly benefit from both RCP aspects and JavaFX  at the  same time in the same app. Toni  Epple in his comments provides an example of NDSatCom's  Network Management Systems  app which could benefit from  two-way interoperability between Swing/JavaFX.  Incidentally, NDSatComHowever, without two-way  interoperability this is not practical and porting millions of lines
of code to take advantage of JavaFX features will not happen because of the loss of many RCP features.

I really think that the JavaFX framework which has as its underpinnings Java, Java2D and Swing should have as a simple Java ecosystem responsibility -  two-way interoperability.  In my mind the lack of this functionality disables a number of really interesting possibilities with the technologies and at the same time makes JavaFX a simple product rather than an integral part of a larger, interoperable ecosystem.  The  building of a Swing/JavaFX two-way ecosystem bridge  would allow not simply access to JavaFX from Swing (which in itself would be important) - but it would allow a much larger advantage in the form of coupling Rich Client Platforms - NetBeans, Eclipse and others to leverage it.  So when I said that the current one-way bridge that exists is "apparently artificial' - it gets to the heart of the fact that you have a Java/Java2D/Swing substrate where  JavaFX sits atop  amazingly has no real way for Swing apps to leverage the features of JavaFX. This is a shame because this would be the fastest way to adoption of JavaFX and would also provide an RCP coupling that would benefit JavaFX.  To adopt the current one-way bridge is a real failure  of imagination which needs to be fixed.

It is quite clear that JavaFX has many excellent features - but let's get on with fixing these outstanding issues that many would like to see fixed.
 

Free JavaFX Online Class (From JavaPassion)

Tuesday, 28 July 2009 10:55 A GMT-08
>  Free JavaFX Online Class.  Please note - you have a great opportunity to learn JavaFX with a free class that is starting on August 25th.  You can find more information at JavaPassion where the agenda and content for the class is available.  The course web site is here.  The  session  will start from Aug. 25th, 2009. For registration, all you have to do is to send a blank email to : javafxprogramming-subscribe@googlegroups.com.
 
 

Bits : JavaFX Mobile Development Screencast, JRuby, Android Development, MySQL +

Tuesday, 28 July 2009 10:22 A GMT-08
A few Interesting bits.  >  JRuby.  Two members of the JRuby team are leaving Sun/Oracle according to an eWeek article.   Apparently facing the pending Oracle takeover of Sun, members of the team where uncertain about the future of their Project under the auspices of Oracle.  They are moving the open source project to Engine Yard, a company that has become a Ruby powerhouse. >  JavaFX.  Terrence Barr, a Sun Senior technologist and Ambassador for the Mobile and Embedded Community, has a new screencast , Getting Started with JavaFX Mobile 12. EA for Windows Mobile.  First he runs through the requirements and then demos a mobile example (Mosiac) on the desktop, in a web browser, on a JavaFX mobile emulator and on an HTC Diamond device.  He walks through the install and demos Mosaic (a Flickr demo - which moves, rotates and allows viewing of images). He also shows the ease of using NetBeans 6.5.1 and building for mobile, emulator, browser and desktop environments.     > Android Development.   If you wanted to do Android develoopment in NetBeans - you can.  Over at Project Kenai - there is a how-to on installing the Android Plugin into NetBeans.  Leon Fan has written a blog entry about a  work-around to the Android emulator setup to get it up and working for NetBeans 6.7. Another how-to can be found here . There is also a NetBeans wiki on Android> MySQL Mini-Tutorials.  Rodrigo Peleias is putting together some very short MySQL tutorials. In the next month you can get Mini-MySQL tutorials from here.  The first short tutorial is available.  >> JavaFX.com Irritation.  One source of irritation is that whenever these days I go to the javafx.com site - I get this irritating applet requesting "unrestricted access to" my computer. I read a blog over at Sun Mobility Tech Tips which suggest I "Allow" and check the item that says Allow all applets from "javafx.com" access.  The blog goes on to say "It happens because Apple has changed to a site/URL-based security model in one of its recent Java updates. In previous updates of Java for Mac OS X, unless the applet was cached a Trust dialog box appeared with different text and unrestricted access information in the fine print: This applet was signed by "JavaFX Runtime," but Java cannot verify the authenticity of the signature's certificate. Click Trust to run this applet and allow it unrestricted access to your computer."  Do I really want to be this trusting ?  :-)  
 

NetBeans 6.7.1 Now Available

Monday, 27 July 2009 1:18 P GMT-08
I am happy to say that a new release of NetBeans 6.7.1 is out and available.  You can get it directly from the NetBeans 6.7.1 download site.  This incremental update offers up a bunch of bug fixes but also offers support for the latest version of JavaFX (1.2) and an upgrade of GlassFish v Prelude to include a number of fixes.  You can find the installation instructions here.  Release information can be found here.  The nitty-gritty information can be found in the Release Notes.  Note that there is a nice relatively new reference card from DZone - check out the NetBeans Java Editor DZone Reference Card.  Also check out eWeek's review NetBeans 6.7.   Documentation for NetBeans can be found here.


 

What's Wrong With JavaFX and What Needs Fixing ?

Monday, 27 July 2009 11:56 A GMT-08
With recent spate of Rich Internet Application frameworks - such as Flex, Silverlight and more recently JavaFX (script) it is clear that there is a lot of confusion over using a Java-based RIA framework such as JavaFX or using a Rich Internet Platform based on Java such as the Eclipse RCP or NetBeans RCP.  Of course - there shouldn't be any confusion except that Sun seems to have created the  confusion by leaving open doors to dark rooms. First, JavaFX is hardly a replacement for something like the NetBeans RCP or Eclipse RCP - its target, in my opinion, only fills a small but important segment - small rich media internet applications.

As a point of reference, there are tons of Swing-based apps - some that qualify as being excellent rich multi-media apps .  I've been looking for some nice examples and found some that really impressed me.  A few examples that I found on the NetBeans site (the descriptions are included as well)  :
- BlueMarine - is an open-source application for digital photo workflow.  The blueMarine project provides you with an all-in-one tool for managing your photos, from the shoot up to archiving and beyond.
- MassTk - is an engineering analysis application by Boeing. It incorporates the functionality from several legacy mass properties analysis applications that were originally written in Java, Fortran, C, and even Perl.  It provides a rich GUI with custom editors for all business objects including 2D & 3D visualization.  In addition to this application there is the Boeing Shared Platform is a logical outgrowth of building MassTk on top of the NetBeans Platform: BSP is a feature-rich platform created by factoring out the modules from MassTk that are not specific to mass properties analysis, but are useful to engineering analysis applications in general.
- ThinkingRock is a free, platform-independent Java application for collecting and processing your thoughts. This simple and easy-to-use tool follows the Getting Things Done (GTD) methodology
- Domito Manager, by MCD Electronics in Poland, configures a system that controls lighting, heating, and opening/closing of gates in houses. In the building sector, a system of this kind is known as an "intelligent home".
- The Sepix Sales System is a customer relationship management system for sales managers on the road. At this stage, the application is running on the NetBeans Platform with a fully functional module for mapping and routing. The application offers a map display, works as a route planner, and is capable of displaying data from a database as geolocations. You can display any type of graphical layer over the map, with sales territories or any kind of POIs, such as speed limit zones.
- Nokia offers a complete solution for managing mobile networks and end-user services, called Nokia NetAct™, ranging from control-room software for 24/7/365 monitoring of the network to software for graphical optimization.
- Puzzle is a Java Geographic Information Systems (GIS) development platform.  The main goal of Puzzle GIS is to create a free, production ready and competitive tool as a valid alternative to commercial software.
- Agile Client is a NetBeans Platform application developed by Northrop Grumman in partnership with the Defense Information System Agency (DISA). It brings the war fighter a 3-D common operational picture (COP) workstation designed for greater efficiency and mission effectiveness.

All of these applications seem to share three things in common - they are built using the NetBeans Platform,  they are data-intensive applications that in most cases are of a mission critical nature - people use them to do real work and an intense number of data aspects need to to be visible (textually or graphically or both).   The NetBeans Platform constitutes a framework for getting difficult things done relatively quickly - not simply from the standpoint that it provides a wealth of resources and allows the architecting of large modular software but it also allows integration with other frameworks.

Slightly different Swing-based demos such as Aerith (code is here)  provide excellent demonstrations of what one can do with Swing graphically. They leverage not only Swing but also - Java2D, OpenGL, Timing Framework (for animations), SwingX, Matisse, Google Maps, Flickr, Yahoo! and more.  This is an example of the beauty of a nice open non-proprietary set of frameworks all playing together with open interfaces to web services.   Note among these frameworks are a number of the residents at SwingLabs

So let's add Aerith  to our  list- since the code is out there and it offers an example along with some very flashy functionality.  A few more  :

- Aerith is a Swing Mashup, or smashup, combining three webservices: Google Maps, Flickr, and Yahoo's geocoding webservice to let users create, view, and share slideshows of their road trip photos. It was presented as a demo at the 2006 JavaOne conference by Richard Bair, Romain Guy, and Joshua Marinacci.
- Vuze (formerly Azureus) which is a is a BitTorrent client written in Java - I would be remiss in not including Vuze in the list of excellent Java-based applications - even thought it doesn't use Swing but rather SWT.  It is an excellent example of a Java GUI.  
- In the Games area - Runescape and Tribal Trouble are two examples of how Java can provide a rich game experience.


I will continue to create "the list" with the idea that (a) it might give a developer a perspective on what people are doing (b) how they are constructing their apps.  I also encourage developers to look at the extreme Swing series from past JavaOne conferences.  

Meanwhile, I do see the beginnings of JavaFX apps beginning to emerge such as musicpin from GUI thought-leader, Canoo,  and Indaba's Collaborative Digital Audio Workstation.  A JavaFX development tool, JavaFX Builder, is also available and is very interesting.  However, surprisingly, that seems to be it except for the recently concluded JavaFX contest .  If you know of others I would love to know about them.


It is entirely possible that the arrival of JavaFX has confused some  developers and this confusion may have even caused problems for Java on the client-side.  Why has this happened ?  I have to remind myself where JavaFX is aimed at going - Sun has announced JavaFX is aimed at the - [a] desktop [b] mobile and [c] interactive devices including television.   Perhaps the tag line about JavaFX being for "all the screens of our life" has served to confuse things even more.  For the same reason that an aerospace company would choose the Swing/NetBeans Platform over Flex or Flash - I also would make the same choice and probably for the same reasons. To these developers and companies, they will look at JavaFX as being in the same RIA boat (and it is) and they look at it as containing less architectural flexability than a Swing RCP (modules/plugins, resources, RCP structure, etc).  The vagueness and marketing tag lines have served to confuse a fair amount of people and I am not the only one that thinks that

If you have followed this blog then you know that I have been very supportive of JavaFX (you can see from my past JavaFX blogs ) - JavaFX has its place - but that space is a lot smaller than the JavaFX marketing suggests.  Over time issues have emerged  that really need fixing and after some discussions with other Swing developers at JavaOne and post-JavaOne it looks like I'm not the only one with these feelings.  What's wrong with the JavaFX ? 

- Lack of a module system such as those found in Eclipse and NetBeans. The biggest thing people gain from the NetBeans and Eclipse Platforms is being able to break their application into parts, called modules.   As a result of not having a module system -  JavaFX apps are relegated to remain small- which in some cases - such as small rich internet applications that's fine.  Wouldn't it be nice if JavaFX could integrate into Swing to be leveraged by existing module systems such as the NetBeans and Eclipse Platforms ?  
- Lack of Two-Way Integration with Swing.  This is huge.  The one way integration that exists is unacceptable and apparently artificial. Integration of JavaFX into existing Swing application's isn't supported and that's where it could turn out to be most useful.  This is a huge oversight and hurts the use of the fledgling language's adoption.  More important - it's easier to build your larger apps using an RCP - which would allow two way integration of Swing/JavaFX and leverage the modular architecture of the RCP. 
- Lack of Controls.  There simply are not enough controls - the description I read in a blog the other day mentions the absence of the Tree and Table controls.  Ouch! Keep in mind that Swing has a multitude of controls.  Controls like SwingX controls offer a number of additional controls which even offer themselves up to be used as components in NetBeans GUI Builder palette.  The hype that is surrounding the JavaFX 1.2 controls available is also disconcerting - "JavaFX 1.2 has real UI controls, designed for the 21st century".  If you look at the controls on the page - you shouldn't feel dumb - the majority look like Swing controls and the statement misses the fact that there are a huge number  of Swing and Java-based controls available- including smart charts, smart report components and many more useful "21st" century controls.
- Visual Development Tools. One gaping and large hole is lack of visual development tools.  The exception to JavaFX tools is NetBeans - at least with NetBeans you can write JavaFX code. However in this space you need a visual graphical builder and there is no graphical development builder, yet.
- Proprietary Framework. If the intention is to make JavaFX a viable alternative to Swing then JavaFX needs to be totally (not partially) open sourced just like Swing, Java,  NetBeans Platform, Eclipse, etc.  By not open-sourcing JavaFX it retains no advantage  over other competing RIA platforms and we should not be confused about the licensing difference between OpenJDK (which has been open-sourced) and JavaFX. It also becomes less likely that JavaFX becomes an open source alternative to Swing and Swing-based frameworks if it is not completely open-sourced.
- Lack of Transparancy into JavaFX Roadmap.  In keeping with the non-open source nature of JavaFX - there is almost no visibility into what is going on - if I look at NetBeans or Eclipse or OpenJDK - I know where those projects are going.  For example, NetBeans has visibility into what they are building for the next release on a page that describes the features being worked on.  I have no clue what new controls will emerge in the next release of JavaFX - let alone other developments.   What constitutes the next release ?  


JavaFX does not currently satisfy all the screens of my life despite the marketing tagline.  Some will erroneously view this as an attack on JavaFX - it is not.  This is simply part of the  community discussion that has already started and is aimed to make JavaFX better - the starting place needs to be integrating JavaFX and Swing in a as a meaningful  two-way street (the answer to "it's hard" - is "most good things are"),   provide better transparency into its roadmap and making it open source. At JavaOne I was asked for my opinion on using JavaFX in real apps - I answered (after going through some of the issues above) that it depends on the type of app and it depends on your comfort zone with the above issues.

----

Please note the second part in this series -  Follow-up On Fixing JavaFX and the discussion on DZone .

Tutorials : Zembly Services + JavaFX + Facebook

Monday, 20 July 2009 11:34 P GMT-08
Zembly has an interesting addition - Zembly Client Library - it is a library that allows JavaFX to use Zembly services.   You can learn more on this from the Zembly blog, Using the ZCL/JavaFX Library, which walks you through building a JavaFX app and leveraging Zembly services.  In another example, Build a JavaFX/ZCL Facebook App,  shows you how to create an app which performs a local search for a coffee shop.  Note that with NetBeans 6.7 there is a plugin allowing you to use  Zembly's Web API Gateway Client Library.  Check out the tutorial, Using the Zembly Web API Gateway Client Library with NetBeans IDE.  

Java DB 10.5.1.1 Released Along With New Tutorial

Monday, 13 July 2009 11:22 P GMT-08
Two very cool items on Java DB.  The first is the arrival of version 10.5.1.1 - you can download it from the Download section of the Java DB site.  There is also a new tutorial, Introducing Java DB 10.5.1.1,  which describes some of the new features.  The new release introduces in-memory databases.  Also introduced are generated columns (a column whose contents are computed from the values of other columns in the same row) and the OFFSET/FETCH (syntax which was recently added to the ANSI/ISO SQL standard), SQL roles.  

Killer JavaFX App Released : Indaba Music's Collaborative Digital Audio Workstation

Thursday, 9 July 2009 11:14 P GMT-08
Indaba Music, a music collaboration service, has launched a new version of its Session Console 2.0. The new Session Console is built with JavaFX. The session console is a digital audio workstation that allows musicians recording, mixing and editing of music as a collaboration  adventure.   Think of multiple musicians collaborating with various
>
experiments in real time - first an accoustic idea, then numerous people collaborating, recording and mixing together and ultimately a song is generated.  Some key features -
    * Recording: High-quality audio recording directly to Indaba
    * Clips Library: Choose from hundreds of Creative Commons-licensed loops
    * Real-Time Effects: Chorus, reverb, EQ, flanger, and more.
    * Online/Offline Use: Use the console anytime, anywhere.
This is a killer idea.  Check out more on Indaba Music here.
You can also read more about it at TechCrunch and Wired.
 

Quick Tutorial : Mixing Swing and JavaFX

Thursday, 9 July 2009 1:01 A GMT-08
If you missed Amy Fowler's quick tutorial,  Insider's Guide to Mixing Swing and JavaFX,  then check it out.  She does a nice job of showing how to leverage Swing and JavaFX together. She referenced this
> year's GUI Makeover session which had an example of how to blow up junk mail using a guided missile. The article does a quick walk-through of mixing Swing and JavaFX with some quick code samples.  One question that often comes up - why would anyone mix the two? A lot of reasons but one big reason is that there is tons of good Swing code out there.  Both JavaFX and Swing are good for building GUIs - some people will prefer Swing, some  JavaFX - in any case you can leverage both.   While your at it - check out the PDF for the Extreme GUI Makeover (Hybrid Swing and JavaFX Technology).  

 

New Tutorial : GlassFish Web Space Server

Tuesday, 7 July 2009 12:52 P GMT-08
Portals Servers like GlassFish Web Space Server, offer up really nice ways of quickly setting up Web sites for content and collaboration with out-of-the-box templates.  Included are capabilities for quickly setting up facilities for wikis, blogs, document sharing, calendaring, managing tasks, web content publishing and quite a bit more.  You can also share your portlets with other web properties, you can consume various web widgets/gadgets and naturally enable self-publishing by uses.   There is a new tutorial, Using the Portal Pack on NetBeans IDE with Theme Plugin Support, which describes how to use Portal Pack plugins to create and modify Sun GlassFish Web Space Server/Liferay themes on NetBeans IDE.  You can learn more here.  

Boeing Shows NetBeans-Based Rich Client Platform Applications [Screencast]

Friday, 3 July 2009 11:12 P GMT-08
JavaOne 2009 The NetBeans Platform is one of the best ways to get a rich-client platform (RCP) application up and running.
There are so many facilities for a developer to use that gets the app up and running quickly that it provides an excellent application platform.  This hasn't gone unnoticed to a number of large, medium and small companies - there are lots of NetBeans RCP apps out there.  Many of them provide critical services to companies.  Boeing is one of the companies that is leveraging the NetBeans Platform.  Boeing has created a very sophisticated shared platform called the Mass Toolkit and the Boeing Shared Platform.  They have created a number of applications on the Boeing Shared Platform, such as - a structural analysis application (Common Structures Workstation, CSW2), a composite material analysis application  (SIFT),   a cross- sectional structural analysis app (XSA).

Listen to presentation
Select to go to presentation (audio and presentation)

You can listen to the presentation, Creating Better Applications at Boeing with the NetBeans Platform Application Framework, on this topic at SDN.  The applications are discussed and the approach to building these apps using the Mass and Boeing Shared Platform are discussed. They discuss how they ported Swing apps to the NetBeans Platform  (remember that NetBeans is based on Swing so it is relatively easy).  They also discuss module development, modifying the platform and a number of other best practices.   [Thanks for the pointer to Geertjan/NetBeans DZone]

NetBeans 6.7 Has Been Released

Monday, 29 June 2009 8:20 A GMT-08
The only IDE you will ever need is out with a new version.  NetBeans IDE 6.7 has been released.  You can find out all the details about what is in NetBeans IDE 6.7 by visiting the Release Information and the Features pages.  Also check out the new intro-screencasts page and tutorial and docs pages.  There is a NetBeans IDE 6.7 Overview screencast.  NetBeans.tv also has the same tutorial.  If you are on Twitter - check out Netbeans tweets.  Go check it out and download it now.  

CommunityOne & JavaOne 2009: Game Sessions & Solaris 2009.6 Eye Candy

Friday, 12 June 2009 12:07 A GMT-08
> One of the interesting aspect of JavaOne 2009 was a number of sessions on the game industry.
Games-Oriented Sessions. There were lots of sessions on creating applications - but quite a few around game development.  I was able to go to one of the game sessions, Java Technology For Gaming, which covered a lot of the territory associated with collision detection in games.  You can find more on it here.  Another session, I didn't make it to, was Creating Games with the Open-Source, Multi-threaded Game Engine (MTGame).  DarkStar was also not only being used but a session, Project Darkstar: A Scalable Application Server for Networked Games, Virtual Worlds, and MMOGs, provided details of how to use it.  Other sessions dealing with games - JavaFX Platform: Animations, Timelines, and Collision Analysis for Games, Easily Creating Games for Blu-ray Disc, tru2way, MHP and Other TV Platforms, Duke's Dancing Partner: Connecting Handheld Game Consoles with Java Technology and Gaming Package for Java Technology on TV: Solving the Gaming Problem.   Note the PDFs are already available.

OpenSolaris 2009.6.  Another part of CommunityOne 2009 was the launching of a brand new version of OpenSolaris .  I have recently upgraded one of my PCs to a 2.5 Ghz Dual Core Intel box.  I decided to try out (first) Microsoft Windows 7.  I have no Windows boxes at home and so I decided to kill off Ubuntu (note I like Ubuntu it is a good OS) in favor of a Windows box (shock!). However, between there and here a few things happened. Windows 7 RC is in early access and I wasn't able to get it working on my system.  So I did the next thing on the list - load the latest version of Solaris 2009.6.  I installed it - which was a breeze - then I used the new easy to use network package management system to get lots of software.  Then dropped NetBeans 6.7 RC2 onto it.  Then I started playing with it.  I'm somewhat stunned by (a) the fast performance, (b) by the incredible ease of use features (found my wifi,
>
discovered all the  components of my systems and they worked - keeping in mind that this is a self-constructed PC),  (c) the visually stunning desktop features (things like visualizing your desktop as a cube or wall and elastic windows and much more.   I  played with the eye candy for quite awhile - very impressed.
>
One interesting thing along the way - I wanted a Solaris version of Blender and managed to find a slightly older version.  I was impressed by the speed to render objects.  I am really, really impressed by the desktop (I've already spent alot of time on server-side features - and I am really quite amazed by the new desktop changes in OpenSolaris.  Very cool.  I'm looking at getting a PC laptop (what! what about the Mac? I still need that but...) - the latest OpenSolaris 2009.6 version is that good.