Tuesday, September 25, 2007

Eagerly watching JavaFX

I am a huge fan of the creations coming out of the Java standards group and Sun. The technology I am watching the closest is JavaFX a.k.a. OpenJFX. I must admit, I watched the JavaOne video where JavaFX was broadly announced and was somewhat angered about their "phone" concept that was being coupled with JavaFX -- it looked like a cheap knock-off of my beloved iPhone.

After letting it sit for a few weeks I went back and looked closer at their websites and found that it is really more of a Flash killer than an iPhone killer. Now it was looking appealing. Throughout the past few years I have randomly looked into Flash, but always hit the same barries: it's not free and it's quite different from the usual C++, Java, Visual C++ UI development I have done in the past. I worked with Apple HyperCard once upon a time and Macromedia Authorware in the less distant past. They're similar, but different still.

I have invested a lot of my non-work time learning Java inside and out. For example I have gone equally deep into both the back-end technologies, such as JDBC, concurrency, EJB3, as well as the UI starting with AWT and then moving on to Swing. With my continued passion in the later, JavaFX was quite appealing since it has a comforting level of ties into Swing.

JavaFX starts with the Java language, but turns it into a more appropriate language all its own. For example, they've added the concept of dynamic binding. I suspect this a concept similar to what Mac OS Cocoa development offers via Objective C.

What? Software development and woodworking?

These topics may seem unrelated, but believe it or not they actually are. I have been developing software much longer than my time spent with woodworking; however, I often find myself noticing similarities such as the following off the top of my head:
  • Both require creating a vision of the end solution in your head before you even start
  • Both involve experimentation along the way to try out some of those ideas in your head
  • Both can be divided into their parts, but knowing how the parts will join is critical