從國外網站上看到一篇文章,轉發過來,附簡單注解。原文在http://raibledesigns.com/page/rd/sunsets?catname=%2FJava
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.
Struts明顯是最大的贏家,并且持續增長,Spring明顯的有所增長,Tspestry基本持平,WebWorks下降到4,JSF的需求有所增長。
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.

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.
依我個人的經驗,這些數字不一定就很準確。 自從我發表第一篇介紹以來,我已經在項目中使用了好多次,包括Struts, Spring MVC, WebWorks 和JSF, 我還沒有做Tapestry開發。 Struts不好的方面就是太多了,其工資可能稍微低一點(35/45/hour) ,而用其他框架能使你提高到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.
那么這些數字意味著我們應該做什么呢?是不是意味著應該學習那些最流行的框架?乍眼看來,這樣做是很重要的。 如果沒有別的,Struts是很重要的,并且你可以將你所有的Struts應用遷移到你鐘愛的框架中。不過,我認為這些數字對你選擇一種框架開始你的項目來說不是重要的。我想在選擇一種框架時最重要的是passion(激情)。你最想使用哪一個框架工作呢?或許如果你對一個框架很熱情,你的生產力將獲得極大的提高,而不是乏味的使用已經積累的技術。 另外,如果你由于生產力推動而不是激情,那么運用你已積累的技術去完成項目可能是一個好主意。
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