Recently, I’ve been exploring the Java space, and I came across the Spring Framework.
Is this a web app framework like CodeIgniter or Rails?
If so, is Springs used for developing enterprise web applications that run on Java EE technology?
I am curious, why is Spring getting lot of attention? Isn’t it a lot cheaper to simply use LAMP + CI or Rails to develop web applications?
Can Spring be used to develop desktop applications?
Spring can be used as a "general purpose DI/IoC/AOP" container, among other things (it has grown larger over the years). You can use it to develop "enterprise web applications than run on Java EE technology", yes.
Are you writing a Java/Scala/Groovey/Other-JVM-Language application, or are you writing a Rail/Python/Perl/PHP/Whatever application? It’s not as simple as "switching" from LAMP+CI+Rails to Spring+SomeJVMLanguage. You have to define requirements first. I would say "cheaper" depends a good bit on if quality tested code is written — bad code is seldom "cheap" in the long run.
Note that Spring is not a full web-stack, rather Spring is designed to integrate (and be integrated into) a stack. It is "the glue".
Let’s look at how this compares with "LAMP" (which is such a dated ‘concept’):
So, in short, apples and oranges and ‘wth’ 🙂
Yes. That is, Java can be used to develop desktop applications and the relevant parts of the Spring framework can be used (DI/IoC/AOP, etc.). However, Java desktop applications in general do not seem terribly common (and applications which use Spring would be a small subset of that and probably use Guice for DI/IoC). But, perhaps more common than a "Rails desktop application" 😉
http://en.wikipedia.org/wiki/Spring_Framework