When trying a new technology, the most difficult part is the beginning. You have to figure out the right dependencies (and where to get them), correct configuration, proper API usage, suitable testing approaches and so on. You're trying to put the pieces of the puzzle together, but they usually don't match from the very start. And you have to fight for hours before you app says "Hello, World!" to you.
I believe there are many depelopers like me, who learn much faster from the working code than from the documentation, no matter how good the docs are. I appreciate it greately, when a technology is accompanied by a simple, yet revealing and working sample application. Unfortunatelly, it is usually not the case.
Hifaces20 samples is a set of projects which demonstrate the usage of various technologies, related, comparable or combinable with JSF 2.0.
Below are the requirements for the sample projects:
- Runnable from an IDE.
- Buildable in one step.
- High quality of code.
I'll be definitely doing my best to fulfill these requirements in every sample project, but due to the limited resources, competence and knowledge will also have to leave things imperfect.
Concerning IDE and builds, I'll focus on Eclipse and Maven2. Sample projects will include Eclipse project files and
pom.xml for Maven 2.
Hifaces20 sample projects are distributed via the highsource.org Maven2 repository. You'll be mainly interested in
.tar.bz2) files - they contain the complete source code of the sample project. As for the version - just take the latest.
Below is the list of implemented sample projects:
- "Hello, GWT!" - sample GWT project build with Maven
- "Hello, World!" - sample JSF 2.0 application built with Maven
- Dynamic Faces - sample demonstrating dynamic or programmatic UI creation with JSF 2.0 and Facelets
- Message board - sample JSF 2.0, Spring, JPA and Hibernate application built with Maven
- Orchestra - sample JSF 2.0 plus MyFaces Orchestra application
- Selenium - sample JSF 2.0 application build with Maven and tested with Selenium
- Apache Solr