Reputation: 18649
What would be some compelling reasons to upgrade a web app from .NET 1.1 to .NET 3.5?
Upvotes: 8
Views: 3700
Reputation: 700
Edit and continue? Also generics and nullable types makes life a little easier!
Upvotes: 1
Reputation: 31
I think a really good reason is the provider frameworks set up in ASP.NET 2.0 and later. The ability to get whether a user is logged in or a list of roles that a user has without worrying about the underlying mechanism that's used to check those things is a big benefit.
Upvotes: 2
Reputation: 175563
The biggest difference is that you are moving to the .NET 2.0 CLR (This is the same CLr that the current .NET is running on).
This means you have an abundance of bugfixes, and CLR level Generics support. They rest of the changes are just changes to the foundation class libraries, and new languages features in the compilers.
Upvotes: 2
Reputation: 17002
There are a number of compelling reasons for upgrading to .NET 3.5. As others have pointed out, however, 3.5 is largely (if not wholly) nothing more than extensions to 2.0; however, 2.0 brings a large number of features to the table that make it well worth the move. That being said, in my mind, if you're going to make the move, it seems kind of silly to move to 2.0 and not just move to 3.5.
Extension methods alone are extraordinarily useful. I find myself using them far more frequently than I thought I would. Further, many of the newer features in 3.5 are based on them. Generics vastly simplify a great deal of our development; and, if you're coding in C#, automatic setters and getters are a boon. Lambda expressions are still relatively new for me, so I can't speak to them, but I understand that others find them particularly useful.
WPF presents a whole new way of writing applications, and I have used it. It shows great promise; unfortunately, it doesn't appear to be getting the wide adoption that I (personally) think it deserves yet. Hopefully, that'll change with time, but that will depend on whether or not Microsoft itself begins pushing it more aggressively.
As far as the Framework itself is concerned, I find that much functionality is improved or provided that was previously missing from 1.1; as it matures, the Framewok seems to be heading in a direction that requires us to write less code for those tasks that we commonly perform (such as directory services, FTP access, named pipes, and so on). The rough edges are getting smoother.
So, in short: moving to 3.5 would mean that your newer applications could be written with less code, and existing applications could be refactored to use less code (not that I'd recommend doing so solely for that purpose). 3.5 puts a wide array of productivity tools at your disposal; my personal opinion is that those tools alone make it well worth the leap forward.
But, like any business decision, you have to weigh all that against the state of your projects--and any potential defects that might arise when you port the codebase. My experience to date has been that we ran into a few snags, but not enough to bring the entire operation to a screeching halt. Nonetheless, with any migration, there is always the possibility that code will break; that has to be born in mind.
Upvotes: 3
Reputation: 57872
The question isn't 'whether you should',-- in terms of features and added compile-time checks; it's almost a given to get out of the 1.1 framework and into the 2.0 framework. The question is, how fast should you port? What would need to be changed?
Your first step would be to port your application to .NET 2.0. The reason is is that there are plenty of features in .NET 2.0 that didn't exist before, and previous features were deprecated. (In ASP.NET, there were a slew of features deprecated in 2.0).
.NET 2.0 allows for stronger type-safety, nullable types, and changes in the framework. 2.0 represents (what I would consider) the first 'real' release of the .NET platform. It is a serious contender, and you'll find that some of the framework stuff you use in 1.1 has been modified in 2.0.
It's not a simple 'port the code forward and get the benefits' scenario. If you want the benefits, you'll have to rewrite some code (most notably, things involving Generics); but even in the larger .NET framework, there are so many 'behind the scenes changes' that you'll want to port it incrementally: Don't make the jump directly from 1.1 - 3.5.
1.1 - 2.0
There are a slew of changes between .NET 2.0 and .NET 3.0. There was an entire paradigm shift. (Though admittedly it is a voluntary shift). Wikipedia has an entire section devoted to it, but I'll (some!) of the changes here:
.NET Framework changes
C# Changes:
More to come, obviously. Just the jump from 1.1 to 2.0 is worth an entire release cycle.
Upvotes: 19
Reputation: 18220
I've actually recently finished converting an entire code-base from .NET 1.1 to .NET 2.0. Take into account that .NET 3.5 is actually just sets of extensions for .NET 2.0, it's not a completely new base.
The difference is really quite substantial in many parts. To me, .NET 1.1 had not been "tamed" in any way whatsoever, and required an awful amount of code. Furthermore, VS 7 had to be used against .NET 1.1, so older tools were required.
For web apps a different web config was required as it exposes the .NET version which made it even messier. Don't get into the ".NET 3.5 has new features therefore I must move to it" motion, because you have to make the decision based on requirements, not on potential tool uses. As many-an-author rightly points out, there's a good chance you won't use half of the features that compose the entire framework.
I would recommend, on the other hand, to shift from .NET 1.1 to .NET 2.0 at least.
Upvotes: 4
Reputation: 3685
.net 1.1 is deprecated, not being further developed. i'm not sure about security issues. but in general, it's abandoned, and as of 2.0 microsoft ensures back-compatibility in newer versions which isn't the case to 1.1.
so if you have a chance to move - move. you get new language features, you get a framework being constantly built further and further. you get linq if you need it, silverlight support, generics of course, etc.
Upvotes: 8
Reputation: 124622
Generics, lambdas, LINQ, many others that I forgot about I'm sure.
Upvotes: 3