Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Possible Duplicate:
What should every programmer know about web development?

Assuming one wants to be a professional in web design and development, what technologies would you recommend one learn? In what order should this be done? Any other suggestions.

Note : I am interested in finding out about a video training package that contains all the listed technologies.

share|improve this question

migrated from stackoverflow.com Mar 4 '11 at 18:31

This question came from our site for professional and enthusiast programmers.

marked as duplicate by Anna Lear Dec 21 '11 at 1:49

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

Does anyone have a comprehensive knowledge of how the web is built? Aside from Jon Skeet of course. ;) –  JB King Mar 4 '11 at 18:32
You'd probably hit retirement age (65 in the UK) by the time you got through that video training package, if one existed. –  James Love Mar 4 '11 at 19:09
The Royal Road to complete and comprehensive knowlege has been fully documented here: en.wikipedia.org/wiki/Royal_Road. –  S.Lott Mar 4 '11 at 19:26
This method might be adaptable: abstrusegoose.com/249 –  biziclop Mar 4 '11 at 21:33

7 Answers 7

up vote 1 down vote accepted

Learn HTML, then Javascript, then a serverside language (PHP, ASP.net or Coldfusion), then learn a database (MySQL or MS SQL). I learned based on the LAMP stack b/c it was the only thing free at the time (Linux, Apache, MySQL, PHP).

I set up installations, built small web sites, then built bigger more complex websites. When you want to learn something, google " tutorial" -like "HTML tutorial". Work through a few tutorials.

Once you get the hang of that, look into frameworks (like say jQuery for Javascript and Zend for PHP). Once you get the hang of that, look into design patterns. Once you get the hang of that, you can answer questions like this. :)

Along the way, you'll learn how to configure webservers (Apache or IIS) and HTTP headers, etc.

share|improve this answer
well, seems this was the best answer after all :) –  Chibueze Opata Mar 6 '11 at 4:39

Find some accomplished web developers in your area, abduct them, and drip water on their heads until they share their secrets.

Or just devour their brains.

Unfortunately, there's no other way to learn this stuff.

share|improve this answer

Make a website. Reference Google heavily. Everything else you will learn from experience.

share|improve this answer

The best way is to learn from experience because it will force you to really appreciate and deal with the issues involved.

Pick a few simple test projects and implement them all the way through. For example create blog software from scratch, write a wiki backend, etc. Start small and grow from there.

Then while you are doing this, you will pick up the books, articles, videos, etc about each of the specific technologies involved. For example maybe you choose to implement a blog and keep building on it to learn new technologies. The steps could look like:

  1. Get Google App Engine account to use as a backend
  2. Run through app engine tutorial for setting up a blog framework (this will get the data model in place)
  3. Learn HTML by extending the front end with more templates
  4. Learn CSS by adding some customized styling to the site
  5. Learn JavaScript/AJAX by adding some jQuery components to make the site more dynamic.
  6. Learn a backend language like python by extending the app engine backend application you starting in step 2
  7. Add whatever other capabilities are of interest and keep building

By giving yourself a platform to build on, you can get your interest and motivation up while also giving you a real-world example to make use of the skills you are learning. Best of all, at the end of it you will have examples that show what you know to potential employers.

share|improve this answer

Assuming one wants to be a professional in web design and development, what technologies would you recommend one learn? In what order should this be done? Any other suggestions.

Note : I am interested in finding out about a video training package that contains all the listed technologies.

Heh, I was in the same boat. Anyway, I'm a web dev now, but I'll try my best to answer your questions without bias, warning I'm a Linux geek. Hence I know very little about the Microsoft web tech.

For client side/front side: 1. html 2. css 3. javascript

So for serverside what you need:

  1. A scripting language (Ruby, Python, Php are the most commons for non microsoft)
  2. Database - SQL

Seeing how you really really want videoes. You can try Ruby on Rail, there are railcasts (http://railscasts.com/). But you should learn html/css first. You can do javascript and ajax/xml/json later.

I've noticed someone mention ColdFusion. I would like to say in my very personal opinion that it's a dying language.

Oh, try to stick with open standard such as html5/javascript/css.

So in summary, here's the order:

  1. html + general website (such as DOM)
  2. css
  3. php/ruby/python (learn syntax first then Object Oriented Programming, you need OOP to do MVC)
  4. SQL
  5. javascript
  6. jquery
  7. MVC (if you learn Ruby or Python you mind as well jump to the MVC framework)

Note: You should learn the website aspect in general such as DOM (Document Object Model). Oh and you might need some system admin skills to play with these...

share|improve this answer
Yeah, I was wondering too. I have only seen about two websites or so that use cold fusion, probably nothing too fascinating about it :/ .. I would like to know more about MVC, and why you put it as last... –  Chibueze Opata Mar 5 '11 at 19:30
Kinda like learning how to walk first before you can run. –  mythicalprogrammer Mar 6 '11 at 3:42
Sorry wasn't thinking. I guess you can do MVC after SQL. –  mythicalprogrammer Mar 6 '11 at 4:29

Here's what worked for me:

I assume you have a basic understanding of HTML/CSS/Programming. If not, it's really easy to google various tutorials that will get you used to the basics. Your next step would be setting up a development environment for PHP.

I'd suggest something like: http://www.apachefriends.org/en/xampp-windows.html If you're not on a Windows machine, look into whatever works for your OS.

I'd then suggest heading over to CodeIgniter: http://codeigniter.com/

Once you're there, I'd jump into the Blog tutorial: codeigniter.com/tutorials/

You don't need to build the blog, just watch the video to get a general idea of what's going on. When you're done with that go through the user guide: codeigniter.com/user_guide/

After you've gone through both of those steps, you should be able to figure out anything else you need to create a basic content management system. Add a login system to your blog that requires the user to login to post comments.

Try to keep all of your database logic in the model files.

Then, try integrating something like CKEditor for creating new articles. Then just keep adding to your basic system.

Once you have your basic CMS down, you can start adding some designs for your site. The best solution is just to find a tutorial for each thing you want to do. Google is your best friend and due to how simple basic HTML/CSS is, you should have no troubles figuring anything out.

PHP/CodeIgniter might not be the best options for development, there are better languages and frameworks IMO; however, PHP and CI are very easy to jump into. PHP is easy to setup and you don't need to touch the command line. CodeIgniter doesn't include a lot of the 'magic' of other frameworks, it's also not as complex as Zend, so it's easier to understand and helps you build a solid understanding.

Once you've finished your first project, you can start looking into more advanced techniques, as well as other frameworks and languages. These should all be a lot easier to understand and you should have a strong grasp of what works for you.

share|improve this answer

As has been the running theme so far you MUST start with HTML and I would recommend CSS at the same time. From there you will likely need either Javascript or PHP/ASP (I recommend PHP as its more versatile) next then the other after that. Once you branch into PHP/ASP you will also want to have database knowledge... I would recommend MySQL. If you want to get really good at this point I would recommend downloading and installing a web server on your own machine and gain experience there. This could be done at the start but might be easier with some prior experience under your belt. Having knowledge of Adobe's Dreamweaver would be a very useful tool. Then start in on more advance things such as AJAX and what I will refer to as CGI programming although this reference is slightly outdated (my reference here covers all server-side programming in languages such as PERL, Python, etc.) Java and Java applets and Flash/Actionscript would also be handy adventures. So in the end it just depends on how involved you want to get. There are a lot of venues to try out so decide what you'd like to accomplish and start learning! :)

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.