I must apologize if this is a duplicate question, but I can’t seem to find one close enough to what I’m asking. I’ll happily close this one if someone can point me to the duplicate.
Just for some background. I’m a developer that started in the .NET space with WinForms. While I did do some WebForms work, most of that work was spent very much in the classic Postback style of WebForms development and firmly routed in that particular abstraction. I very quickly found myself in the XAML world (primarily Silverlight). All of that is to say that all of my web development work has been primarily in a particular abstraction, with little or no “Close to the Metal” type work. I have very briefly looked at the Microsoft ASP.NET MVC stuff and found it very interesting, but it had to be put on the “back burner”, while I focused on the things I worked with day-to-day.
I finally find myself in a place where I have enough time and determination to work with technologies (like MVC) that allow me to reach outside of those pre-made abstractions. The challenge is, that with all the time spent there, I don’t know what I don’t know. So, to the true question.
Can anyone recommend some good resources as a starting point for learning the technologies involved. I understand that I’ll nee to brush up more on good HTML markup, JQuery, maybe an MVC framework or two. But also, where do I go to learn, what I as as a developer should understand about the HTTP Protocol, headers, etc…? Where can I go to learn what other base level technologies I should understand (as in what they even are) if I want to work in this more granular fashion? I cut my teeth in a Microsoft-centric space, and while working from that perspective may speed things up for me, I don’t feel like using JUST those tools is a requirement by any stretch.
I truly hope that the question makes sense and is able to properly explain what I’m asking for. I have had difficulty articulating what I’m trying to understand. I very much feel that there are holes in my knowledge, that I’d like to fill. I’m just not certain I understand what and where those holes are.
Thanks in advance for your anticipated support.
Cheers,
Steve
You are definitely on the right track… but a couple points..
Don’t work with jQuery until you learn the javascript language, it has many nuances that can easily trip up experienced classical programmers like yourself. I recommend Javscript: The Good Parts. Not to mention to stay true to you’re commitment to learn “Close to the metal” Web Development…
Understanding that the HTTP model is stateless is BIG… ASP.NET WinForms tries to give the developer a state-full experience, which is going directly against the grain of the web. Request > Response… no persistent state is retained.
With the rise of RESTful web services really learning the HTTP model is a big help going forward.
MVC is essentially the industry standard and Microsoft has finally came on board. MVC3 is good and is leaps and bounds an improvement over WinForms, but still has that bloated feel. I would recommend PHP’s Codeigniter as a good starting point… they don’t do a lot of magic for you and you really learn a lot while using it. The PHP syntax is a bit verbose for my taste, but it should be fairly similar for you coming from a C based lang background.
I actually found myself in the exact opposite recently, going from a more “close to the metal” approach to (through work) moving to the ASP.NET Winforms model… really frustrating experience…