Programming for the World Wide Web is a diverse area but I will try to make a few points and raise a few technologies and ideas for you to think about.
When the idea of dynamic web pages first came about you needed a great deal of technology knowledge of web servers to do anything worthwhile. Then came CGI-Scripting which allows you to generate dynamic content from a script written in almost any language. The most popular language to use is Perl although you can also use Python and even C.
From my experience CGI-Scripting gives you an insight into how programming for the WWW works at a lower level than some of the more modern, developed frameworks. So if you are a beginner it might be worth a look at, it will lay the foundations for learning the newer frameworks.
There are some Web Development frameworks based on Python and CGI, these include CherryPy (
http://www.cherrypy.org/), Django (
http://www.djangoproject.com/), Ruby on Rails (
http://www.rubyonrails.org/). These frameworks will build on CGI-Scripting by providing built-in features for you to implement.
Then in another class we have Servlets/JSP, ASP.NET and PHP. Servlets/JSP use Java to generate pages, I don’t know much about this so I won’t comment too much. ASP.NET allows you to programme in C# or Visual Basic, it is an extensive framework which provides many controls and functionalities. The downside is that it will require a Microsoft server to run on (realistically). PHP is itself a programming language and very popular its focus is on database access and interaction with web forms. It has a closer relationship with cgi-scripting than Servlets or ASP.NET.
The choice of technology should be based upon a number of things:
What are you going to serve it on?
Is it Microsoft or Unix based?
ASP.NET runs on the Microsoft platform, you can run 1.1 on Apache but I am certain you would have less of a headache running it on a MS platform.
Servlets, PHP and CGI can run on the Microsoft platform but probably work best on the Unix platform.
Open Source or Closed Source?
ASP.NET is a closed source product, to successfully produce a solution you will probably need Visual Studio, an expensive piece of software.
The other options are open source and you can programme using a text editor or an open source IDE, for example Eclipse (
http://www.eclipse.org)
E-commerce solutions?
You have already said you would like an e-commerce solution. I am certain that you are more likely to find an Open Source PHP solution than a close source ASP.NET solution. A quick search on Source Force (
http://www.sourceforge.org) for ‘ecommerce’ reveals 96 hits so its worth a look. Scanning down the list I can see PHP and Servlet solutions.
To start from the beginning to design and code a decent e-commerce solution you are looking in excess of 500 hours work. My advice is to look online at existing solutions. See what meets your requirements, test out a few.
Make sure you are aware of all the issues with regards to Web Programming:
- - The web is a stateless environment; you need to carefully think how you are going to maintain a user’s session.
- - In an e-commerce solution Security is paramount. Look into SSL (Secure Socket Layers).
- - Make yourself aware of the Disability Discrimination Act and make sure your solution doesn’t contravene it.
Good luck.
Justin