AppFuse 2.1 Released!
The AppFuse Team is pleased to announce the release of AppFuse 2.1. This release includes upgrades to all dependencies to bring them up-to-date with their latest releases. Most notable are JPA 2, JSF 2, Tapestry 5 and Spring 3. In addition, we've migrated from XFire to CXF and enabled REST for web services. There's even a new appfuse-ws archetype that leverages Enunciate to generate web service endpoints, documentation and downloadable clients. This release fixes many issues with archetypes, improving startup time and allowing jetty:run to be used for quick turnaround while developing. For more details on specific changes see the release notes.
What is AppFuse?
AppFuse is an open source project and application that uses open source frameworks to help you develop Web applications with Java quickly and efficiently. It was originally developed to eliminate the ramp-up time when building new web applications. At its core, AppFuse is a project skeleton, similar to the one that's created by your IDE when you click through a wizard to create a new web project. If you use JRebel with IntelliJ, you can achieve zero-turnaround in your project and develop features without restarting the server.
Archetypes now include all the source for the web modules so using jetty:run and your IDE will work much smoother now. The backend is still embedded in JARs, enabling you to choose with persistence framework (Hibernate, iBATIS or JPA) you'd like to use. If you want to modify the source for that, add the core classes to your project or run "appfuse:full-source".
AppFuse comes in a number of different flavors. It offers "light", "basic" and "modular" and archetypes. Light archetypes use an embedded H2 database and contain a simple CRUD example. Light archetypes allow code generation and full-source features, but do not currently support Stripes or Wicket. Basic archetypes have web services using CXF, authentication from Spring Security and features including signup, login, file upload and CSS theming. Modular archetypes are similar to basic archetypes, except they have multiple modules which allows you to separate your services from your web project.
AppFuse provides archetypes for JSF, Spring MVC, Struts 2 and Tapestry 5. The light archetypes are available for these frameworks, as well as for Spring MVC + FreeMarker, Stripes and Wicket. You can see demos of these archetypes at http://demo.appfuse.org.
For information on creating a new project, please see the QuickStart Guide.
If you have questions about AppFuse, please read the FAQ or join the user mailing list. If you find any issues, please report them on the mailing list or create an issue in JIRA.
Thanks to everyone for their help contributing patches, writing documentation and participating on the mailing lists.
We greatly appreciate the help from our sponsors, particularly Atlassian, Contegix and JetBrains. Atlassian and Contegix are especially awesome: Atlassian has donated licenses to all its products and Contegix has donated an entire server to the AppFuse project.
Posted by tibi on April 04, 2011 at 11:45 AM MDT #
Congratulations on this release!
And for all your monitoring needs, don't forget to add MessAdmin to the package! :-)
Posted by Cédrik on April 13, 2011 at 08:10 AM MDT #
Rest is getting popular and with your increased interest in it (being a regular reader of your blog) it is not surprising that appfuse has now support or rest . But Matt I have failed to see any major framework fitting in with Rest bases backend other than GWT. And JSF being the most popular atm does not fit in rest based eco system at all . What's your thought on this ? Do you see Rest as making a real difference in Enterprise world?
Having said that I worked on Mid sized application nearly a year ago and I exposed the backend as rest and UI guys having zero knowledge of jee (jsp etc) were able to hook in perfectly . But that was not enterprise kind of application bare minimum Authn and Authz etc.
Posted by Shahzeb Khan on July 07, 2011 at 02:32 PM MDT #
@Shahzeb - by "Enterprise", it sounds like you mean "slow moving corporations". I Definitely see REST (and SOFEA) as one of the best ways to develop web applications. The complete separation of backend and frontend allows you to improve (or completely replace) each layer independently and often leads to a more pleasurable web development experience. It also allows you to easily develop mobile applications (native or web) that use the same backend.
As far as web frameworks go, I think some applications work better with server-generated pages and some work better with client-generated pages. The problem with client-side MVC is it's tough to optimize the initial download and make it fast for users.
Yahoo's Best Practices for Speeding Up Your Web Site is a great resource regardless if you're using a client JS or server-side web framework.
Posted by Matt Raible on July 07, 2011 at 02:39 PM MDT #
Does Enunciate creating a wadl for spring mvc rest interfaces? Also does anyone have any examples of this?
Posted by Chris Love on September 20, 2011 at 04:17 PM MDT #