Blogs
Our recent announcement about jQuery caused a lot of confusion among the JSF camp because it seemed to contradict another announcement we made a few months ago concerning ICEfaces. So this blog is meant to clear that up.
ICEfaces serves the need of abstracting Javascript from Java developers. It does that very well. It allows Java developers to develop using JSF to implement portlets with a rich UI. The very benefit of ICEfaces however, is also its drawback. It requires developers to use JSF.
jQuery on the other hand, is a light weight Javascript framework that enables PHP and Javascript developers (and Java developers who don't want to use JSF) to quickly develop without having to learn a heavier Java framework.
At Liferay, we don't care what you write your portlets in. Often, our enterprise clients mix and match technologies to get the job done. That's why we focus on enabling developers to deploy portlets, often deployed in one page, to be written in languages and frameworks like Struts, ICEfaces, PHP, or even Ruby.
ICEfaces' current implementation uses a Javascript library called Prototype which pollutes the DOM and does not coexist well with other Javascript libraries. That means, if we built our internal core portlets using ICEfaces, it could potentially break portlets that other people have written. With that said, we have decided to build all of our internal portlets using jQuery.
In the plugins repository, however, our non core portlets do leverage a variety of JSF technologies, of which our favorite has been ICEfaces because of the push behind both Liferay's community and ICEfaces' community to make sure integration works.
Hope that clears everything up.

