I have read several ASP.NET 3.5 and 4.0 books that begin explaining a concept with something like "in classic ASP it would have been done like this."
Why do ASP.NET 4.0 books still refer to classic ASP? Are there really that many developers jumping from Classic ASP directly to ASP.NET 4.0 or is it just force of habit?
I would guess that the "latest" ASP.NET books are mostly just lightly-updated versions of books that first came out when ASP.NET was new. You're right, though, that's a pretty dated reference by now. It's like making fun of the Rolling Stones for being so old, when you should be making fun of the Smashing Pumpkins for being so old.
Programming web applications in classic ASP meant programming at much lower level, ie one needed to know more about the stateless nature of the web and the techniques to pass infromation between the server and the client. Having done a lot of asp work before moving to asp.net webforms made things easier to resolve when there were problems, now that MVC is around, knowing asp has become even more useful as it is less abstracted.
I suspect a lot of web developers using ASP.NET have come from a classic ASP background and its easier to compare/relate with as its also a Microsoft technology.
Alot of websites are still made in classic ASP. So yes I think a lot of developers migrate websites from ASP to ASP.NET. Also, many developers are used to ASP and perhaps somewhat new to ASP.NET and therefore it can be a good help to see the equivalent example in ASP.
Related
At the moment we're evaluating whether it's worth it to start using ASP.NET MVC in combination with Visual Studio 2010.
I've been searching the web for experiences developers have had with working with ASP.NET MVC. I can't seem to find any. So I decided to post a question here.
Are there any people out there that have used ASP.NET-MVC for serious development? What are the experiences so far? Does ASP.NET-MVC help or hinder projects? Do you deliver your project on time? Does ASP.NET-MVC save you time or does it make you go over time and over budget?
And then the big question: Now that you've been working with ASP.NET MVC for a while, do you wish you had chosen an alternative? If that's the case, which alternative?
Thanks,
M
StackOverflow itself is an ASP.NET MVC site and I would say it is pretty successful.
I think it depends more on the people doing the actual implementation of the site than on the technology used how 'successful' the end result will be (successful in the broadest sense: on time, within budget, happy end users, ...).
Asp.net mvc is a better then asp.net webform some reason are here
the logic code in asp.net MVC is maintainable and clean.
he provide a better performance then webform
provide a pretty url for SEO and user-friendly.
full control on mockup [without using server-side control].
if you want to see there are many example of MVC project. stackoverflow.com is one of them.
I am a big fan of ASP.NET MVC (especially with the great improvements done in MVC3). I have worked on two big sites built entirely in MVC2 SempToshiba Brazil and Cyrela Brasil. These projects have been quite sucessful. They were delivered on time, saved time and our clients were very happy. Lastly, no, I would not have chosen an alternative. A side note, the Cyrela project was actually a re-do of a ASP.NET Web Forms site that had various downsides.
On the other hand, I have seen a large project done in MVC 2 by inexperience programmers, and it is one the worse projects I have ever seen. So, over all, ASP.NET MVC has some major advantages, but if the team is inexperienced in ASP.NET MVC you will get poor results.
On another note, this post has some great ASP.NET MVC 3 material.
We are planning to start a new asp.net web based application in a few weeks. We have three members in our team all with experience in asp.net 2.0
We are jumping direct from asp.net 2.0 to 4.0 (skipping 3.5) and we were discussing, should we go for asp.net 4.0 webforms or should we learn/develop in asp.net MVC? However, we don't have any prior MVC experience.
If you guys think that MVC is the way to go then please recommend good books using C#.
As with all engineering decisions, it depends.
Is your timeline long enough that you can ride the learning curve? Is everyone OK with learning MVC, or are you going to get blowback? Does your team know and understand HTML and CSS? I know this seems like a silly question, but a lot of ASP.NET WebForms programmers get by without really understanding the concepts for quite some time.
Do you want to make pervasive use of Ajax and CSS? Does anyone know JQuery or one of the other JS frameworks and want to make the best of them? Is unit testing important to you?
If the answers to these questions are, in general, "yes", then I would recommend taking the plunge and going for ASP.NET MVC over WebForms. As far as a book goes, I'll leave that to others. I still have not found a book that I really like yet.
I know that I'm pretty much an exclusive ASP.NET MVC programmer for new projects going forward. IMO WebForms is a broken and outdated model. Viewstate is painful for developers and web services, and postbacks are painful for users.
If you are comfortable with and know Web Forms well, use those.
Generally, use the tool you are most comfortable with.
My suggestion is: if you are tight scheduled and development team is experienced with web forms 2.0, your choose should be web form. It is nothing so serious happend between 2.0 and 4.0 that you might loose competence. Web forms still web forms.
If you have month or so as buffer to get in into MVC, you should do that. It is more natural for web development, and what I like - more testable.
I'm personally not to quick to rewrite my applications on MVC 2.0, and even start new project with MVC.. Maybe I wait for 3.0 version :)
A lot of information is here:
http://www.asp.net/mvc
A also got sources of Mvs2inaction (please google for Mvc2inaction and be pointed to github site)
And sure you have to check Phil Haack blog.
(sorry could not post a lot of links yet))
As others have answered already about what to choose between Web Forms and MVC, if you have decided to go for MVC you can find book recommendation in following links -
https://stackoverflow.com/questions/1281726/good-asp-net-mvc-vb-books (Although the questions is about VB books but answers are for both)
https://stackoverflow.com/questions/1942068/best-resources-books-for-asp-net-mvc-framework-closed
Also I would like to recommend one new book which I have just started to read. This is good for understanding the concepts and compares Web Forms and MVC.
Programming Microsoft ASP.NET MVC - Dino Esposito
I'm very new to web development, have many years background on the desktop, but nothing on web, only html. I want to make a simple dynamic webpage for a product I've been working on by myself, but I don't know which of the two, MVC or WebForms, would be easier for me.
The lessons at asp.net didn't help me much, I took the "first step" tutorials for both MVC and WebForms, but I still don't see any significant difference.
What I ask for is an examplanation for a person, who's not professional at web development, or better yet, for a desktop programmer.
If you're used to the desktop, and WinForms or WPF in particular, go with webforms to more easily grok what's going on. The server controls will appear to keep their state, and it'll more a more natural progression. You'll find that the server controls do a lot of work for you, and you should be able to spin up an application using the knowledge from the WinForms world.
If you're used with desktop programming paradigms winforms should be a lot easier to learn.
If you want to go more into web-programming "as it should be" I'd personally advice you to learn MVC (anyway this is my personal opinion ;) ).
If it's a quick application with limited pages, take a look at webmatrix, that might get you up and running quickly. I'd also recommend you going for webforms if you're from a desktop environment as this was developed to mimic the event driven approach and tries to abstract the stateless form of the web.
It depends what tools you have at your disposal
The latest Visual studio has great templates and scaffolding wizards for MVC, the guts of your site will be created for you so you can focus on your product.
The world is moving away from web forms to MVC
- so the experience will also have more value on your resume (if that means anything to you)
Webmatrix or wordpress are also good options if it’s more web ‘site’ than a web ‘application’.
I am wanting to learn ASP.Net and am just a beginner. I have done some windows c# forms development before but have no experience of web development.
I have looked at the ASP.net website but beyond this, does anyone have any ideas as to good learning resources particulary in relation to the differences to windows development. For instance, It seems that the way events work is quite different under ASP to windows forms.
Thanks you all.
Thank you very much. I will have a look at MVC. It looks even more complicated but if this is the way things are going then I would be better maybe to invest my learning in this.
I would advise you at this stage in ASP.NETs life to instead direct your attention at ASP.NET-MVC. This url http://www.asp.net/mvc/ is a very good resource for learning.
ASP.NET Forms do a good job of hiding the nature of a connection-less HTTP/browser based technology and presenting a familiar Form with controls and lots of useful events environment that Windows Forms developers are used to.
However this approach comes with a price. For any serious project there is no avoiding getting under the hood of ASP.NET forms and properly understanding the underlying technology. At this point you start to realise the significant compromises the ASP.NET Forms has had to make in order to make Windows Forms developers feel at home.
ASP.NET-MVC, on the other, makes no such compromises. Learning MVC means learning how HTTP works up-front. It also has the advantage of being a much more test friendly approach which when used properly will save you days of debugging.
ASP.NET website - seriously, it's a really good resource.
I'd seriously consider starting with ASP.NET MVC. You'll end up learning what you need from ASP.NET "classic" but you'll pick up all the goodness of MVC (testability, seperation of concerns in your code etc) instead of learning bad habits.
Google for "ASP.NET MVC", check out ScottGu's blog, Scott Hanselmans's blog, or search StackOverflow for ASP.NET MVC (use the ASP.NET MVC tag too).
One good place to start...
http://weblogs.asp.net/scottgu/archive/2009/04/01/asp-net-mvc-1-0.aspx
I know they are a bit out of date, but I still think the two Fritz Onion books give a great look at what's happening in ASP.NET under the hood.
Some resources:
asp.net (as you mentioned)
channel9
scott hanselman's blog (some useful entries)
Windows Client Homepage
W3Schools Tutorials (Useful for more than just .NET, but this is the .NET page)
I've been a .NET Windows Forms (not Web forms) developer for 1 and a half years. Then I switched jobs and started using WebForms for like... 2 years. Then I discovered ASP.NET MVC (January 2008) and since then although I still master ASP.NET WebForms I will always prefer ASP.NET MVC.
My recommendation also goes into ASP.NET MVC. You will have to learn HTTP, HTML and a bit of Javascript but after these you will master web development on ALL PLATFORMS.
A great alternative to ASP.NET MVC is ASP.NET Web Pages with Razor syntax. In fact, the latest release of ASP.NET MVC and the latest release of ASP.NET Web Pages both use the same view engine.
Here is a link to the complete ASP.NET Web Pages book:
Getting Started with WebMatrix and ASP.NET Web Pages
Also, here is the complete WebMatrix Content Guide:
WebMatrix Content Guide
Here's the description:
WebMatrix is a free, lightweight set of web development tools that provides the easiest way to build websites. It includes IIS Express (a development web server), ASP.NET (a web framework), and SQL Server Compact (an embedded database). It also includes a simple tool that streamlines website development and makes it easy to start websites from popular open source apps. The skills and code you develop with WebMatrix transition seamlessly to Visual Studio and SQL Server.
I am an experienced .NET applications developer. All of my development experience has been with desktop apps with WinForms/WPF.
The last time I worked with ASP was back in 1998. A lot has changed with ASP.NET, and I realize this. I am wondering what is the best resource for ramping up quickly with ASP.NET and WebForms (not MVC). Any Suggestions?
I always recommend this site:
ASP .NET Learn
It's the official ASP .NET site, there you'll find really good videos that will help you to get up developing quickly in ASP .NET
The ASP.NET Page Life Cycle, must you know, padawan, if seek to master the web, you do
Personally I find that the best way is to start digging in, find either an existing project to enhance or start out building something. The best way for me anyway is to have a problem to solve, by doing this it makes life a lot easier. At least that is the way I learn new technologies.
There are many good reference/tutorial sites out there as well that could help you out a lot, such as 4GuysFromRolla.com.
HTML/CSS Tutorials
ASP.NET Quickstart Tutorial
Nice series of videos
.NET 3.5 Enhancements Training Kit RTM
ASP.NET Learn already mentioned.