Showing posts from 2013

Presentations from GWT.Create conference

The Event
GWT.create has been the largest event about GWT in 2013 with 2 days and more than 60 presentations.

The only event  solely focused on GWT, its future as web platform and  its rich ecosystem like:  Vaadin, Errai,  Sencha GXT &  ...

Presentations Directly from event, now are available (not all yet) the presentations shown there. I haven't read them yet, but they look very interesting in particular:  

A glimpse into the future of GWT – Nextgen Js Interop and Widgets 2.0GQuery, the perfect companion for your GWT projectMGWT & Phonegap, the next stepand much more .... >>
For anyone that have interest in GWT development, this "great stuff" could give a right idea about what GWT should become in the near future

So ...  enjoy the reading

JavaFX on Android - State of Art

JavaFX Prague Team is very active on JavaFX Mobile development.

After announcement of "Netbeans support for JavaFX on IOS" here is the "How to build OpenJFX on Android

All this stuff is based upon the javafxports project on, probably it isn't "production ready" yet, but it is continuous improved and looks very promising.

The last important fixes have been:
Fixed Multitouch supportFixed issue "dex with too many method references". Text input in TextField and TextArea from native softkeyboard.Improved lifecycle behavior pause, resume, rotation.So the question is:Are we ready to develop a new generation of Android app javaFX-aware? 
As Usual, i'll stay on track ....

MAVEN PLUGIN(S) SERIES - Find duplicate classes or resources

Maven Duplicate Finder Plugincom.ning.maven.plugins:maven-duplicate-finder-plugin:1.0.2:checkThis plugin helps to find duplicate classes and/or resources within project's dependencies. It's very straightforward to use 

From command linemvn com.ning.maven.plugins:maven-duplicate-finder-plugin:1.0.2:check Include in normal build<plugin> <groupId>com.ning.maven.plugins</groupId> <artifactId>maven-duplicate-finder-plugin</artifactId> <executions> <execution> <phase>verify</phase> <goals> <goal>check</goal> </goals> </execution> </executions> </plugin> Configuration There are several option that make this plugin very flexible: It is possible break the build upon duplicate detectionIt is possible add exceptions (i.e. allow duplicate classes or resources for specific artifacts)It is possible ignore dependencies from check
Output sample[WARNING] Found…

Confluence Reporting Maven plugin 3.4.3 - is out!

Today i've released a version 3.4.3 of the  Confluence Reporting Maven plugin .

This plugin is very useful to keep in synch documentation directly from IDE without need of context-switch

Starting from this release there is the support of  "export page" feature either in PDF or DOC format

The new goal is:

> confluence-reporting:export 

How to configure the plugin  To configure plugin within your pom please refer to :
Project WikiMaven Site DocumentationCodehaus Site

NetBeans support for JavaFX for iOS is out!

I while ago i heard about the possibility to build native IOS application using Java

Trying to go in deep of this topic i found out the amazing project:  ROBOVM

I started to test it  developing a Proof of concept  robovm-jsfiddle-javafx-app  available on Github

The amazing thing was the possibility to bring "native javaFx app" to "native IOS app" keeping the L&F

All looked very promising ... but unofficial and not suggested for production mode.

But now i find out an article from Oracle Blog - Netbeans support for JavaFX for IOS is out!  and  ... my thought is :

Are we ready to develop a new generation of IOS app javaFX-aware? 
I'll stay on track ....

MAVEN PLUGIN(S) SERIES - Generate a Visual Dependency Tree

Maven Dependency Pluginorg.apache.maven.plugins:maven-dependency-plugin:2.8:treeThe Maven dependency:tree goal produces a helpful report  of all jars coming from in our projects. The default output is text but, sometimes, we would want something more visual. Here is what we have to do

Generate graphml outputSince the version 2.1 the Dependency plugin supports different output formats, one of them the GraphML, which is an XML-based file format for graphs.
To achieve this is very simple it is enough .. cd in your project and run:

> mvn dependency:tree -DoutputType=graphml -DoutputFile=dependency.graphml

yEd a GraphML tool In order to visualize GraphML, it is possible to use  yEd Graph Editor which is a cool free visualization tool written in Java.

To visualize your dependency tree using yEd, follow the steps outlined below

