Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

If you could add another framework to AppFuse, which would it be?

If you could add another web framework option to AppFuse, which one would it be and why? Please keep in mind it already includes Struts, Spring, WebWork, JSF and Tapestry.

Posted in Java at Dec 13 2004, 09:52:17 PM MST 38 Comments
Comments:

Rails?!?

Posted by RhesusJesus on December 13, 2004 at 11:07 PM MST #

Matt, I think the AppFuse is excellent as what it is now. What I would like to see is an eclipse plugin for AppFuse that integrates well with eclipse like other eclipse plugins. Add a new AppFuseProject option in Java section; provide a simple to use UI for choosing various plugins and add the appropriate classpaths, jars etc. That way it would also work in WSAD and I could use it in my projects :-P

Posted by chakra yadavalli on December 13, 2004 at 11:21 PM MST #

Framework removal framework?

Posted by Anothermike on December 14, 2004 at 01:01 AM MST #

Hi, Matt.

Probably you should look at Wicket project. It is quite new and simple but very intresting framework.

It uses the the same ideology as Tapestry framework - Pages, Components, HTML mockups with enjected "wcn" attributes etc. But components in Wicket it is real components. You can do with components whatever you want - ihherit, override L&F, add component directly in Java code.

Wicket is really worthy of attention.
http://wicket.sourceforge.net/

Posted by Mikka on December 14, 2004 at 02:45 AM MST #

Do you really need another framework in there? I think you pretty much covered one of every style.

Posted by Geert Bevin on December 14, 2004 at 03:50 AM MST #

What about improving the appfuse-spring version with FreeMarker or Velocity?

Posted by Gilberto on December 14, 2004 at 05:51 AM MST #

I'd like to see Jakarta Turbine

Posted by Daniel Serodio on December 14, 2004 at 06:22 AM MST #

As an enthusiastic Rife user, i built caosity.org with it,i'd like to see that supported.

Posted by Maarten Stolte on December 14, 2004 at 07:14 AM MST #

Although it is not a framework, it would be nice to have a way to jump start portlet (JSR-168) development. Perhaps Pluto would be a good place to start since it is the reference implementation.

Posted by Craig Doremus on December 14, 2004 at 07:36 AM MST #

Whoa Matt, you're adding frameworks faster than I can learn them! Your project is also documented better than most, but if it was up to me, I'd add some more advanced tutorials for developing real world applications. Maybe some tips and tools for hanling things like one to many and many to many relationships between Data objects.

Posted by Mike Blake on December 14, 2004 at 08:13 AM MST #

