JAX Magazine: The free PDF magazine powered by JAXenter!
In the world of modern software development, there's no shortage of web application frameworks for Java, and their popularity is undeniable. In fact, often the question isn't 'is a framework right for my project?' but 'WHICH framework is right for my project?' The rise of the application framework is intrinsically linked to the popularity of graphical user interfaces (GUIs), for the simple reason that GUIs promote a standard application structure. In this new world of GUIs, Struts 1 was one of the first Java web application tools. Unsurprisingly, Struts 1 enjoyed huge popularity in the Java world – even giving rise to the WebWork framework, which was ultimately merged into Struts 2. Nowadays, Struts is far from the only MVC framework on the market, with Spring MVC, Stripes, Play!, JSF, ZK Framework, Tapestry and others, all providing stiff competition – not to mention frameworks that move beyond the realms of MVC, and even the cross-platform Adobe Flex. The list is endless! Inevitably, there are no shortage of 'Which Is the Best Java Framework?' blog posts, but the fact that there are so many developers willing to fight their corner for their favourite Java framework, proves how essential – and prized - frameworks have become to the modern developer. In this issue of Java Tech Journal, we look at a range of frameworks available to the Java developer. We deep dive into JSF, ZK and Wicket, which are all component-based frameworks, meaning that artifacts that are rendered on the page are first developed as individual components. Generally, code is ignorant of the HTTP request cycle and processing. Struts2 and Stripes are “action” frameworks, so users can map URLs to activities and code on the back end. As a general rule, developers interact with the HTTP request cycle directly. However, these are only the basic differences! Stripes also uses Java technologies such as annotations and generics that were introduced in Java 1.5, to achieve "convention over configuration;” and the ZK Ajax web application framework is a server-centric framework, geared towards the creation of graphical user interfaces for web applications. In this issue of Java Tech Journal, we will deep dive into each of these frameworks, with articles by Oracle's Principal Software Engineer, Roger Kitain; 'Stripes ...and Java Web Development is Fun Again' author Fred Daoud; co-author of Struts in Action Ted Husted – and more!