views:

169

answers:

6

I have a good understanding of C, C++ and java. I have an idea about a web app (as a self learning project) but don't know what technologies would be needed to create a web app. Also if possible include some resources that can help explain how these technologies are useful.

I am trying to implement a system where sellers can post whatever they want to sell and buyer can search for item they would like to buy ( like ebay.com or craigslist.org but with really basic functionality, I am just a beginner).

A: 

Webapps are written at their core in HTML and JavaScript. There are other things out there, but these two are the foundations. If you wanted to though, you could create a Web 1.0 app using Java.

EDIT: Welcome to Stack Overflow! :)

Chris Long
thanks for the warm welcome
Ansh
What is the difference between web 1.0 app and other web apps
Ansh
Most modern webapps (Facebook, Twitter, etc.) are called "Web 2.0." The main difference is that these webapps are socially-oriented. Most Java webapps can't really achieve this; they are more self-contained, i.e. a calculator. Plus, HTML, JavaScript and others give you much faster and more customizable results.
Chris Long
+1  A: 

HTTP, HTML, JavaScript, and CSS. Don't overlook the importance of HTTP - as it will allow you to more easily debug web applications (especially ones with more dynamic client-side behaviors).

Mike Hodnick
A: 

Web "applications" are commonly much more than simply serving static HTML and javascript code.

It involves several back-end languages that execute code to generate the HTML that the web server serves.

You can look into Apache and IIS as good web server technologies, and PHP and ASP.Net as good languages to pick up respectively. (ASP.net can be coded in any of the .NET languages).

Once you start learning about those, you can start building some sites with some functionality.

Crowe T. Robot
+4  A: 

How small/big should it be? Do you need some kind of persistance? Should it be interactive?

Anyway, you'll need some HTML, CSS and Javascript basics. But then, you can write useful web applications in java (see e.g. Google Web Toolkit or another ten java web frameworks).

Understanding HTTP helps a lot, also (if you have the time to read some background information on that matter, i recommend Fieldings PhD thesis on architectural styles for network applications)

In the end, it will all depend on your scope and your interest. There are other nice frameworks out there, built and refined especially for web applications like

The MYYN
+1  A: 

HTML, CSS, Javascript (ideally with a good JS framework, such as jQuery, Dojo, or Closure, to take care of some browser-differences on your behalf), a good basic understanding of HTTP (including such parts as cookies, headers for cache control, etc), probably some XML and JSON -- and (for server-side work) some server-side language (Java's fine, but so are Ruby, Python, ...) enriched with some suitable libraries/frameworks to ease your work (understanding the web server you're using, such as Apache or IIS, is a nice plus, but not really a must).

You can get away without writing (e.g.) Javascript (by using, e.g., GWT instead), but I think that, even if this is what you choose to do, you should still understand the level/layer your tools are allowing you to abstract away from (otherwise, you'll be lost in the water at the first bug or issue... remember, as Joel says, "all abstractions leak"!-).

Alex Martelli
+3  A: 

Web application development is an extremely diverse topic.

At a very high level, you will need to learn about (including some examples):

  • Markup languages (HTML, XHTML, CSS)
  • Client-side scripting languages (JavaScript)
  • Browsers (FireFox, Opera, IE, Safari)
  • Development tools like IDEs, editors (Visual Studio, Eclipse)
  • Web servers (Apache, IIS)
  • Server languages (PHP, ASP.NET, Ruby)

This is not something you learn overnight. You can dedicate a whole career to learning the ins and outs of these technologies.

Always a good place to start.

Andy West