Open yEd  (It's also possible launch it using java web start)Select: Open Document > dependency.graphml > OK.Select: Layout > Hierarchical > Orientation …

New Forge plugin helps use of maven-confluence-plugin

What does the Plugin Now is available a  JBoss Forge plugin that helps setup use of maven-confluence-plugin within a maven project

What's ForgeJBoss Forge is a powerful shell that is designed to increase java development productivity providing a set of tools to automatize and/or speed up common development's tasks

Compliance  Currently the plugin is compliant with release 1.4.1 of Forge

Documentation See the Getting Started for more infos

Release 2.2 of Cordova-POC is out!!

A new release 2.2 of android app Cordova-POC is out! Cordova-POC has been created to help developers, to do demo of your Cordova (AKA Phonegap) app  to customer on-the-fly. Idea is to deploy HTML5 application bundle (i.e. zip file) directly on device  from a source either, on-line than off-line. Moreover Cordova-POC collects the deployed applications, providing a personal applications gallery,  always ready to run.

What's New Add Support for Cordova  3.1.0Add JSFiddle Integration. Preview & Download fiddleCordova/Phonegap 2.0.0, 2.5.0 are supportedDropbox supportSD Card SupportInline help For any suggestions or issues please go to

MAVEN PLUGIN(S) SERIES - Display effective POM

Maven Help Pluginorg.apache.maven.plugins:maven-help-plugin
Often  we need to understand  the "effective POM" of our project. While eclipse provide this feature directly into "POM Editor view",  from command line it is possible using maven-help-plugin as show below:

(Description from plugin's maven site)

The effective-pom goal is used to make visible the POM that results from the application of interpolation, inheritance and active profiles. It provides a useful way of removing the guesswork about just what ends up in the POM that Maven uses to build your project. It will iterate over all projects in the current build session, printing the effective POM for each. You can execute this goal using the following command: # mvn help:effective-pom Note: you could also use the output parameter to redirect output to a file.
Take a look to other useful goals provided by this plugin, in particular:

GoalDescriptionhelp:active-profilesDisplays a list of the profiles which are cu…

MAVEN PLUGIN(S) SERIES - support zip packaging

Purpose of series ... 
In my "day by day" experience as Java Architect, i'm involved in deep on processes concerning Application Lifecycle Management   (ALM). We use Apache Maven as ingredient technology and we always dealing with need to find the best plugin (Mojo) that accomplish our requirements.

So i've decided to share this experience providing a briefly description of most useful (or unusual) plugins discovered during my work.

First One - ZIP Bundle Maven PluginDescriptionTypically a Maven user, to provide a zip as deliverable of his project, uses the famous maven assembly plugin  The common approach is declare the packaging of the project as pom and invoke the assembly plugin, for zip creation and attachment it to the deploy phase.

The ZIP Bundle Maven Plugin, allow us to continue using assembly plugin and also to declare the packaging as zip instead of pom.  

UsageThe basic usage is shown below (from official site)

<project> ... <packaging>zip</p…

How to Use Aether in Maven Plugins

Form Relase 3.x Maven has introduced Aether Repository Api Technology. Below an interesting article for starting to play with it

How to Use Aether in Maven Plugins

Maven Best Practices

In my continuous reading through the blogs i've found this very useful article regarding Maven. It start with the follow sentence:

Love or hate it… he will stay for a moment.
So let’s apply the best practices to our poms and maven builds.

Below the Table Of Contents 

Make the build reproducible - Always specify a version for Maven2 plugins - Minimize number of SNASPHOT dependencies - Use dependency management section - Beware of relocation in maven repo - After a dependency modification, double check the produced artifacts Use and abuse of modules - more “technical/layered” - more business oriented Make the build maintainable - Prefer default directory layout - Avoid duplication by moving common tags to parent pom - Always specify a version of dependencies in a parent pom - Use Properties Liberally - Minimize the number of Profiles Make the build portable - Don’t commit eclipse and maven artifacts - Don't modify pom/artifactsin your "enterprise&quo…

Contribution to JNA project

Finally has been accepted my contribution to very useful JNA project.

This project provides a easy way to access at Native API of the hosting system, from Java

I've added support of a new API  concerning the WinOS 32 /64

UINT_PTR SHAppBarMessage( DWORD dwMessage, APPBARDATA pData );

This API allows to resize window's desktop and is very useful to put on desktop, custom toolbar, 
that  never will be hidden by other windows and in the same time never will hide other windows.

Release 2.1 of Cordova-POC android app

A new release 2.1 of android app Cordova-POC is out!

Cordova-POC has been created to help developers, to do demo of your Cordova/Phonegap/HTML5 app to customer upon smartphone on-the-fly.

This new release has added JSFiddle integration. This means that you can have a list of your public fiddles with a possibility to preview and download it in order to use fiddle also in offline mode

watch the video to have further details

Paste Text on Android Emulator

Developing on Android i've found an unexpected bottleneck using Emulator  to "Type Text".

Since seems not possible to use the "copy&paste" from host system to the  emulator, i've googled to find out a solution.

As usual StackOverflow has provided me the solution that i summarize below

from console:
> adb shell input text 'my string here'And magic happens ....

Google Web Toolkit Vs AngularJS

Lately  i've been involved in a discussion about ... which technology we have to use to build best  enterprise web application ? 

The question was very interesting so, all involved actors started to put on the table  a lot of different technologies. The most sponsorized ones were been  GWT and AngularJS.

But ,from my perspective, we have first to understand the context where such applications will be  developed in order to , as much as possible, understand of what we need and not what we like.

The ContextLet assume that we have a group of 10 developers skilled in java  and with a enough know-how about web design (i.e. html/css knowledge ). They use Eclipse IDE to write code and maven to build,package and deploy. Finally the  backend is entirely written in java
The Choice
Considering that both of these technologies seem to fill the same space, but coming at it from different angles, the choices behind the decision could be summarized in:

Change development model introducing new tools and…

MiSE - Manifesto for Minimalist Software Engineers

Today i've read the MiSE and my attention was caught by the paragraph Think Different. 

I love this kind of stuff ... do u agree with me?

Think different

Simple is harder than complex, minimalism requires a lot of creativity in order to find new ways of doing more with less. Technical Skill is the mastery of complexity, while Creativity is the master of simplicity. Creativity is intelligence having fun! so enjoy the opportunity. So don't focus on working more, but in working less but smartly, Think! about your work, turn off the autopilot, leave the comfort zone and take control. And hey! don't be shy, it takes guts to change the status quo. But remember, the world you are living in is made by people no smarter than you are, they just believed it was possible. Of course people will think you are a weirdo sometimes because the things you try are different, but you can't be a leader if you are not an innovator. For example I'm sure every one of us has thought in some …

Release 2.0 of Cordova-POC android app

A new release 2.0 of android app Cordova-POC is out!

Cordova-POC has been created to help developers, to do demo of your Cordova/Phonegap/HTML5 app to customer upon smartphone on-the-fly.

This new release has added support of more cordova versions.