Posts

Showing posts from July, 2012

Dart FUD

Given that I currently do little to no programming specifically for the browser or should I say actually writing JavaScript code, I had, until recently, all but completely ignored Google's Dart language.  It's been about a year since Google released it and I recall reading that it was a non-standard JavaScript replacement which was only to be supported by Google's Chrome browser and it was history repeating itself (in a bad way) reminding folks of VB script or maybe ActiveX.

Not to rehash the whole of the criticism but basically Google was accused of trying to do what Microsoft did with their own proprietary browser technologies which unfortunately led to a set of badly fragmented web "standards."  Given that I don't love JavaScript, tending to be more of a static-typed guy, replacing, or trying to replace, JavaScript with a variety of alternatives does not sound totally unreasonable to me.

While I have never attended a Google I/O conference, I try to digest …

JavaFX, Maven, and Executables

I am glad to see Maven getting more attention from JavaFX folks.


These are a couple of good recent posts: JavaFX and Maven and more recently Create JavaFX executables with maven


I created a project using the pom from the second post on OS X running Java 1.7.0_06-ea-b19 and had some, but what now is very little, trouble.


In addition to having to precede the {java.home} and {javafx.version} variables with a dollar sign, I ran into and Ant issue which was solved for me with this:Ant tasks that use the JDK


After getting the project to build and package (that packaging part is cool especially the first time you see it) I had one more problem.  The IDE, in my case NetBeans, despite successful builds, would not run or debug the program.


Now it's obvious that NetBeans could not find the JavaFX runtime which I solved by adding a symbolic link in the extensions directory.  Here is the command I used from the /Library/Java/Extensions directory

ln -s /Library/Java/JavaVirtualMachines/jdk1.7/Conte…

maven 3 site building

We recently moved some projects from maven 2 to 3 and ran into some issues on our CI server.  Most issues while a bit time-consuming were easy enough to figure out given the error messages.  One, in particular, took a bit longer to track down for some reason.  Looking back it should have been obvious but google searches were not much help...perhaps it's just because today is Monday.

The error had to do with building the site.  One of the messages, among others, is below:


org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-site-plugin:2.2:deploy (default-cli) on project projectname: Unsupported protocol: 'scp'Now, this is obvious to me but when I encountered it I thought something had changed in the distributionManagement support settings. As it turns out, the maven-site-plugin needs to have ssh/scp support made available to it. Adding the dependency to the site plugin will correct this problem. An example is below…

Android and JavaFX

This brief post is not about running JavaFX on Android...something I really hope does happen and soon would be nice.  JavaOne announcement?

It is about a quick comparison between a native Android application and a JavaFX FXML application.

If I recall correctly, one of the books I used as a reference for Android development used code-only to explain "hello world" type examples.  After that simple stuff it was quickly pointed out that Android development is typically done using XML as the markup language to create views.  It is possible, although not advised, to use Java-only because the XML separates the design from the code.

JavaFX 2.0 seems to be getting a great deal of press now and perhaps it's gaining in popularity.  In my opinion Jim Weaver and Stephen Chin joining Oracle as evangelists is a great for JavaFX.  I know I have been working with it a good bit lately.  At this point it seems like there are more code-only examples than FXML based examples (but this is cha…

JAX 2012 San Francisco

Throughout my career as a programmer I have been to a wide variety of developer conferences but today concludes four days of one I have never previously attended.  JAX, which originated in Europe and has been around since 2001 is focused on Java, other JVM languages, and anything that touches Java technologies.  The JAX conference is small when compared to JavaOne and others but the number of attendees is not a reflection of the quality of the conference.

If you have been around the Java community for any length of time you would recognize a significant number of the speakers.  We were fortunate enough to attend sessions lead by Stephen Chin, Neal Ford, Ted Neward, Kohsuke Kawaguchi, Arun Gupta, Rich Hickey, and Charles Nutter.  In my opinion, one or two of these guys makes it worth the price of admission but that's not even a complete list.  The material presented at JAX is both practical stuff you can take home and begin using in your development along with theoretical edge tech…

Time saving Java development

I recently ran into some issues with a commercially support product that reduces development time by eliminating the need for recompile/deployment after every code change.  When it's working, this can save hours with a variety of Java development spaces and is well worth checking out.


The commercial product for this purpose is indeed a very good one and worthy of the praise it has gotten but alternatives and competition can be good.  Having said that, Javeleon is a free tool developed by a group of researchers at the University of Southern Denmark.


While I know my way around Eclipse and will use Intellij if and when I must, I happen to be a NetBeans fan at this point in time.  With respect to Javeleon, that's a good thing because the NetBeans plugin is a breeze to install and configure in an application.  [Javeleon has a standalone version of their product and there is a third party Eclipse plugin which I have not yet tried.]


Most of my Java development is done on a Mac and this …