Asp net atlanta
Inside Visual Studio .NET
At this year's Tech Ed 2001 conference in Atlanta, Bill Gates stood before a crowd of enthusiastic developers to talk about Microsoft's latest development environment. Visual Studio .NET—a cornerstone of the .NET platform—is more than just a development environment, though. VS.NET is built with the same technology that developers will use to create applications.
Of course, the big news revolved around the company's .NET platform. The .NET framework introduces features like a common language runtime that unifies programming and scripting languages while managing underlying code. The .NET framework also adds a new programming model for Windows programmers, adds compiled Active Server Pages (ASP), and introduces Web Services.
Thanks to the Common Language Runtime, VS.NET also provides C++, C#, and Visual Basic programmers with a common development environment. And JScript developers will find some limited support from VS.NET when creating ASP.NET and Web Services applications. XML developers will like the robust support for XML documents, XML schema, and XSL transformations.
The following pages tour some of the features you're likely to find in Visual Studio .NET. I should point out that I'm looking at Visual Studio .NET Beta 2 Professional Edition. An Enterprise edition of the Beta should be available by the time you read this.
Understanding .NET
The .NET framework is a multilanguage application execution environment that, in part, handles essential plumbing chores associated with Windows and Web application development. It provides an application execution environment that manages memory, addresses versioning issues, and improves the reliability, scalability, and security of your application. The .NET framework consists of several parts, including the Common Language Runtime as well as ASP.NET and a rich set of class libraries for building XML Web services. A quick look at the .NET architecture can be useful in understanding what Visual Studio can do.
At the core of .NET is the Common Language Runtime, which manages code execution and provides various services. That is, the C++, Visual Basic, C#, and (yes) JScript compilers expose the runtime's functionality. These exposed interfaces allow you to write code that runs in this managed execution environment. (Code that runs in this environment is called managed code.) The runtime handles features such as exception handling, security, version control, cross-language integration, component interaction, debugging, and profiling, as well as the details of memory management, such as creating objects and managing references.
Above the runtime is the base class library containing a collection of reusable classes that tightly integrate with the common language runtime. Classes here include support for ADO.NET, XML, SQL, security, multithreading, and more. The base class library also lets you access operating system services such as networking, threading, graphics, and cryptography. Above the base class library are two programming models. The first, ASP.NET, is the model used for creating Web-based applications. Among the many features ASP.NET introduces are compiled server pages, new server controls and Web services, and Web forms that separate script logic from presentation markup. For additional details, see the section below entitled ".NET for Web Developers."
The second programming model is Windows Forms. This model takes the VB 6 model of forms-based programming to all Windows developers. As a set of classes in the .NET framework, Windows Forms are a complete set of reusable types that simplify Windows GUI development. Thus, Windows Forms let you quickly create fully featured Windows applications complete with ActiveX controls, pop-up menus, access to .NET security features, and GUI components like push buttons, radio buttons, and check boxes. Through Windows Forms, your applications will also take advantage of ADO.NET for data access and the latest version of the Graphical Device Interface (GDI+), a printing framework that enables applications to produce comprehensive reports.
.NET For Web Developers
As with compiled server pages, Web forms are a definite step forward for ASP developers. A Web form may, in fact, be a collection of files, each of which performs a specific function. At its most basic level, however, a Web form is simply an ASP file with an aspx file extension. Indeed, the basic Web form looks just like a good old-fashioned Active Server Page.
Another important feature of the .NET framework is the data access class library, which employs the latest generation of ActiveX Data Objects, called ADO.NET. ActiveX Data Objects (like most components or objects) are simply black boxes that encapsulate specialized knowledge to connect to ODBC databases and OLE DB data sources. They also let you easily add features to navigate records, perform queries, and update data sources without extensive programming. They provide interfaces that let you perform all of these functions without needing the specialized knowledge required to perform the operations directly. As a Web application developer, all you have to do is drop an ADO object into your ASP page, specify a data source, and you begin communication with that data source. Data sources can be relational, Indexed Sequential Access Method (ISAM), or hierarchical databases. In fact, ADO can use virtually any data source as long as you have an ODBC-compliant driver.
Possibly the most hyped feature of .NET is Web services. A Web service is a component you create that encapsulates behavior and can perform specific tasks, like calculating an insurance premium or conducting a securities trade. As Microsoft puts it, Web services are self-describing modules that are URL-addressable. They can be combined to create larger applications, which can be anything from a simple process to a full-blown software product. These Web applications can be dynamically changed, creating new Web services. The big draw is that applications can be accessed through a network connection and invoked at runtime. Because applications call services only when needed, you get a sort of "just-in-time application integration." This can all be done without prior knowledge and (if it works correctly) without prior programming.
In the Cockpit
Considering that it's a Beta product, Visual Studio .NET is a breeze to set up. Running the installation takes you through three key steps: updating system components, installing the .NET framework, and adding Visual Studio .NET. If you opt for the complete installation, you'll get C++ along with its associated class libraries and tools, C#, and Visual Basic. You'll also get Crystal Reports, server components, and tools for redistributing applications.
When you load the environment, a browser-like window comes up, and you are taken to a Start Page containing links to online resources, updates, news, downloads, and more. The downloads link is especially useful, because it takes you directly to Microsoft's area on MSDN where you can grab the latest software, toolkits, source code examples, and reference implementations. A link to Web Hosting takes you to a page listing Web-hosting companies that support ASP.NET. As Microsoft puts it, "each company will provide you with an experimental test playground."
Another link lets you change your profile based on the type of development you're doing. For example, a Web developer can select a Visual InterDev profile, set the keyboard and window layouts to mimic Visual Studio 6, and set a help-file filter that screens out all but the documentation related to Internet Development.
As you can see in Figure 1, VS.NET also makes the most of screen real estate. First, you can place multiple windows on the screen, then use tabs to switch quickly between windows. You can also tack windows, such as property windows, on the screen or dock them off to the side. When you scroll over a docked window, it immediately slides onto the screen. This makes it easy to switch between navigation windows, toolbars, property inspectors, and the editor.
The environment is highly configurable. From the Tools menu, you can change general settings for the overall environment as well as set options on a per-language basis. That's useful if you find yourself switching between, say, Visual Basic and C#. In addition to controlling VS.NET's start-up behavior, you can customize the editors, set fonts and colors, and set up default locations for projects and solutions.
Features of the development environment are too numerous to mention. There are enhancements to the debugger and profiler, tools to support the new deployment model, source code control, and (whew!) a lot more. As a quick reference, the table in Figure 2 summarizes many of these new features.
Editing