| By William A. Sempf | Article Rating: |
|
| January 1, 2000 12:00 AM EST | Reads: |
1,447 |
In February of this year, Microsoft changed up everything for the first time in ten years. With the launch of Visual Studio .NET and the .NET Framework, Microsoft drastically altered the way developers in the average environment did their job.
Few of us are terribly willing to launch a major development effort in a Version 1.0 environment. Though the .NET Framework has been in development for four years, and it is one of the most fully tested development efforts Microsoft has ever performed, most developers have just been burnt too many times.
Why a new version?
And that is why we now are looking Everett, or Visual Studio .NET 2003. Without missing a beat, Microsoft has gathered real-world debugging data and feedback from users, plus the new standards coming out and features that didn't make it into 1.0, and generated a 1.1 version of both Visual Studio and the related Base Class Libraries.
I have been testing Everett for the last few days, and frankly it is a lot better than v.1. Let's walk through a few of the new features on the environment and libraries, and take a real-world view on their impact on our lives as developers.
.NET Server integration
The purported reason for the revision of Visual Studio .NET is the launch of Microsoft Windows .NET Server 2003. This is not an article on the .NET Server, so I won't go into to much detail. Nonetheless, some of the new development features may change the way you are architecting new applications.
Specifically, .NET Server will be the first operating system that is built from the ground up with the CLR baked in. Therefore, .NET applications - Windows Services, ASP.NET and beyond - are the norm. Also, IIS 6.0 is installed, and ASP.NET 1.1 makes use of the new features of that service. Finally, .NET Server heavily supports XML Web services - serving and consuming, as well as the new Global XML Architecture standard. Everett should support this with new APIs in the Microsoft.WSDK namespace.
Support for Devices
Two major new features will be baked into Everett for the support of mobile devices. The first is formerly known as the Microsoft Mobile Internet Toolkit, and is now the ASP.NET Mobile Controls. This has changed little, but it is now just another part of ASP.NET, is much easier to implement and requires no separate download.
The second of these is the Compact Framework, a version of the CLR that supports mobile devices for integrated application development. The Compact Framework is to ASP.NET Mobile Controls what Windows Forms are to ASP.NET. They are the compiled application of the mobile world, and they are fully integrated with Visual Studio .NET 1.1.
Revisions of the BCL
The CLR, ASP.NET and ADO.NET have all been updated with the advent of Everett and .NET Server 2003. There aren't many new features. Most of the changes to the base class libraries are in the plumbing, just "making things right." There are a few exceptions we should discuss.
The CLR obviously now includes the Compact Framework, as we discussed above. Code Access Security will make development of method-level secure code possible in managed applications.
ASP.NET 1.1 has significant improvements in security and performance. Caching is integrated with IIS, dramatically improving performance. Also, the security changes that were implemented in the first .NET Service Pack have been optimized. Now intranet applications with executables run in a tightly controlled sandbox, rather that being totally locked out. This provides developers with some leniency to write unsigned components within some constraints. The Mobile Internet Toolkit has also been integrated, and is now just the ASP.NET Mobile Controls.
In the Data world, ADO.NET has seen most of the cleaning under the covers. There have been several additional libraries written in the time since the 1.0 launch, including the Microsoft .NET Framework Data Provider for ODBC and the Microsoft .NET Framework Data Provider for Oracle. These are baked into the ADO.NET 1.1 release.
C++ ANSI support, and Java!
Those of us using C++.NET have the benefit of improved ANSI compliance. This is the C equivalent of "Write once, run anywhere," and Microsoft doesn't have much of a good reputation in that environment. As it turns out, this was a priority of the C++.NET team, and thought I am not a C programmer, I hear it is really much improved.
J# is the Microsoft-approved way to write Java code against the .NET Framework. Now, let's be clear, this does not use the JVM. This uses the CLR, and supports it using Java grammar, just like we aren't writing in VB when we use VB.NET, we are just writing using VB grammar.
For those who just want to move a Java project to .NET without worrying about using J#, we have the Microsoft Java Language Conversion Assistant. This produces a C# equivalent project from a Java-language project, ready to compile within Visual Studio .NET. This product is baked into Everett as well.
IPv6 Support
Internet Protocol version 6 is the next generation of the Internet name / number protocol, as designed by the IETF. This is for real, not another Microsoft-invented 'standard' - the IETF is the same organization that has built Internet protocols since v.1. IPv6 is a large new feature of .NET Server, and Everett is a .NET Server development package, so it all makes sense.
IPv4, the current protocol, is nearly 20 years old, and has basically run out of addresses. IPv6 improves this, as well as fixing problems with routing, and adding a number of auto configuration features. IPv6 is happening under our nose now, and anyone writing network applications should keep their eye on it. More information can be found at www.ipv6.org.
Microsoft Windows Server .NET has included support for IPv6. When building applications using Visual Studio, for instance, the support for IPv6 is invisible to the programmer and the user under most circumstances.
Productivity improvements
The Enterprise Infrastructure Framework will give CIOs of large-scale organizations something to play with. This provides low-level tracing and debugging structures to programmers in VS.NET through APIs built into the CLR.
Outside of the IDE, but still important, is the .NET Architecture Center, which is a collection of best practices deployed to the public as part of the Patterns and Practices practice at Microsoft. This is available at http://msdn.microsoft.com/architecture.
Conclusion
Microsoft has changed up the development environment for those of us writing for Windows machines, that much is certain. The strategy of versioning the IDE and all of the BCL at once, to reduce inconsistency, makes this version of the tools quite usable, and the features are remarkable in their quality and usefulness. When the public beta of Everett is available, I recommend that developers check it out - you won't be disappointed.
Published January 1, 2000 Reads 1,447
Copyright © 2000 Ulitzer, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By William A. Sempf
Hi, my name is Bill Sempf, and I am an enterprise architect. Though I used to hate the term enterprise architect, it is clearly the only thing out there that defines what it is that I do. My breadth of experience includes business and technical analysis, software design, development, testing, server management and maintenance and security. In my 17 years of professional experience I have participated in the creation of well over 200 applications for large and small companies, managed the software infrastructure of two Internet service providers, coded complex software happily in every environment imaginable, and made mainframes talk to cell phones. In short, I make the technology that people are using every play nicely together.
- The Economics of Cloud Computing
- The Dollars and Sense of Cloud Computing
- Shameless Self Promotion
- Everett : the Next Visual Studio .NET
- Economics of Cloud Computing
- Economics of Cloud compuuting presentation for the ACM
- Live blogging a XAML project with CodePlex
- My Visual Studio 2010 presentation for ICC
- Defcon Recap
- Cloudcamp Columbus
- Coding for patterns
- Live blogging a XAML project with CodePlex - handling failure






























Ulitzer content is offered under Creative Commons "Attribution Non-Commercial No Derivatives" License.
For any reuse or distribution, you must make clear to others the license terms of this work.
The best way to do this is with a link to this web page.
Any of the above conditions can be waived if you get written permission from Ulitzer, Inc., the copyright holder.
Nothing in this license impairs or restricts the author's moral rights.