views:

474

answers:

7

I am wanting to develop a web application, what is the current state of the art to do so?

Google Web Toolkit?

Favorite languages: C#, Java, Python.

If I understand correctly the respective best ways are ASP.NET, Spring, and Django correct?

Also Rails is out there too.

I'm just saying general purpose? Suppose you had a version of MSPaint you wanted to put on as a web application, what would you use? If you wanted multiple people to draw on the same canvas... If you wanted to make Photoshop as a webapp.

For instance, have you guys seen VMWare-Server for Linux, the entire thing is a web interface. What was that written in?? What is the best thing to write it in?

+4  A: 

HTML + CSS

Without it the result will be sorrowful.

When seriously, there are many frameworks with different philosophy behind. They have their advantages and drawbacks. Cannot speak about all of them, but generally frameworks backed up by a good programming language at the server side are especially good (when not the only option) for developing web applications as opposed to "stupid" web sites. With .NET it's classic WebForms, the new extension ASP.NET MVC along with various ORM solutions like LINQ, EntityFramework, nHibernate etc. With Java, Spring is very popular.

The best would be if you let us know what kind of project you wish to build.

Try to decide first what language are you leaning towards. Then it will be easier to decide on the actual tool to use.

Or check for yourself: Web application frameworks

User
+1  A: 

Doesn't state-of-the-art mean untested? Django, ASP.NET, and GWT are all relatively widespread and stable at this point, so I wouldn't call any of them state-of-the-art. Spring does more than handle web apps, but it's also relatively old and crusty in terms of Computer Science.

Use what you know, or what you want to learn. Any of those choices are good ones.

Stefan Kendall
It does not mean untested, it means "cutting edge".
Benson
A: 

It depends on what your are tyring to accomplish. Define your goals and then look for the tools to best accomplish those goals allowing for scalability if needed.

A: 

ASP.NET MVC

http://www.asp.net/mvc

Anything good enough for StackOverflow has to be the thing to go with. :)

Dusty
stackoverflow is a diamond in the rough.
gargantaun
A: 

Currently no one solution has been agreed upon as "the best," if that's what you mean by "state-of-the-art." But, different solutions are suited for different problems.

If you want a lot of "short-lived" web pages that together form a web application, Django and Rails by themselves are suited for this. I'm guessing Spring and ASP.NET have similar goals, but I have no experience with them.

If you want a single "long-lived" page application that behaves more like a desktop application than a web site, you'll want a framework to build the front end, as opposed to building everything from scratch with html/css/javascript. Google Web Toolkit is suited for this. Cappuccino and Sproutcore are also designed for this.

I can say from experience that Rails is very easy/enjoyable to develop with; I haven't tried Django, Spring, or ASP.NET. I've tried all three front-end frameworks, and Sproutcore was the one I liked best, mostly because it seemed to have a big community and support from Apple. They are all useable.

Of course, that's only my opinion.

Rex Fernando
Can you give me an example of "a lot of short-lived web pages" acting as an application?
DevDevDev
What I meant by that was a more traditional web application; something where the user is directed to different web pages as he uses the web application, as opposed to something like GMail, where the user more or less stays on one web page and extensive AJAX is used to communicate with the server.
Rex Fernando
+5  A: 

I don't know about state of the art, but on the Python side Django is the framework of choice at the moment.

For instance Google's App Engine is based on Django. There are some technical details in this video of the DjangoCon 2008 Keynote by Guido van Rossum - "Django & App Engine" (58 min 19 secs, 95 MB).

There is a list of all 23 sessions at DjangoCon 2008.

Peter Mortensen
A: 

The absolute best frame work.... is the one you build yourself.

gargantaun
I am sorry, but this is terrible advice. A good web framework takes an amazing amount of work, and has a generous and talented community. This piece of advice is true if and only if you are DHH.
Benson
I disagree. Having a community isn't the sign of a good framework. I've worked with many web frameworks and I've found every single one lacking in critical areas, overflowing with stuff I don't need and with such steep learning curves that it turned out, in actual reality, to be quicker to build my own. So that's what I did. It took me a couple of days to get it up and running and every-time I use it, it get's better. There's no limitations to it because I know every single line of code and can add and subtract things at will. I've never been happier with a framework. And what's a DHH?
gargantaun
I'd also add, the process of developing my own framework enabled me to better understand the idiosyncrasies other web frameworks.
gargantaun