views:

100

answers:

8

Hi,

I have been working with C# for past four years at the enterprise level. Now, I have taken a decision of moving to Web side of the things. Since I am well versed with C# and WCF I naturally zeroed in on ASP.NET as I need not learn a new Programming language. Learning just the Web Framework will suffice.

I have read a lot regarding MVC, so starting out with MVC 2.

My Question is Will I face any roadblocks if I learn MVC without learning Web Forms? Keeping in mind that this is my first foray into Web Development?

Looking forward to some good suggestions.

A: 

If you're looking to apply your web skills to enterprise environments, you'd probably find a lot of environments still leveraging Web Forms. Outside of that, I can't imagine it would really hurt you that much.

The bigger thing about web development is getting familiar with HTML/CSS/JavaScript(ie, JQuery). The skills learned there are applicable to either environment. You'd probably be able so switch back end frameworks rather painlessly as long as you're used to c# and all the web stuff previously mentioned.

Tim Coker
Thank you Tim...
indeyy
A: 

I think it depends on what type of applications you are going to be developing. I believe web forms would be easier for you to learn with the background you already have in WCF. But it might not be worth it if the applications you are developing are better suited for MVC rather than web forms.

My recommendation would be to determine what type of applications you are going to be developing and then look at the strengths and weakness's of each and then determine which one you are going to focus on.

Sean Barlow
I am into developing web 2.0 apps
indeyy
I would learn MVC then. It can only help you if you need to use web forms. The biggest thing is going to be learning Javascript/JQuery. The c# side should be pretty straight forward for you. Javascript/JQuery/HTML are going to be your biggest challenge IMO.
Sean Barlow
will keep that in mind...thnx
indeyy
+1  A: 

I was in your exact same position. The only problems you may have is wrapping your head around postbacks and what tha means. Having said that, MVC2 will teach you how to write better code instead of the typical spaghetti that comes asociated with webforms.

If you're new to MVC2 I'd recommend buying Wrox Professional ASP.NET MVC2 from writer Scott Hanselman.

Serg
thank you Sergio. Right now I am doing the tutorial from the asp.net website, the mvc music store, but I am looking out for some good books as well.
indeyy
@indeyy Don't forget the NerdDinner tutorial.
bzlm
@bzlm Sure, Thank You
indeyy
A: 

You most probably won't. There are some concepts that belong to the web-application environment (session, caching, etc) that are common but you'd have to learn about them anyway. They are two separate frameworks so nothing very specific about one of them could help you with the other.

CyberDude
thank you CyberDude
indeyy
A: 

You will undoubtedly run into issues when knowing a "new" way of doing things without having been brought up in the "old" way of doing things. It's unavoidable, really. I'd suggest learning the basics of WebForms code if possible, if for no other reason than to be able to trudge through it when necessary. Of course, if you find yourself in the position of having to support a WebForms application, you'll learn by doing just like anything else.

This question reminds me of my early days in .NET (which were the very early days of .NET in general) and trying to find assistance with various issues. I was an entry level developer, hitting up forums and such with questions. Everywhere I went, people weren't really adopting .NET just yet. They were all old Windows platform developers, whereas .NET was my first Windows development (I was all UNIX/Linux in school). Invariably, nearly every question I asked was answered with something suggesting that I "just use COM." Of course, I wasn't familiar with this. It was "the old way" and I was using "the new way."

It was difficult to work past that, and you'll likely face the same issue here. Basically, when people have made a career out of doing something the one single way they know how, they tend to expect everyone else to know it as well and will cling tightly to it as their bread and butter. You can be better than that, but it'll require patience :)

David
that was spot one. I was in similar situation when I started out with C#. People were referring to win32 and all the old school concepts which I was totally unaware of.
indeyy
@indeyy: Try working with DB2 admins and using the word "tables" to describe what they call "files" for some reason. I don't know why people in the WebForms camp refer to MVC as some new thing. The pattern has been around for decades. Hell, years ago I tried to implement an MVC-style architecture in my own WebForms projects, and ended up with something like MVP.
David
A: 

I assume that your development experience included Windows Forms. In terms of the transition from Windows Forms to ASP.NET WebForms, there's no doubt that would be an easier transition. Whether that would be the best transition is another question. And I believe the answer is without a doubt, no.

MVC allows you to gain an understanding of the way the Web works. Understanding GET and POST, Requests and Responses, not to mention HTML, CSS, JavaScript, et al.

I would not hesitate to recommend MVC.

steve_c
Thank You steve
indeyy
A: 

I don't understand why you don't want to learn Web Forms. Learning Web Forms is just like learning abc's. You'll learn it as you go along with MVC. My suggestion is, Just go with the flow in your learning of MVC and you'll be surprise that you're already learning Web Forms.

samer
I just didn't want to start off with stepping in two new boats at the same time. Just selected MVC as it is more common with other open source technologies
indeyy
PLEASE don't pull the open source card. It's so lame. Choose a technology because it fits your needs and how you like to develop.
Serg
I Agree. But you will not be stepping in two boats. You'll just be stepping into one. It's just like learning how to walk. When you already know how to stand you'll eventually learn how to walk. Web Forms is part of MVC which considered to be the "View" in most cases. This is also true in most open source technologies.
samer
@Sergio...well I mentioned open source only to highlight MVC [email protected] to know that perspective..
indeyy
A: 

Learning web development these days is hard as you need to be an expert on so many different things!

You need to learn HTML/CSS/JavaScript(ie, JQuery)/Json regardless of the server side framework you are using if you are creating “rich” web applications.

I would say starting with ASP.NET MVC is not a bad option before moving onto ASP.NET Web Forms. You are likely to hit both going forward, but as ASP.NET MVC does not hide what’s going on so much, I think it may be a better start.

However if you just wish to create simple forms on the web, it is hard to beat ASP.NET Web Forms, but as soon as you wish to do something more advanced, the Web Forms complex page cycle will give you pain.

Ian Ringrose
Thank You Ian, as I want to develop web 2.0 and RIA I assume that MVC is the best bet, thank you for the suggestion.
indeyy