Matt RaibleMatt Raible is a writer with a passion for software. 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.
You searched this site for "struts". 659 entries found.

You can also try this same search on Google.

AppFuse cost $78K to develop

I somehow stumbled upon Koders.com this morning, where they have a cost-of-development based on LOC in the project's CVS repository. Apparently, AppFuse has cost around $78K to develop. Here are a few other project costs I discovered:

Are these costs accurate? Probably not, but it's still an interesting indicator.

Posted in Java at Jun 20 2005, 09:20:53 AM MDT 7 Comments

[ANN] AppFuse 1.8.1 Released

This release is mostly a bug fix release with no new features. It also includes many upgrades to the core libraries (Hibernate, Spring, iBATIS, MyFaces). Thanks to all the sponsors who have contributed products and free hosting to the AppFuse project. You guys rock!

To see how AppFuse works, please see the following demos:

Comments and issues can be sent to the mailing list or posted to the AppFuse Issue Tracker.

Posted in Java at Jun 15 2005, 11:00:42 PM MDT 8 Comments

Building a Persisted, Dynamic Web Tree with AppFuse

Thomas Gaudin has done it again. He's published yet another detailed and well thought out tutorial for AppFuse. This time it's about building a dynamic menu tree using Struts Menu and Hibernate. Great stuff thogau!

Posted in Java at Jun 15 2005, 07:41:48 AM MDT 2 Comments

Updated Presentations: Spring, AppFuse and Comparing Web Frameworks

As part of my trip to Norway last month, I had an opportunity to update many of the presentations I've delivered at JUG meetings and conferences. Of course, there's not a whole lot to these slides because I believe the real value is seeing them delivered. ;-)

The presentation on Test-Driven Development with Spring and Hibernate (a.k.a. AppFuse) will serve as the basis for my AppFuse Tutorial at OSCON. If you're planning on attending that tutorial and would like to see any enhancements, please let me know. All of these are downloadable in PDF format.

Enjoy!

NOTE: I updated this site to the latest code from Roller's CVS this morning, so please let me know if you see any issues.

Posted in Java at Jun 07 2005, 12:36:43 PM MDT 4 Comments

AppFuse Tutorials in Chinese

A guy named "Rocksun" has done a tremendous service to the AppFuse community. He volunteered and took on the task of translating all of AppFuse's Tutorials to Chinese. If you understand Chinese better than English, I encourage you to take a look at Rocksun's translations:

Some people might say your open source project has hit the big time when someone translates your documentation to another language. I don't see it this way. I think the reality is that Rocksun is a super-nice guy and has done a great service to the community. Thanks Rocksun!

NOTE: Rocksun also publishes two blogs, one in English and one in Chinese. And I thought I was busy! ;-)

Posted in Java at Jun 06 2005, 09:46:34 AM MDT 4 Comments

AppFuse 2.0: JDK 5, Annotations and JSP 2.0

For the most part, I haven't used JDK 5 on any of my recent projects. You can compile and run AppFuse with JDK 5, but it doesn't use any JDK 5 features. After doing a code review at Bouvet last week and seeing how much cleaner their code is with Generics, Varargs and the Enhanced for Loop, I think it's time to dig in. I don't know how soon we'll start, but I think it's time to start creating a branch for AppFuse 2.0 - which will use these features. For AppFuse 2.0, I'd like to go whole hog, bleeding-edge and use all the stuff that's out there to make developer's lives easier. This includes JSP 2.0, Annotations (especially for Hibernate and Spring, as well as Tapestry) and all the JDK 5 features that seem useful.

Since most developers won't be able to deploy on a JDK 5-compliant server for quite some time, we'll continue to maintain the 1.x branch as JDK 1.4-compliant. I expect to release AppFuse 1.8.1 later this week (with mostly bug fixes + latest releases of Hibernate/Spring) and 1.9 in the next month or so. From there, we'll likely do 1.9.x releases with bug fixes and do all the major upgrades (i.e. Tapestry 4.0.x) in the new branch. Working with new features in JDK 5 should be a lot of fun.

I'm hopeful that we can get rid of XDoclet and we may even give Maven 2 a run for its money. Last week in Norway, I found that most Java developers were using Maven on their projects and I also discovered that many of the core Maven 2 developers are getting paid to work on it full time. There were even claims that Maven 2 is going to be twice as fast as Ant - which definitely intrigues me.

Later: I just realized the hardest part of this migration is going to be replacing AppGen. It currenly uses XDoclet templates for all the class templates - and we'll need a new solution based on annotations. Oh well, it's kind of ugly anyway, but it'll likely be difficult to figure out a new solution. Hopefully we can create some sort of tool that involves easy-to-customize templates and a GUI to drive it all.

