Is Java suitable for Web 2.0 applications?

The other day I was talking with someone who suggested that Rails and PHP are the most suitable platforms for web applications and to avoid Java. My background is mostly Java, and I know that some people find it too verbose and “heavy”, but are sometimes used (like LinkedIn).

So, I am wondering if anyone managed to succeed using Java for a recent web application using the language itself (e.g. using Stripes / Spring + Hibernate) or runtime using a dynamic language (such as JRuby, Groovy, Jython)? If so, please share what worked and what you would have done differently.

Some background (added later): Tim O'Reilly came up with the wording "Web 2.0", and here is his definition: http://www.oreillynet.com/lpt/a/6228

I think this is the “End of Release Cycle” and the “Easy Programming Model,” including fast iterations and simplified deployment, where Java may be less suitable. Thoughts?

+6
java web-applications
source share
8 answers

There are two completely different concepts called "Web 2.0":

  • user content (usually with some "social networks")

  • AJAX-based dynamic web applications

the second of them dictates the technologies that you should use (at least some JS and machine-readable content in (some) answers). Of course, there is nothing against using Java (or CGI, Perl, whatever) on the server.

the first has nothing to do with technology, and everything related to the service itself that you provide. again, you can use whatever you want.

why are these two mixed in the same term? and what's more: why are dynamic languages ​​supposed to be “more appropriate” for this? I would suggest that this is just a temporary coincidence, all three things (user-generated content, AJAX, serious dynamic languages) immediately came close to the spotlight, and most proponents of each concept use the other two.

in short, it is best to avoid undefined market terms such as "web 2.0" and use the correct descriptions. at least during work. when selling VC and PHB, use any and all keywords that are coming!

+9
source share

I would say that there are no special technologies for Web 2.0. The main idea of ​​the Web 2.0 application is that most of the content is provided to users, not to the individual. If you can achieve this using Java, then this is normal. Many people create startup companies with technologies that are free because they have no capital.

+19
source share

Of course. Java has a very mature and well-tested framework for web applications, including the so-called websites 2.0. Hibernate, Spring, even Struts and Tiles, or even Plain Old Servlets.

Moreover, Java is very fast (see Debian speed tests) compared to Ruby, which is good for websites that handle many and many requests, which Ajax really tends to inflate! :)

+5
source share

Your friends, with all due respect, are stupid. Java is a rich language with incredible tool support. You could build a fantastic backend in Java and use whatever you want for the interface.

It took me a while to figure out what to say in this answer because I was sure of the extravagance of the concept.

+4
source share

Where I work, all of our applications are built using Java. These are web applications created using either hibernation or direct JDBC at the end of the data, and using Struts or JSF for presentation. I would no longer work with JSF if we didn’t have access to the latest version (we were stuck in 1.0 because of our IDE), as we ran into MANY problems with it, and they were told that they were fixed in more later versions. As for the rest of the technologies, they work great if you know how to use them.

In general, you will be better off developing a language that you know well and is capable of doing this work than one that you barely know, but may be the "best" language for this work.

+3
source share

"Web 2.0" most often refers to the user interface than the underlying technology for working with webapp.

What makes a Java-based web application completely flashy and AJAX-y in the user interface layer? Nothing. You will write middle layers in Java, which is transparent to the user anyway.

I think the people who gave you this advice are more concerned that the “hips” and (what they perceive) are flowing with what is “hot” now, which is completely irrelevant to the layout of your user interface. I would not listen to them.

+2
source share

Wonderful day, I will send the Wicket message again! :)

Java is very suitable for Web2.0 applications if you know how to use the tools that are available to you. The Apache Wicket I just contacted is a POJO-based web application platform with such an incredible way to hide everything that’s a server-client boring that it allows you to do almost anything you can think of. The strong point here is that since Wicket is just a POJO, you can get very fast, iterative and modular code that works as you would expect in a browser.

To create Web2.0 sites with Java, you certainly shouldn't use Wicket, but I would recommend it anyway.

+2
source share

I create web applications to work in Java, and then I use PHP for my personal projects. Although Java is certainly capable of anything you might need, I sometimes find it a bit cumbersome and wish I would use PHP (or another language, for that matter). It depends on what type and size of the application you are creating, but I think there are good reasons why many people choose PHP, Ruby and Python for their personal projects, that is, where they can choose what language they create the web in. applications (and not their superiors).

+1
source share

All Articles