Saturday, 30 June 2012

Eclipse Juno has arrived.

Continuing with the tradition of yearly June releases, Eclipse rolled out its latest offering - Juno. While as always there are a significant number of bug fixes and features, Juno mainly targets the Eclipse Development community by base lining the current version as the mainstream target platform for RCP development.
Another interesting offering is the Code Recommenders that promises to made coding 'smarter' by offering "by means of intelligent code completion, extended javadocs, smart bug detectors, stacktrace search engines and others...". While it would be unfair to expect an immediate performance boost from the Code Recommender feature, it can be regarded as a major stepping stone towards integrating coding standards and quality benchmarks within the IDE.

Saturday, 23 June 2012

Bracketeer : Bracket your Java Code in Eclipse

As an application developer, I regularly have to  understand and re-factor code that has been authored by other developers. It could be code coming from an open-source library or code from within the existing application. If it is Java code, it is sure to have one thing - Brackets and Braces. For simplicity, I am going to use the term 'Brackets' interchangeably for the rest of the article.
Since well commented and well-formatted code makes understanding the logic of the method or block easier, working out the start and end brackets within a block can take up a fair amount of time, especially  if the code has a high degree of cyclomatic  complexity. This scenario is when Bracketeer, which is currently featured as one of the top-most popular new Eclipse plugins is useful. While the plug-in is just six months old (as on June 2012) and is still in a beta-stage, I installed it in Eclipse Indigo SR1 and gave it a run.
While Bracketeer's ability to match brackets and color them is not exactly a new feature for Eclipse users, it's ability to introduce comments at the closing end of brackets is something that I found useful.
For example, the screenshot below show's an Eclipse editor without Bracketeer activated and the screenshot following it shows the comments that come up when Bracketeer's commenting feature is activated.
Bracketeer - Inactivated. No comments are visible
The screenshot below displays the result after activating, Bracketeer's commenting feature. It generates a comment that appears at the end of each closing bracket. This comment is similar to a pop-up and does not get added to the source file. Thus, resolving the start and end of braces becomes considerably simpler. {}
Source code with the Commenting Feature Enabled.

Finally, Bracketeer is customizable and can be configured to cater to your coloring and bracket matching requirements.Bracketeer can be installed as an Eclipse plug-in from here.
Customizable Interface for Bracketeer

Monday, 11 June 2012

ZK: Simplifying AJAX

I have been using ZK for the last few months and have found it to be a very scalable and impressive framework in terms of its features and the ease with which they can be implemented within an enterprise application. ZK  is described as the No 1 Ajax framework on SourceForge based on the number of downloads and it is easy to see why it might be so popular. It integrates well with Spring, Hibernate, JQuery , JSON and other frameworks that make up the web application stack. Dreamworks has put up a concise and very focussed presentation that describes the features and the functionality of ZK.
One major advantage in using ZK is that the developer need not worry about writing Javascript to realise Ajax, instead all coding is carried out in Java. ZK also provides a very rich array of  UI components that can be implicitly attached to the business logic using a feature called 'data binding'. Thus, the need to explicitly attach UI components to backing beans in order to retrieve and send data is not required.
Finally, ZK provides a robust security architecture which can be further extended via third party libraries such as Spring Security. The MVC pattern that forms the core of the ZK implementation pattern, makes designing components intuitive. Further, components can be customised using a rich set of custom-renderers that cater for  extensibility and reuse.
In conclusion, the ZK framework is easy to learn and implement. It provides a very efficient and scalable framework for developing Ajax based enterprise level applications featuring a rich UI set.