Introduction to Visual Studio.NET
In this tutorial we shall proceed with a brief Introduction to Visual Studio.NET and also discuss three Versions of Visual Studio.NET – The first version-VS.NET, VS.NET 2003, Visual Studio 2005 VS.NET 2005.
The fine lines of distinction between programming disciplines, has been blurred with the introduction of .NET framework. The functionalities encapsulated by the .NET class library, has created common programming interfaces which has impacted the process of development of applications greatly.
One of the major areas of change is in Web development. Prior to .NET, Web application programming was all about ASP. The script based technology had its own shortcomings and inefficiencies and the lessons derived from the experience resulted in the creation of the Web development technology named ASP.NET. Visual Studio.NET which includes ASP.NET, furthered the concept by making the code and the interface similar across various programming disciplines—such as web development and application development. This has eased the process of transition from application development to web development for the developer.
However, unlike application development, Web Development must take into consideration the fact that applications are to be designed to talk to one another over a network. The issues involved include performance and scalability across remotely connected systems. Considerations such as Messaging, Manipulation of user interface, security and handling of multiple users, identification and state assume importance in the context of the network. The evolution of Visual Studio.NET reflects the commitment of Microsoft to cater to the emerging needs of the developers using their products.
Visual Studio.NET Versions
Three versions of Visual Studio.NET have been released. Each version combines the best features of the previous one and extends the set of functions that make for ease of web application development.
The first version–VS.NET was targeted to desktop development. Developers used ASP.NET in conjunction with Web Matrix—which provided them with the WYSIWYG designers, with syntax colouring and different views of code but with support for pages with inline code.
VS.NET 2003 promoted the concept of ‘projects’ as central to application design. Basically a project was a XML file that linked together all other files and directories. All application development begins with the initiation of a new project. The project is then configured, new pages were added, web services, classes and controls are defined. Since the project is a one point of control and management of the application, a file has to be explicitly added to the project for it to be accessible within the project. It also implies that no page can be opened outside the project and even if opened and edited outside the project scope, ‘IntelliSense’ will not work. Moreover, when a page is no longer in use it has to be explicitly removed from the project to prevent garbage collection especially in an environment where hundreds of machines have to be synchronized.
Finally, actual testing and deployment of the application developed in VS.NET 2003 requires the installation of a Microsoft Internet Information Service (IIS) virtual directory –both on the development machine and on the server. It also requires a few other components such as Microsoft Frontpage server Extensions (FPSE) and does not support FTP, local file system or direct IIS access. The impact on application development though not explicit, is a constant irritant to the developer. The process of debugging the application is also complex and developers have to have administrative privileges to create new projects and corporate security policy has to be defined in detail.
Visual Studio 2005 integrates the best features of Web matrix and VS.NET and creates a container environment that provides for a simpler and friendlier way of developing Web Forms applications. It attempts to address all the shortcomings of Visual Studio.NET 2003. There is a designer for building Windows forms applications, a designer for building ASP.NET sites and one for building Web Services. It discards the project based approach and supports multiple ways to open websites. It supports Front page Server Extensions (FPSE) and also gives access to files through FTP or direct file system path. Local installations of IIS can be accessed and existing hierarchies of virtual directories can be browsed. Users can access virtual roots or create new ones. IIS is not strictly required for development work as VS.NET 2005 ships a local web server that makes IIS optional.
This local Web server is a revised version of Cassini(a mini web server which was earlier shipped with Web Matrix). The local web server can be used if a project is explicitly called from the existing IIS virtual directory. The different methods of opening a web page are available to the developer as soon as he attempts to do so. He can locate the project by using he file system path or using FTP or typing the URL. The IIS tab also provides him with controls to create new virtual roots and applications.
Visual Studio 2005 uses the dynamic engine of ASP.NET to compile code-behind classes. This ensures that any changes made to the .aspx files or .cs or .vb files are immediately captured. It can capture inline source code within the ASPX file and it offers a revised code-behind model called code-beside.
An impressive feature of this new version is the Copy Web site feature. It enables the user copy a web site to a local or remote location. This can be done by simply selecting a menu item.
Double clicking on an .aspx file in Windows Explorer invokes Visual Studio 2005 and allows the user edit the code. IntelliSense also goes into operation and works everywhere—including –within data binding expressions and page directives. The page can be seen in an embedded browser through the local web server.
The new editor inbuilt into VS.NET 2005 ensures that manually entered HTML code is not changed and custom formatting is not lost.
The Exchangeable validation engine helps check the validation code against standards of XHTML, while failures are automatically entered into the tasks list. Finally it is expected that in the final release the output of all server controls will be in XHTML.