Smart Tech for a better Web
Before almost two weeks I organized the Strutsathon. As a Apache Struts committer I suddenly had the desire to hack on Struts with more experienced people than I am. Luckily Rene Gielen und Johannes Geppert immediately agreed to attend the Hackathon. On a short call we decided that we would like to make it more public and invite other people to join us. Finally we teamed up with the Java Usergroup Augsburg and were able to introduce Apache Struts to a good bunch of interested folks.
We had costs. But these were all covered by the GFU. The GFU provides training for developers. They sponsored the rooms, drinks and even a small dinner for the Java Usergroup. Definitely generous and great people. Thanks again! JetBrains sponsored two licenses for IntelliJ IDEA. That's also great!
First I thought there are too less people interested in Struts. I mean, these days everybody seems to think Struts is dead or dusty (or both). But it's not the XML monster which requires you to write a lot of Java classes anymore. However, the room went full with devs and even the Hackathon was full.
Struts 2 is convention over configuration. If you want to configure, you can write annotations instead of XML. It's very plugable. Almost every technology you can think of is supported to connect with Struts. You are not tied to JSP. You can use Velocity, Freemarker or - like in my case - plain HTML with AngularJS. And so on. Struts is not bad. Just nobody knows how cool it is.
On Friday we gave presentations. A lot of people where surprised what you can do with Struts these days.
On Saturday we were just a small but dedicated group of people who would discuss things, fix some issues. We build a new maven archetype, which generates a quick start Struts app. It supports AngularJS out of the box.
A lot people complained about outdated documentation. And I agree: it's the docs. I believe it prevents people from using it. With better docs, people would have a different view on Struts.
Struts is a huge system. Within time the documentation system has grown and became more and more complex. You could say, Confluence takes out some snippets from JavaDoc. Then Confluence is exported by Maven and finally you have a static version of your docs. I even missed out some details in this description, it's not accurate. This is not easy to "fix". I understand this was a good way to create some docs when Struts was maintained by a huge team. But these days are gone. We are a pretty small (but passionated) team.
Almost any prejudice I have heard on Struts was wrong and tied to our bad docs. Struts looks complicated, because you can't get started easily. I am honest: if I would have read the docs before I started with Struts I would have been afraid. But I have not. I just started with using mvn archetype and tried to figure out things I didn't know with Google. That was luck.
The Hackathon was great. I learned a lot about Struts. When I came back, I worked on improving the main site of Struts. I deleted a lot of obsolete information and links. Now I want a better documentation system for Struts. If you want something at Apache you need to start with it. That's what I am going to do. Join our dev mailing list if you want to help me.
After all it was great two days. Kudos to all those people who made it so great. I will definitely try to organize more things of that kind as "OpenSource.io" in future.