Posted in Java at May 30 2005, 12:41:52 PM MDT 27 Comments

Java Jobs: broken down by web framework

I updated my Web Framework Comparison presentation today. Rather than updating the graph that shows today's job availability, I did one that compares today to 6 months ago. Struts is still the clear winner (and growing). Spring is definitely growing. Tapestry has about the same amount of jobs (9 vs. 8). WebWork lost 10 opening (down to 4) and the demand for JSF skills has grown as well.

Is WebWork a dying framework? I've heard folks complain about its small community, and there still aren't any books is only one book about it. Is that a jab at Patrick, Jason and Kris - or a jab at Manning? I'm not sure. ;-) The good news is WebWork in Action and WebWork Live should both be out this summer.

Web Framework Jobs

My search criteria for all of these was "framework and java" from the front page on dice.com. I did filter a bunch out for WebWork b/c there's some product called "WebWorks" that folks want to hire for.

In my own experience, these numbers are not as accurate as you might think. Since I gave my original presentation, I've been contacted a number of times to work on projects. It's about even between Struts, Spring MVC, WebWork and JSF. I haven't had a single inquiry to do Tapestry development. The bad part about Struts jobs is there's so many of them, that rates are likely pretty low (i.e. 35-45/hour), whereas the others can get you upwards of 80-90/hour.

So what do these numbers mean? Do they mean you should tailor your learnings and skills to the most popular frameworks? In a sense, it's important to do so. If nothing else, Struts skills are import so you can migrate all the Struts applications to your favorite framework. However, I don't think these numbers are that important when choosing a framework to start your project with. I think the most important thing in choosing a framework is passion. Which one do you want to work with the most? It's likely that your productivity will be higher if you're enthusiastic about the framework, rather than bored with all the skills you've accumulated using it. Then again, if you're motivated by productivity more than enthusiasm - using your skills to crank out applications quickly is probably a good idea.

You might think that the number of skilled developers for framework X is important too. I don't think it is. I think the most important thing is to hire smart developers. A good developer can come up to speed on any framework in 2 weeks and be highly productive in 4 weeks. If not, the developer isn't that smart or the framework isn't that good. ;-)

Just for kicks, I did some searching for other web frameworks as well:

  • Rife: 0
  • Wicket: 0
  • Echo: 3
  • Ruby on Rails: 1
  • ASP .NET: 2876

Now the question is - what kind of rates are these skills getting? I'd like to know what the average Rails and ASP .NET developers make. In Denver, Java developers seem to make between 65-85/hour when they're experienced contractors.

Posted in Java at May 22 2005, 07:28:01 AM MDT 13 Comments

Tutorial: Date Handling with AppFuse and Struts

An AppFuse user known as "thogau" has taken the time to create a very nice looking tutorial titled Handling dates with AppFuse and Struts. Great stuff thogau!

Posted in Java at May 13 2005, 10:40:35 AM MDT Add a Comment

[Colorado Software Summit] Spring and Comparing Web Frameworks

I'm pleased to announce that I'll be speaking at the Colorado Software Summit in October. I'll be doing a presentation on Spring and one on Comparing Web Frameworks. The abstracts are on my very own speaker page. I've never been to this conference, so I'm definitely looking forward to it - especially since it's only an hour away from my house. The only downside to the conference (for speakers) is you have to deliver each presentation 3 times. Of course, this is great if you're an attendee. Now I just need to figure out a way to get SourceBeat to sponsor my condo for the week. ;-)

I originally did my Web Frameworks Comparison (PDF) last year at ApacheCon. I'm looking to revamp it this year - so please let me know if have any suggestions for improvements.

Colorado Software Summit

Posted in Java at May 08 2005, 01:12:17 PM MDT 13 Comments

[OSCON] AppFuse Tutorial and Spring MVC vs. WebWork

AppFuse Home Now that the OSCON 2005 site is up, I might as well advertise the two things I'm doing: an AppFuse Tutorial and a session titled WebWork vs. Spring MVC Smackdown with Matthew Porter. I wasn't planning on doing the AppFuse Tutorial, but I was asked to do it - so what the heck. The title has "Struts" in it, but I'm willing to do whichever one (JSF, Struts, Spring MVC, Tapestry or WebWork) the audience chooses. If we're good, maybe we'll have an Eclipse Plugin done by this conference to simplify the new project and code generation process.

OSCON 2005

Posted in Java at May 07 2005, 08:45:40 PM MDT 2 Comments