views:

907

answers:

7

Does anyone have a suggestion on a good book/whitepaper/online resource that goes a great job of introducing the concept of web development to experienced developers who have done only client development?

I'm not looking for detailed material on the programming technologies we'll be using (ASP.NET MVC, jQuery, etc). Rather, I want to find something to help people get over the hump of understanding the uniqueness of web application development. Something that shines light on the challenges they will face and have to think about.

I would be even happy to find a bigger, topic specific book that happened to have great chapters 1-3 that helped people understand the nature of web development as a preface to the real content of the book. Any kind of resource would be helpful.

Things I have seen people struggle with when new to web development:

  • The general concept of a postback and the idea that that code generally only runs on the web server as a result of an HTTP request
  • The statelessness of HTTP requests and the challenges that that brings
  • The concept of AJAX (without necessarily getting into mechanics of how to do program it)
  • The fact that browsers don't follow standards perfectly
  • Security challenges

Most of these things can be learned piecemeal. I'd like to find a resource that pulls a bunch of information into one place. Mostly just want to get people in the right mindset and have them start thinking about what they need to be thinking about.

Edit:

The context for my quest may also be interesting and possibly relevant. We actually have a pretty decent training course that we put people through when they need to learn this stuff. It takes about 3-4 weeks (including some schedule time for hands on labs). However, in the past few times we have given this class, I have seen those folks that had spent the last 5 years doing traditional windows client development have been less able to absorb the material at the pace that we are presenting it because it takes some time to wrap their heads around how different the web application world is from what they are used to.

That is why I started looking for a primer that we could ask people to go through prior to coming to class. My theory (caveat: I am not a trained educator) is that the class material may be absorbed more quickly and easily if these developers had been introduced to some of these topics in advance.

+1  A: 

I think the Head First Books are a great resource for understanding concepts and not just having code thrown at you. They have a HF Web development book that I have not read but have heard good things. I have started their JSP book and it gives a good intro to server client architecture. The books are also silly and fun to read so even if much of the book is review, its an enjoyable one.

Lumpy
A: 

This might be what you're looking for: Web Application Architecture: Principles, Protocols and Practices. It has a great overview of protocols, browsers, and a little of some specific frameworks(Rails,etc).

The table of contents looks interesting. I'll have to check out the book to see if it really goes into some of the more basic topics though like the structure of a web application.
Erv Walter
+2  A: 

Here is a decent web development primer/overview that covers what the first three chapters of your fantasy book might cover.

Honestly, most "beginner" texts i've seen do a decent job of covering the basics in the first few chapters, especially Wrox, the thing is, you need to pick a technology,

Another option is a trainer who can come in and do a week-long boot camp with your developers. The nice thing about this is that you can tailor the training very specifically ahead of time. It is an expensive option but possibly the most effective.

Paul Sasik
We do have great in-person training. I am looking for something to "warm people up" before the training starts so that we can spend valuable training time more effectively. I'll keep looking at beginner texts for a great intro though...
Erv Walter
A: 

I think that the problem domains are too large not to separate out into:

  • A simple resource for html.
  • A simple resource for javascript (or jQuery in your case)
  • A starting resource for your server side templating system (hopefully you have one)
  • And a resource for other server-side development (Asp in your case)

I think that it'd better to start at the simplest bloc and work in those stages. That, after all, will allow them to step quietly into the philosophy of progressive enhancement, and perhaps allow them to be the most effective at a useful stage of work in the shortest time.

I code in php myself, and I keep coming across problems with css (browser incompatibilities mainly) that I wish I had more familiarity with, and might have if I didn't learn in scattershot order, html->php->javascript.

Tchalvak
But you don't need to know the details of any of those 4 specific areas to learn the fundamentals that the original post talks about. And crucially, it's possible to learn each of these areas to a reasonable degree of competence yet still make simple errors when reasoning about the overall structure of things (like trying to have a Javascript on-click handler call a PHP function to get a value).
Kylotan
A: 

I was in this situation a few months ago. The 'for dummies' books didn't help at all. My team was good about ramping me up quite fast with increasingly difficult tasks, and I'd spend 30 minutes peer-programming out a sketch with a buddy on each one.

Dustin Getz
Yep. That is how all of our current good developers got up to speed and it worked fine for a team of 5-10 people. Now we need to scale that to dozens and possibly a few hundred developers over the next year or two.
Erv Walter
+5  A: 

There's a free sample chapter of Building Web Applications with UML 2nd Edition that deals with "Web Application Basics". I found it to be very informative.

The subsequent chapters are also good:

  • Dynamic Clients
  • Beyond HTTP and HTML
  • Security
wings
This was very helpful
Erv Walter
A: 

"Atlas Shrugged."

If that tome doesn't get them... on the right track, nothing will.

inked
-1 : that's -0.5 for not answering the question and -0.5 for recommending anyone read Ayn Rand.
JimDaniel