Fabrique from Jetbrains should be very interesting. They said it will be opensource, and they will sell only the IDE for it (Visual Fabrique). Better said the plug-in for it (cause starting with EAP6 it's no more an independent IDE, but a plugin for IntelliJ IDEA.

Posted by Ahmed Mohombe on December 14, 2004 at 08:28 AM MST #

Yes, I agree with Mike. More "best practices" and tutorials demonstrating the more difficult yet still fairly common features in real-world applications. Just some ideas: more examples illustrating i18n/branding/preferences, page design (emphasis on reuse, separating static and data-driven content, and simplification for markup specialists), workflow (back/next/cancel/save and restart), session state management, advanced transaction management (global txs, compensating txs (undo)), application integration (messaging/web-services/EJB), security, performance (load testing, optimization e.g lazy loading, caching), testing (emphasis on TDD / adddressing key risks early.). Others? I'd like also to see more info on what framework to use when and why, given the business problem at hand. People sometimes react that "all this choice" in Java is confusing and chaotic---e.g "great AppFuse has a gizillion choices, what do I pick from?" In reality the different frameworks exist for a reason, and often some are simply better suited than others for certain problems and vice-versa. Illustrating that point helps dispel the myth of developers 'reinventing the wheel in open source'. It also helps developers make the right choice when it comes time for a new project. Helping them make that right choice is an important point I would focus on, over introducing more choices in the mix (unless you see that one the choices in consideration adds substantial value for something that the others do not.)

Posted by Keith Donald on December 14, 2004 at 08:47 AM MST #

Appfuse with a Rails-like framework would be a very powerful combination. I'm hoping that Trails development will pick up so that could be possible. I also agree with the other posters about the "best practices" tutorials.

Posted by Abdullah Jibaly on December 14, 2004 at 09:42 AM MST #

[Trackback] On /. this morning I saw a headline on Google Digitizing Harvard's Library. I also saw a couple of headlines on freshnews.org that caught my eye, namely Free (and open) holiday greeting cards and How to get a job as a Linux administrator. My other bi...

Posted by life of a dred nerd on December 14, 2004 at 10:21 AM MST #

Rails, Flex and Laszlo

Posted by 69.2.235.2 on December 14, 2004 at 10:32 AM MST #

The only other feature I would like that Appfuse doesn't already have is, having appfuse split across two projects. So when you say "ant new -Dapp.name=myapp" that it would create a myappBusiness (Model, DAO, and Managers) and myappWeb (Controllers, Templates, Validation, etc...). However, that may only be useful for folks working on medium to large projects so it may not have the same kind of general appeal.

Posted by Todd Huss on December 14, 2004 at 10:34 AM MST #

I have to agree with both Mike and Keith. I am beginning the process of learning to use AppFuse for my projects and would love to see more information on "best practices" with regard to AppFuse. I think Keith highlighted everything I would ask for in terms of documentation.

Posted by Christopher Kwiatkowski on December 14, 2004 at 01:31 PM MST #

Thanks for all the feedback guys. I really didn't want to add another web framework option, but I wanted to see what the community thought. This should give me a good idea of what to target for next year's roadmap. Feel free to add another other suggestions as this post will serve as a reference point.

Posted by Matt Raible on December 14, 2004 at 02:30 PM MST #

I'd really like to see Laszlo after checking out some of the links I found right here in your blog. Very impressive looking.

Posted by 204.58.233.6 on December 14, 2004 at 04:59 PM MST #

I like Todd's idea of at least having an option to split things up into several projects:
  • the business/data model (POJOs and tightly bound inherent logic);
  • the web (or other) application.

And he's right, for smaller projects it might be overkill, but they all seem to grow complex quickly.

The only tricky part was that I build a lot of my web application components (DAO's, forms, etc) from the data model - I need my webapp XDoclet tasks to look over into the source of the data model project. I don't like that, but guess its really OK.

Matt, part of your problem has got to be that you've now got a number of different appFuse audiences:

  • Beginners that need an application template (which I think already includes many "best practices");
  • More advance folks that want to understand the different approaches that need to be taken by the various similar frameworks;
  • Others are starting to ask for "best practices" that are more than skin deep.

Can one project do all of that well?

Posted by Richard Mixon on December 14, 2004 at 07:16 PM MST #

What Mike said.

Posted by PJ Hyett on December 14, 2004 at 07:45 PM MST #

Thanks for Matt Rable, The idea from AppFuse(Integrate a lot of frameworks into one web platform) did save me a lot of time. My suggestion is why you do not integrate some useful Function for bussiness into Appfuse, such as Print(Jasper), Workflow and so on, I think most of web projects need these function. Look foward to the next AppFuse vesion!!!!!!!!

Posted by Jeremy Zeng on December 15, 2004 at 12:08 AM MST #

I enjoyed your talk at DJUG, thanks for providing such a useful tool to the community. I agree with the other posters, and think you have the web frameworks well covered.

Most applications of any significance that I have worked on also needed 'services' outside of what appfuse currently provides though. Broadly:
1. schedule events (e.g. quartz)
2. orchestrate people/components according to some workflow abstraction (e.g. pick your opensource workflow tool)
3. integrate with several other applications over unreliable endpoints (e.g. ActiveMQ, Mule)

My past experience has been limited to commercial equivalents of the OS projects mentioned above, so I hope I referenced the projects in appropriate context. I just recently returned to academia to write open source though, so no more web methods, iflow, etc. :~). I think it would be very helpful - more so than adding another web framework - to see how the various open source projects mentioned above are wired up.

I saw a mention of portals further up in this thread. If looking for a nice project that has active portal develoment, and JSF use, you might want to look at Sakai (http://sakaiproject.org/). Sakai is a 'community source' project developing a "Collaboration and Learning Environment", they have deep pockets, so I would expect that it will be a great resource as it matures - they are also into Spring, Hibernate, Pluto, etc.. I have no affiliation with this project, just passing on 'useful' information.

Posted by ian on December 15, 2004 at 03:16 AM MST #

I have to agree with Mike, Keith, Christopher and PJ. So many frameworks, so little time..... My .02 cents.

Posted by angelo on December 15, 2004 at 09:02 AM MST #

I'd like to see Laszlo mainly because it is a different beast. Flash vs. HTML. Otherwise, I'd like to see more depth on the backend frameworks. An upgrade to Hibernate 3, Acegi security, etc.

Posted by Ted on December 15, 2004 at 01:31 PM MST #

I think the examples are not enough. There is not a dynamic tree in the appfuse . build appfuse in diffrent frameworks is important. But making appfuse fleshy is more important.

Posted by Standino on December 15, 2004 at 08:52 PM MST #

What do you mean by a dynamic tree? Why would you need such a feature? Do you mean something like XLoadTree [demo]? If so, I think this is more of a technology for Struts Menu than AppFuse.

Posted by Matt Raible on December 15, 2004 at 11:54 PM MST #

Aurora!!! See it: http://www.auroramvc.org

But AppFuse needs integration with Eclipse, more sophisticated samples and bug fixes like StrutsMenu needs, integration with JasperReports (or others). HTML taglibs are a real need that AppFuse could address like full versions with velocity and freemaker!!!

And Matt, thank's for de AppFuse initiative, it's cool and will be more in the future!

Posted by Fox Tango on December 16, 2004 at 01:06 PM MST #

maybe you can consider using swing as the UI and the back is still J2EE

Posted by fly on December 16, 2004 at 01:47 PM MST #

Thanks for AppFuse. I don't have a suggestion per se. Have you worked with HiveMind or AspectWorx?

Posted by Rick Hightower on December 16, 2004 at 06:39 PM MST #

Hi Matt, consider Apache Beehive. It's in incubation state, but sounds great (liberated by Bea Systems). Bye!

Posted by motxilo on December 17, 2004 at 04:38 AM MST #

I am happy with Spring MVC, but Laszlo would be nice

Posted by 194.171.67.231 on December 17, 2004 at 06:31 AM MST #

Strange that nobody mentioned Apache Cocoon. It's quite popular, has long history and little different approach (web flows, xml based, etc). It has portlet support and.. well see for yourself :)

Posted by Artti on December 17, 2004 at 07:30 AM MST #

Apache Cocoon would be nice. If you are interested you might want to take a look at the CHS project at cocoondev.org. It's a showcase of the integration between Cocoon, Hibernate and Spring. I'm also very curious about Laszlo. But apart from my curiosity about those frameworks, I also think it's not really necessary to add another framework. You allready did very good job there. Maybe it would be more interesting to have some more information/tutorials about how to integrate existing ejb's, web-services, workflow. And maybe add some support for other database and application servers than tomcat/mysql.

Posted by Wouter on December 17, 2004 at 07:36 PM MST #

hat tip to matt. thanks for appfuse. now for my 2c. eclipse plugin - extends user base with current functionality, maybe built on top ant. if appfuse becomes a plugin it likely wouldnt be long before its coupled with other plugins to rival myeclipse in some ways) application server/database - just a few more and combinations of each user management - implement osuser or ... workflow - tricky, but would be cool multiple projects - great idea if it applies to majority of appfuse users, even better if its optional dont listen to anything above, im a country coder from alabama without the slightest clue as how to develop software.

Posted by maybenull on December 18, 2004 at 01:30 AM MST #

I am totally hooked on Wicket.. I am doing my second project with it now (though it is still beta), but I am allready having a ten-times productivity gain compared to using Struts or one of the other MVC-like frameworks. And for the first time in years, I am actually having fun writing web applications! IMO, it should be the next big player in the Java webapp space.

Posted by Illy on December 27, 2004 at 05:46 AM MST #

Thank you for pointing out Wicket - I loved the idea of Tapestry in that it doesn't 'pollute' the HTML markup, and this seems to follow that same idea without (from initial reading) quite as steep of a learning curve. The release just put out yesterday includes Spring integration making it a potentially ideal AppFuse tie-in.

Posted by 204.58.233.6 on December 27, 2004 at 09:49 AM MST #

For those interested in Eclipse plugin support, the next version of my open-source Gaijin Studio plugin will support some of the features you were asking for. Gaijin Studio now has extension points which allow external plugins to provide collections of libraries that may be added to Gaijin projects. The extension points allow extra details about the libraries to be captured including the library version, a short description, source paths, etc.. Libraries may also be associated into groups which may be added or removed as a functional unit. I currently have plugins that support Spring, Velocity, WFNM, and Log4j libraries (all required components for Gaijin). I can start adding support for other library sets after the 0.9.2 release is out the door in January. Send requests to dadams (at) gaijin.studio (dot) org..

Posted by Derek Adams on December 28, 2004 at 02:47 PM MST #

Post a Comment:
Comments are closed for this entry.