Wednesday 25 November 2009

Experimenting with HTML 5

HTML 5 is the next mayor revision of the core language of the world wide web, the HTML language. Openbravo ERP and other enterprise applications are based on this language. This specification is still in draft status but newest versions of most popular web browsers, including Internet Explorer 8 :-), have support for some of the new features introduced by HTML 5. Even better, web browsers included in advanced smartphones and mobile devices like iPhone / iPod Touch or those based in Android 2.0 also have support for the most exciting features of HTML 5. At the moment of writing this article I tested HTML 5 with Firefox 3.5, Google Chrome, Safari 4 and the iPhone / iPod Touch OS version 3.0, and most of the features described in this article are ready for production deployment with no major impediments.

This new revision is a major step towards the support of full featured web applications. It includes features that aims to reduce the dependency on proprietary technologies like Adobe Flash, Microsoft Silverlight, Java applets and a long list of other web browser plug-ins. With HTML 5 combined with current techniques that combine AJAX, javascript and DHTML, developers can write cross-browser web applications with functionalities we were used to have only for desktop applications.

Mobile web applications will be easier to develop and deploy. Developers will not need to learn new technologies or create different applications depending whether the target platform is a mobile device or a desktop computer. They will have a full control whether the mobile device is on-line or off-line and with the increasing popularity of iPhone / iPod Touch touch and Android, they will be sure that their applications can reach a big slice of the mobile market.

If you browse the web searching for explanations and samples about the new features of HTML you will find a lot of articles with detailed information about it. I will only comment the most interesting features that in my opinion are focused for rich featured web applications. I recommend browse the samples published in HTML 5 Demos and Examples by Remy Sharp.
  • Off-line web applications. Properly configured, web applications will be able to work off-line using all application resources like html pages, javascript files, etc. cached in the client side. Web applications will be able to detect if the web browser is on-line or off-line and behave according this status.
  • Local Storage. With this feature web applications will be able to store locally in the client side data as application data or session data. This local storage can be very useful to let users work off-line and submit all the work done when the device is on-line again without losing any piece of data.
  • Input element improvements. For data centric web applications, data type input, and validation will be easier and integrated with the web browser without external libraries. Unfortunately, the support of this feature in current web browsers versions is very poor.
  • Geo-localization. Very interesting for mobile applications. With this feature, web applications will be able to offer data to the user contextualized in the place he or she is.
  • Canvas. This feature allows web applications to draw rich and dynamic graphics in the client side without having to generate these graphics in the server side. For example, there already exists impressive javascript libraries to render full featured charts using this new HTML 5 feature like RGraph.
  • Webworkers. Using this new feature developers will be able to implement background processes in the client side leaving the application responsive to user actions and without blocking him.

Wednesday 4 November 2009

Netbeans Development Environment for Openbravo ERP

I am happy to introduce another Development Environment for Openbravo ERP based on the Netbeans IDE. There is a guide published in the Openbravo wiki document Installation and Setup of Netbeans IDE that explains step by step how to create an Openbravo ERP development using Netbeans and also how to perform common development tasks, like compiling, debugging, starting /stopping Tomcat, etc. This guide is still a work in progress. We hope developers will find this guide useful. Feel free to give feedback on the guide, especially if certain parts can be improved or if you miss certain information.

I would like to remind you that the main Development Environment for Openbravo ERP is based on Eclipse. You can read about it in the Installation and setup of Eclipse IDE guide. Development with Eclipse is fully supported and documented.

But IDE preferences change from one developer to another and frequently becomes almost a religious issue. We do not want to start another flame war Eclipse vs Netbeans, just give Openbravo ERP developers the opportunity to choose the IDE they feel more comfortable to develop Openbravo ERP.