Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Should I learn ASP.NET, or go straight to MVC?

Should I learn ASP.NET, or go straight to MVC?

Scheduled Pinned Locked Moved The Lounge
asp-netcsharpcomtoolsarchitecture
21 Posts 12 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    Philip Laureano
    wrote on last edited by
    #1

    As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

    Do you know...LinFu?

    T R K C M 10 Replies Last reply
    0
    • P Philip Laureano

      As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

      Do you know...LinFu?

      T Offline
      T Offline
      Todd Smith
      wrote on last edited by
      #2

      Try them both. You can whip out a project in each in a few days and see what the differences are. If you're really going to learn ASP.NET development you should be experimenting with tons of small projects. You can find samples of both here on CP. If you got a job today the chances are it wouldn't be MVC based.

      Todd Smith

      1 Reply Last reply
      0
      • P Philip Laureano

        As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

        Do you know...LinFu?

        R Offline
        R Offline
        Rama Krishna Vavilala
        wrote on last edited by
        #3

        You should start from basic asp.net. Request processing pipeline is a must to understand. After that toucan move straight to mvc. You don't need to learn about controls and page lifecycle in lot of detail. A basic knowledge is useful.

        Proud to be a CPHog user

        J 1 Reply Last reply
        0
        • P Philip Laureano

          As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

          Do you know...LinFu?

          K Offline
          K Offline
          Kevin McFarlane
          wrote on last edited by
          #4

          Just to throw a spanner in the works there's also the Web Client Software Factory from patterns and practices! You can even combine the two frameworks to an extent. As others have said you probably need to learn a bit of classic ASP.NET from scratch first.

          Kevin

          J 1 Reply Last reply
          0
          • P Philip Laureano

            As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

            Do you know...LinFu?

            C Offline
            C Offline
            Christian Graus
            wrote on last edited by
            #5

            Learn ASP.NET. MVC is not a magic bullet, and surely it builds on ASP.NET, at least in some ways ?

            Christian Graus No longer a Microsoft MVP, but still happy to answer your questions.

            1 Reply Last reply
            0
            • P Philip Laureano

              As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

              Do you know...LinFu?

              M Offline
              M Offline
              martin_hughes
              wrote on last edited by
              #6

              Interesting question Phil, and one I was pondering earlier: Do IDE's promote bad design from the outset? You know, double click the button and start coding without thought to good design/proven techniques/patterns. In the one instance, it'd be great if the IDE enforced good design from the outset. Instead of merely wiring up a click event, it forced the user down a well know and proven route. In the second, it begs the question whether or not these well known designs/proven techniques/patterns are any good or even appropriate to the given the problem at hand. So, to answer your question, buggered if I know.

              Top Secret Plan for World Domination

              P 1 Reply Last reply
              0
              • M martin_hughes

                Interesting question Phil, and one I was pondering earlier: Do IDE's promote bad design from the outset? You know, double click the button and start coding without thought to good design/proven techniques/patterns. In the one instance, it'd be great if the IDE enforced good design from the outset. Instead of merely wiring up a click event, it forced the user down a well know and proven route. In the second, it begs the question whether or not these well known designs/proven techniques/patterns are any good or even appropriate to the given the problem at hand. So, to answer your question, buggered if I know.

                Top Secret Plan for World Domination

                P Offline
                P Offline
                Philip Laureano
                wrote on last edited by
                #7

                martin_hughes wrote:

                Do IDE's promote bad design from the outset? You know, double click the button and start coding without thought to good design/proven techniques/patterns. In the one instance, it'd be great if the IDE enforced good design from the outset. Instead of merely wiring up a click event, it forced the user down a well know and proven route.

                Actually, I was wondering if it would be more efficient to use command line build tools to enforce good coding standards. Since you're limited to managing a small subset of files at once, it forces you to keep your code compact and as manageable as possible. Perhaps using nant/msbuild, NUnit, and a good code generation engine would offset the need to use an IDE altogether (aside from the intellisense, and syntax highlighting, of course). What do you think?

                martin_hughes wrote:

                In the second, it begs the question whether or not these well known designs/proven techniques/patterns are any good or even appropriate to the given the problem at hand.

                In this case, I think it's better to question the developer who uses the tool, and not the tool itself. You can easily create masterpieces if you know which tools are right for the job; in contrast, one could easily just as spaghetti code if you use the wrong tools. So the answer to your question really depends on how knowledgeable the developer is with whatever tool he/she is using for whatever problem is at hand.

                Do you know...LinFu?

                M 1 Reply Last reply
                0
                • P Philip Laureano

                  As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

                  Do you know...LinFu?

                  J Offline
                  J Offline
                  Jerry Hammond
                  wrote on last edited by
                  #8

                  No no, don't do it. Phew! One less to compete against. Right guys? Guys? Guys?

                  “If we are all in agreement on the decision - then I propose we postpone further discussion of this matter until our next meeting to give ourselves time to develop disagreement and perhaps gain some understanding of what the decision is all about.”-Alfred P. Sloan

                  1 Reply Last reply
                  0
                  • P Philip Laureano

                    martin_hughes wrote:

                    Do IDE's promote bad design from the outset? You know, double click the button and start coding without thought to good design/proven techniques/patterns. In the one instance, it'd be great if the IDE enforced good design from the outset. Instead of merely wiring up a click event, it forced the user down a well know and proven route.

                    Actually, I was wondering if it would be more efficient to use command line build tools to enforce good coding standards. Since you're limited to managing a small subset of files at once, it forces you to keep your code compact and as manageable as possible. Perhaps using nant/msbuild, NUnit, and a good code generation engine would offset the need to use an IDE altogether (aside from the intellisense, and syntax highlighting, of course). What do you think?

                    martin_hughes wrote:

                    In the second, it begs the question whether or not these well known designs/proven techniques/patterns are any good or even appropriate to the given the problem at hand.

                    In this case, I think it's better to question the developer who uses the tool, and not the tool itself. You can easily create masterpieces if you know which tools are right for the job; in contrast, one could easily just as spaghetti code if you use the wrong tools. So the answer to your question really depends on how knowledgeable the developer is with whatever tool he/she is using for whatever problem is at hand.

                    Do you know...LinFu?

                    M Offline
                    M Offline
                    martin_hughes
                    wrote on last edited by
                    #9

                    Philip Laureano wrote:

                    Actually, I was wondering if it would be more efficient to use command line build tools to enforce good coding standards. Since you're limited to managing a small subset of files at once, it forces you to keep your code compact and as manageable as possible. Perhaps using nant/msbuild, NUnit, and a good code generation engine would offset the need to use an IDE altogether (aside from the intellisense, and syntax highlighting, of course).

                    More importantly, doing so forces the user to have a better understanding of what's really going on... rather than simply drawing buttons on a form and wiring up events and thinking "Hey, I'm a software developer!"

                    Philip Laureano wrote:

                    So the answer to your question really depends on how knowledgeable the developer is with whatever tool he/she is using for whatever problem is at hand.

                    Ratio of bad developers (I'm in this camp :) ) to good developers (you can go in this one!): 100000/1. And yet there's still all that code to write!

                    Top Secret Plan for World Domination

                    K 1 Reply Last reply
                    0
                    • R Rama Krishna Vavilala

                      You should start from basic asp.net. Request processing pipeline is a must to understand. After that toucan move straight to mvc. You don't need to learn about controls and page lifecycle in lot of detail. A basic knowledge is useful.

                      Proud to be a CPHog user

                      J Offline
                      J Offline
                      JHubSharp
                      wrote on last edited by
                      #10

                      +1. Web developers who do not understand the page lifecycle drive me nuts. Also, there are things you can do in ASP.NET that can't be done in MVC (yet)...though MVC is much better at forcing separation of logic. I think both are worth knowing, but I honestly prefer using the MVC pattern (or MVP, actually) in ASP.NET. I get the power of .NET when I need it and it forces me to have the discipline to keep things as separate as possible.

                      1 Reply Last reply
                      0
                      • K Kevin McFarlane

                        Just to throw a spanner in the works there's also the Web Client Software Factory from patterns and practices! You can even combine the two frameworks to an extent. As others have said you probably need to learn a bit of classic ASP.NET from scratch first.

                        Kevin

                        J Offline
                        J Offline
                        JHubSharp
                        wrote on last edited by
                        #11

                        My own personal pet peeve, but I hate WCSF. I thik it and its cousin WSSF create extremely bloated solution files that ultimately do not produce faster results and do too much hand-holding for the developer.

                        K 1 Reply Last reply
                        0
                        • J JHubSharp

                          My own personal pet peeve, but I hate WCSF. I thik it and its cousin WSSF create extremely bloated solution files that ultimately do not produce faster results and do too much hand-holding for the developer.

                          K Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #12

                          How does it compare with ASP.NET MVC? I've not used either of them although I did download WCSF a while back and have it sitting there gathering dust. :laugh:

                          Kevin

                          J 1 Reply Last reply
                          0
                          • M martin_hughes

                            Philip Laureano wrote:

                            Actually, I was wondering if it would be more efficient to use command line build tools to enforce good coding standards. Since you're limited to managing a small subset of files at once, it forces you to keep your code compact and as manageable as possible. Perhaps using nant/msbuild, NUnit, and a good code generation engine would offset the need to use an IDE altogether (aside from the intellisense, and syntax highlighting, of course).

                            More importantly, doing so forces the user to have a better understanding of what's really going on... rather than simply drawing buttons on a form and wiring up events and thinking "Hey, I'm a software developer!"

                            Philip Laureano wrote:

                            So the answer to your question really depends on how knowledgeable the developer is with whatever tool he/she is using for whatever problem is at hand.

                            Ratio of bad developers (I'm in this camp :) ) to good developers (you can go in this one!): 100000/1. And yet there's still all that code to write!

                            Top Secret Plan for World Domination

                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #13

                            martin_hughes wrote:

                            More importantly, doing so forces the user to have a better understanding of what's really going on... rather than simply drawing buttons on a form and wiring up events and thinking "Hey, I'm a software developer!"

                            My take on this is that designers, etc. are productivity tools. They're not substitutes for becoming a good developer. Once you learn what's going on without the tools why would you then continue without tools indefinitely? What purpose would it serve to, e.g., write all your WPF apps in raw XAML? It would be tedious, error-prone and expensive.

                            Kevin

                            M 1 Reply Last reply
                            0
                            • K Kevin McFarlane

                              martin_hughes wrote:

                              More importantly, doing so forces the user to have a better understanding of what's really going on... rather than simply drawing buttons on a form and wiring up events and thinking "Hey, I'm a software developer!"

                              My take on this is that designers, etc. are productivity tools. They're not substitutes for becoming a good developer. Once you learn what's going on without the tools why would you then continue without tools indefinitely? What purpose would it serve to, e.g., write all your WPF apps in raw XAML? It would be tedious, error-prone and expensive.

                              Kevin

                              M Offline
                              M Offline
                              martin_hughes
                              wrote on last edited by
                              #14

                              I agree, designers should be productivity tools... but for those who know how to do it the hard way! The problem I see is that a huge number of new developers know next to nothing about what goes on behind the scenes, and so are far less well equipped to actually understand how these things work. And yet... there is a clear need for people who are something else first and software developers second to write software, perhaps making use of intimate business knowledge or similar. To these people the actual plumbing and workings of compilers/patterns/objects/heaps/stacks and whatnot is secondary (or even tertiary) to solving the business problem at hand. In that respect the tools are not nearly good enough, as they should force good design on the "user" (let's call them users rather than developers)rather than leave them to their own devices.

                              Top Secret Plan for World Domination

                              1 Reply Last reply
                              0
                              • K Kevin McFarlane

                                How does it compare with ASP.NET MVC? I've not used either of them although I did download WCSF a while back and have it sitting there gathering dust. :laugh:

                                Kevin

                                J Offline
                                J Offline
                                JHubSharp
                                wrote on last edited by
                                #15

                                Well, it's not built like MVC. WCSF is still using the ASP.NET model, so I'd argue tht it's still pretty different from the MVC stuff that's in CTP/Beta at the moment (though to be fair I'm only familiar with MVC at a very high level). I didn't like WCSF becaue of its implementaton of PageFlow using WF (I think their implementation of PagFlow kind of sucks compared to what you can do with staright WF) and I don't ike having to create a project for every subfolder of your app...or was it every presenter? I forget, been about a year. I just thought it needlessly bloated the soluton forvery little benefit. It also confused the hell out of our junior devs, which seems to be the opposite of what a software factory should do. My 0.02.

                                K 1 Reply Last reply
                                0
                                • J JHubSharp

                                  Well, it's not built like MVC. WCSF is still using the ASP.NET model, so I'd argue tht it's still pretty different from the MVC stuff that's in CTP/Beta at the moment (though to be fair I'm only familiar with MVC at a very high level). I didn't like WCSF becaue of its implementaton of PageFlow using WF (I think their implementation of PagFlow kind of sucks compared to what you can do with staright WF) and I don't ike having to create a project for every subfolder of your app...or was it every presenter? I forget, been about a year. I just thought it needlessly bloated the soluton forvery little benefit. It also confused the hell out of our junior devs, which seems to be the opposite of what a software factory should do. My 0.02.

                                  K Offline
                                  K Offline
                                  Kevin McFarlane
                                  wrote on last edited by
                                  #16

                                  Hmmm. I wonder if it will fade away when ASP.NET MVC goes gold?

                                  Kevin

                                  1 Reply Last reply
                                  0
                                  • P Philip Laureano

                                    As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

                                    Do you know...LinFu?

                                    G Offline
                                    G Offline
                                    Gates VP
                                    wrote on last edited by
                                    #17

                                    OK, as the previous sub-thread discusses tool use, they've really hit on some of the big questions about these two technologies. Here is a http://www.hanselman.com/blog/CategoryView.aspx?category=ASP.NET+MVC[^]to Scott Hanselman's blog, with a category on MVC. There's a lot there, he and the many others still building MVC do quite a lot of blogging. That's worthy of note, MVC is still very new, in fact, they took feedback and went back to the drawing board like 4 times before its current version. So, on to the tough question. Why do you want to learn ASP.NET? For fun? For work? For a big project? Are you being paid? Here's my answer, YMMV. If you want to start small, you use ASP.NET. What it basically provides is a way to make Web Sites in the same basic ways you make Windows Apps. So if you drag a "button" control onto the web page canvas, it will create the relevant HTML, add the appropriate javascript and basically set you up with a working button in a matter of seconds. This is actually pretty cool, it abstracts a bunch of the Javascript! Honestly, you can build some pretty nice sites with little or no Javascript knowledge. Learn a little bit of CSS & HTML and you can make reasonable sites quickly with very little overhead. Use the AJAX libraries and you can make some pretty cool web apps very quickly. Here's the big caveat. As you dig deeper, the layer of abstraction breaks down. As the problems get more complex, you'll need to start learning Javascript, you'll need to know the dirty secrets of HTML and CSS. And I mean dirty, you'll look at stuff and say "Man, that's such a hack". We had a joke around the office that Javascript itself was basically "just a hack", but honestly, it works and it's quite powerful (just not always pretty :) But I'm not really answering your question ASP vs MVC. I'm getting there. You see, when I said that ASP.NET does some of the abstraction for you, well MVC actually takes away some of that abstraction! In fact, in some ways it resembles the much-maligned ASP classic. Why the "backwards change"? Well for one, it's easier to test. If you're building a web app with 20 other developers and 20 QA people, ASP.NET (no MVC) is kind of nightmarish to test. It doesn't really support unit tests, there's no clear separa

                                    1 Reply Last reply
                                    0
                                    • P Philip Laureano

                                      As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

                                      Do you know...LinFu?

                                      T Offline
                                      T Offline
                                      TNCaver
                                      wrote on last edited by
                                      #18

                                      Ambiguous acronyms drive me crazy. They make me feel and look stupid when I have to ask about them. Please, what is this particular MVC you're all talking about? Wikipedia says it can mean the Model-View-Controller architecture, a MIVA script file or an operation in the instruction set of IBM's System/360 mainframe computers. The topic is web design, so that rules out the latter (I hope!). But somehow what you are all describing doesn't seem to fit the first two wiki entries, either.

                                      1 Reply Last reply
                                      0
                                      • P Philip Laureano

                                        As a backend coder, I never really took the time to learn the frontend since I'm not really the artistic type, but now that I want to start writing web apps, I'm not sure which learning track I should follow when getting up to speed with web development. Should I start learning ASP.NET from scratch, or should I use the MVC to keep my code more simple? Which one is easier to learn in the shortest amount of time?

                                        Do you know...LinFu?

                                        K Offline
                                        K Offline
                                        kjmcsd
                                        wrote on last edited by
                                        #19

                                        It's funny to see people talking about the MVC design pattern like it came out just yesterday. I know it's been around over 10 years years! Also it's a design pattern. ASP.NET is a technology. How do they relate? The only reason people are talking about it now because of Microsoft Marketing. You can argue separation of concerns and all that crap. It would be hard pressed for anyone to justify the value in using MVC over other patterns. What question was actually confusing but I get what the person is asking. My answer learn both. Like someone mentioned before, when learning ASP.NET make sure you fully grasp the page lifecycle stuff. Very important.

                                        P 1 Reply Last reply
                                        0
                                        • K kjmcsd

                                          It's funny to see people talking about the MVC design pattern like it came out just yesterday. I know it's been around over 10 years years! Also it's a design pattern. ASP.NET is a technology. How do they relate? The only reason people are talking about it now because of Microsoft Marketing. You can argue separation of concerns and all that crap. It would be hard pressed for anyone to justify the value in using MVC over other patterns. What question was actually confusing but I get what the person is asking. My answer learn both. Like someone mentioned before, when learning ASP.NET make sure you fully grasp the page lifecycle stuff. Very important.

                                          P Offline
                                          P Offline
                                          Philip Laureano
                                          wrote on last edited by
                                          #20

                                          kjmcsd wrote:

                                          It's funny to see people talking about the MVC design pattern like it came out just yesterday. I know it's been around over 10 years years! Also it's a design pattern. ASP.NET is a technology. How do they relate?

                                          Sorry, I actually meant ASP.NET vs ASP.NET MVC--not the MVC pattern itself. AFAIK, the MVC pattern has been around since Smalltalk, so it's way older than just a single decade. In any case, you're right--I'll just have to start with the basics of ASP.NET, and work my way up.

                                          Do you know...LinFu?

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups