What does RSF offer that other frameworks don't? Today there are more open source Java web programming frameworks in the world than practically anything else. Having made a quite thorough study of the market, and occasionally suffered for our study the hard way, we are prepared to say there are a number of areas in which they all fall short.
The core RSF values:
Universal portability#The second value point of RSF lies behind the scenes. RSF allows applications to be designed with an unprecedented portability and flexibility of deployment. Since the entire framework architecture, as well as the target application architecture, is designed using the modern IoC structures we have now seen established, most notably, by the Spring framework, what were previously completely "baked-in" architectural choices can now be adjusted very late, just with light changes of packaging and configuration. RSF takes Spring's IoC a little further with a very high-performance request-scope implementation, RSAC, which is the key both to portability to different deployment environments such as Servlets, Portlets, Sakai tools and others, as well as an agnostic approach to fat vs. thin clients now being explored through RSF's UniversalViewBus architecture. Frameworks are in fact far more in need of the benefits of an IoC-driven architecture than applications, and RSF is one of the first top-down IoC frameworks, with the entire structure wide open for configuration and extension.
Natural web idiom#Returning to the user-facing side, RSF provides a better user experience through a thoroughgoing respect for long-established web idioms. Many frameworks are not even able to deliver adequate Web 1.0 interfaces, with lack of support for web fundamentals such as HTTP GET forms, bookmarkable URLs, functioning back buttons with a clean browser history, and browser forking. All of this support comes with no special design effort in RSF - bookmarkable URLs are not a "design option", they are baked into the application structure and are in fact quite an effort to defeat! Likewise keeping a clean browser history free of annoying popup warnings is "not an option" - it is just the way things work. RSF emphasises a "zero server state" approach where very many more situations can be handled idiomatically without resort to session-based solutions - RSF's OTP mapping idiom helps considerably in casting an application structure as a stateless space of web services, ready for operation from the widest variety of clients.
RSF returns application design to being fun again, free from the traditional heavy "stodge" of J2EE concrete classes, framework interfaces and restrictions. In many ways RSF is the least "Java-like" of the Java frameworks, and is attracting programmers from the more dynamic markets such as PHP and Python, whilst maintaining the impeccable "Enterprise" credentials that Java programmers expect from the likes of the Spring framework.
RSF is fun to work with, and finally returns the web to the way it was meant to be - come and join in!