ZWT V0.3.1 JavaScript framework for Rich Internet Applications

Zeleos Web Toolkit V0.3.1 - New and Noteworthy

Here are some of the major noteworthy things available in release V0.3.1 (2012-10-14) which is now available for download.

Maven

The toolkit is now completely built using Maven. This presents many advantages over Ant.

For instance, the Maven archetype plugin makes it easier to create ZWT projects:

jkuhn@inspiron-640m:~/devel/working/workspace-manual$ mvn archetype:generate -DarchetypeCatalog=http://www.zeleos.org/repository/
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<<
[INFO] 
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://www.zeleos.org/repository/ -> org.zeleos.zwt.archetypes:zwt-archetype-webapp (An archetype which contains a sample ZWT web application project.)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Define value for property 'groupId': : org.zeleos.tuto
Define value for property 'artifactId': : zwtTutorial
Define value for property 'version':  1.0-SNAPSHOT: : 
Define value for property 'package':  org.zeleos.tuto: : 
Define value for property 'name': : ZWT Tutorial
Confirm properties configuration:
groupId: org.zeleos.tuto
artifactId: zwtTutorial
version: 1.0-SNAPSHOT
package: org.zeleos.tuto
name: ZWT Tutorial
 Y: : 
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: zwt-archetype-webapp:0.3.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.zeleos.tuto
[INFO] Parameter: artifactId, Value: zwtTutorial
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: org.zeleos.tuto
[INFO] Parameter: packageInPathFormat, Value: org/zeleos/tuto
[INFO] Parameter: package, Value: org.zeleos.tuto
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: name, Value: ZWT Tutorial
[INFO] Parameter: groupId, Value: org.zeleos.tuto
[INFO] Parameter: artifactId, Value: zwtTutorial
[INFO] project created from Archetype in dir: /home/jkuhn/devel/working/workspace-manual/zwtTutorial
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 37.575s
[INFO] Finished at: Mon Oct 08 22:35:55 CEST 2012
[INFO] Final Memory: 8M/74M
[INFO] ---------------------------------------------------------
jkuhn@inspiron-640m:~/devel/working/workspace-manual$ 

Maven is also perfectly managing dependencies which also ease the update of ZWT in your applications. ZWT API or themes no longer needs to be included in the sources of your project.

It is also possible to run your application in Tomcat using the Maven tomcat plugin:

jkuhn@inspiron-640m:~/devel/working/workspace-manual/zwtTutorial$ mvn tomcat:run-war
[INFO] Scanning for projects...
Downloading: http://www.zeleos.org/repository/org/codehaus/mojo/tomcat-maven-plugin/maven-metadata.xml
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ZWT Tutorial 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat-maven-plugin:1.1:run-war (default-cli) @ zwtTutorial >>>
[INFO] 
[INFO] --- zwt-tools:0.3.1:zuidl-compile (compile-zuidl) @ zwtTutorial ---
[INFO] ==== Zeleos UIDL Compiler ====
[INFO] Load ZUIDL Generator
[INFO] Load ZUIDL Parser
[INFO] Processing /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/zuidl
[INFO] --------------------------------------------------------------------------------
[INFO] Compiling org/zeleos/tuto/zwtTutorialView.xml
[INFO]  ---> Validate ZUIDL Source...
[INFO]  ---> Generate JavaScript: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialView.js
[INFO]  ---> Generate JavaScript Controller: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewController.js
[INFO]  ---> Generate JavaScript Controller Callback: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewController_callback.js
[INFO]  ---> Generate JavaScript Model: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewModel.js
[INFO]  ---> Generate CSS: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/css/org/zeleos/tuto/zwtTutorialView.css
[INFO] Compiling org/zeleos/tuto/zwtTutorialApp.xml
[INFO]  ---> Validate ZUIDL Source...
[INFO]  ---> Generate Application JavaScript: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialApp.js
[INFO]  ---> Generate Application JavaScript Controller: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialAppController.js
[INFO]  ---> Generate Application JavaScript Controller Callback: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialAppController_callback.js
[INFO]  ---> Generate CSS: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/css/org/zeleos/tuto/zwtTutorialApp.css
[INFO]  ---> Generate Application HTML: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/webapp/org.zeleos.tuto.zwtTutorialApp.html
[INFO]  ---> Generate Application HTML (pack): /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/webapp/org.zeleos.tuto.zwtTutorialApp-pack.html
[INFO] --------------------------------------------------------------------------------
[INFO] Compiled 2 file(s) with 0 error(s).
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ zwtTutorial ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] Copying 6 resources
[INFO] Copying 4 resources
[INFO] 
[INFO] --- zwt-tools:0.3.1:zjs-compile (optimize-js) @ zwtTutorial ---
[INFO] ==== Zeleos ZECMA262 Compiler ====
[INFO] --------------------------------------------------------------------------------
[INFO] Processing /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js
[INFO] --------------------------------------------------------------------------------
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialAppController_callback.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialApp.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialView.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialAppController.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewModel.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewController_callback.js
[INFO] Compiling /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/js/org/zeleos/tuto/zwtTutorialViewController.js
[INFO] --------------------------------------------------------------------------------
[INFO] Compiled 7 file(s) with 0 error(s).
[INFO] 
[INFO] --- zwt-tools:0.3.1:zjs-package (package-js) @ zwtTutorial ---
[INFO] ==== Zeleos ZECMA262 Packager ====
[INFO] Class path: jar:file:/home/jkuhn/.m2/repository/org/zeleos/zwt/zwt-frmk/0.3.1/zwt-frmk-0.3.1.war!/;file:///home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/zwtTutorial-1.0-SNAPSHOT/js;
[INFO] --------------------------------------------------------------------------------
[INFO] Packaging org.zeleos.tuto.zwtTutorialApp
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ zwtTutorial ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ zwtTutorial ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ zwtTutorial ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ zwtTutorial ---
[INFO] No tests to run.
[INFO] Surefire report directory: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-war-plugin:2.2:war (default-war) @ zwtTutorial ---
[INFO] Packaging webapp
[INFO] Assembling webapp [zwtTutorial] in [/home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/zwtTutorial-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp webResources [/home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/css] to [/home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/zwtTutorial-1.0-SNAPSHOT]
[INFO] Copying webapp resources [/home/jkuhn/devel/working/workspace-manual/zwtTutorial/src/main/webapp]
[INFO] Processing overlay [ id org.zeleos.zwt:zwt-frmk]
[INFO] Processing overlay [ id org.zeleos.zwt.themes:zwt-themes]
[INFO] Webapp assembled in [2494 msecs]
[INFO] Building war: /home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/zwtTutorial-1.0-SNAPSHOT.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO] 
[INFO] <<< tomcat-maven-plugin:1.1:run-war (default-cli) @ zwtTutorial <<<
[INFO] 
[INFO] --- tomcat-maven-plugin:1.1:run-war (default-cli) @ zwtTutorial ---
[INFO] Running war on http://localhost:8080/zwtTutorial
[INFO] Creating Tomcat server configuration at /home/jkuhn/devel/working/workspace-manual/zwtTutorial/target/tomcat

All the ZWT tools have also been migrated to a Maven plugin and included in the build process of ZWT applications.

To make it short, it is now a real pleasure to develop ZWT applications with everything you need at the right place.