Other Development Environments


As you've probably gathered by now, Web Matrix is the new kid on the block; it's only been around for a very short time, even when compared with ASP.NET, which itself is relatively young in comparison to many other ways of developing web applications (such as classic ASP and Perl). Obviously, there were other tools around before, both for developing on this platform, and for others such as those mentioned above. As the list of primary functions that a web-development environment has to perform is fairly short, we can compare Web Matrix to other development tools in general to see how it compares with the competition.

Limitations of Web Matrix

Web Matrix is a great product for many reasons – not least because it costs us nothing. The ease of use, range of features, and amount of support available for it all add up to a first-class development tool. There are limitations to the product, though. As you start to create larger-scale, and more complex applications than we've worked on through this book, there are tools and options available in other products that offer more support in development:

  • The application is only a 1.2MB download, and while this is great for our bandwidth, it does mean that a lot of the features available to other development environments are unavailable to Web Matrix. In contrast, Microsoft's Visual Studio .NET (Matrix's big brother) is several CDs in size, which means that a lot of different functionality has been added to Visual Studio .NET.

  • Web Matrix was developed by a small team of developers at Microsoft in their spare time, and while they're a talented team, it's not quite the same as a product that's been developed full-time, with a large budget, by a larger team. Also, Web Matrix is still a technology preview, and as such, it contains a few bugs.

  • Web Matrix has been designed as a way for individual developers to create individual web-pages quickly and simply. Other tools have been designed with teams of developers working together in mind.

Due to these factors, the following features that are often found in other products are not included:

  • Manuals and greater on-line help – Although the Community tab provides us with many links to useful resources, it isn't a replacement for good basic documentation that is integrated with the environment, or presented in a book. In other tools, it's often possible to simply select a piece of code, click a button, and have help displayed for it, making tracking information down much simpler.

  • Source-control – We all make mistakes that cause existing code to stop working when we're developing. The ability to undo such mistakes when they're finally detected is important, even if the file has been saved many times since. There are several tools, such as Microsoft's Visual Source Safe that integrate with other development environments, and allow code to be reverted to an old version at any time.

  • Application design – This isn't very important with the size of the sites that we've developed so far, but with bigger projects the ability to visually model how your system is going to work, and then have the environment take care of a lot of the work for you can be a God-send.

  • Deployment – Once an application has been created, it's important to be able to move it to another location so that it can be accessed by others, leaving you free to use your machine to develop your next masterpiece.

  • Modularization of applications – Similarly to source-control, this is not so important when we're creating small websites. When the application grows in size, it becomes increasingly important to be able to take existing bits of code and reuse them elsewhere in a site without physically copying the chunk of code and pasting it wherever it's needed. Also, we can split up applications into different sections to make it easier for teams of developers to work on them We'll look at this more later in the chapter, but you can think of it as being like linking to a JavaScript file so that its functions were available everywhere, as we did in Chapter 11.

  • Creation of Windows applications (as well as other types) – In addition to creating web applications, .NET caters for standard Windows applications to be created in a similar environment. Web Matrix itself is such an application that was written in .NET.

That is not to say that none of these features will ever make it into Web Matrix. Features such as the creation of Windows applications are obviously not a priority for a web development tool, but features such as deployment are a concern for all developers, as we'll see later in the chapter. For now though, if Web Matrix isn't king of the hill, what are our alternatives when we're creating applications in .NET?

If you're willing to spend a little more time getting to know an IDE (and a little money purchasing one!) then there are several alternatives available. There are few .NET development environments that offer many great advantages in functionality over Web Matrix, the main being Microsoft's own product major offering – Visual Studio .NET (www.microsoft.com/vstudio). However, if you prefer to write code rather than use WYSIWYG editors such as those in Web Matrix, then there are a number of options, most of which are listed on the following web-page:

 http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=49 

Visual Studio .NET

Visual Studio .NET (alternatively known as Visual Studio 7) has a long history, with certain previous versions being both praised and cursed. It is widely agreed that this latest version of this IDE, while keeping a lot of the features that have made it popular worldwide (IntelliSense for instance, which we explain in a little while), has also remedied a lot of the problems of earlier versions (such as poor deployment tools). Web Matrix borrows many aspects of development from Visual Studio .NET, including:

  • Drag-and-drop Design view

  • HTML and Code views for ASPX pages

  • Property panes for setting object attributes

  • Web service development

  • Integrated data designers

There are some features present in Web Matrix that are not found in Visual Studio .NET though, such as code-snippets and the built-in web server. Due to such constraints as time, money, and complexity, Web Matrix does not, however, include the following core features that are present in Visual Studio .NET:

  • Built-in Debugging of code – This allows you to execute one line of code at a time, and see where problems are occurring.

  • IntelliSense – When writing HTML or code, this presents the user with a drop down list of all of the options currently available, (available properties or methods of an object, for example) meaning developers have little to remember.

  • Improved database management – Visual Studio .NET provides many more features when it comes to managing any SQL Server or MSDE database, rather than just the ability to maintain tables and stored procedures as in Web Matrix's Data view. Among other things, this makes moving databases from one server to another far simpler.

  • Windows application development – The ability to create standard Windows programs, such as Web Matrix itself.

Visual Studio .NET comes in several different versions, all of which incorporate the features listed above. In its simplest form (the Standard edition), Visual Studio .NET can be purchased as individual language tools, such as Visual Basic .NET and Visual C# .NET. The next model up is Visual Studio .NET Professional edition, which allows us to create applications in both VB.NET and C#, as well as enabling many other features unavailable to the Standard editions of Visual Studio .NET. In addition to this, extra functionality is included with two further Enterprise editions. The differences between the versions can be summarized as follows:

Version

Features

Standard edition

  • Available as single language-only packages

  • Restricted functionality so that only certain types of application can be built (including web applications, windows applications, and command-line executable applications).

  • Restricted database functionality. Can only view existing database tables, views, stored procedures, and so on. Ability to create and delete using SQL statements only.

Professional edition

Has all the features of the Standard edition, plus:

  • Includes the ability to create database tables, stored procedures, views, and so on, using visual tools and wizards.

  • Can create a greater range of applications, including class libraries, custom control classes, windows services, and so on.

Enterprise Developer
edition

Has all of the features of the Professional edition, plus:

  • Includes SQL Server (licences only for test and development)

  • Backup and version control of code

  • Application Center Test software for performance testing, and so on

Enterprise Architect
edition

Has all of the features of Enterprise Developer edition, plus:

  • Graphical database and application modeling

While the Standard edition costs only $100 US Dollars or so, the Enterprise Architect edition retails for $2,500. On a large project, the extra cost of the development can usually be readily offset by the time savings its extra features offer. On smaller projects, this may not be the case, and these features may not be required at all, leaving the cheaper editions being far more cost-effective. The version of SQL Server that is included with the Enterprise versions does allow you to manage MSDE databases using the Enterprise Manager tool that's included with it, though, as well as integrating better database management into the Visual Studio IDE itself. This can lower the cost of developing a project considerably, as it means that development SQL licenses may not need to be purchased (though you will still need to purchase SQL Server licenses for deploying the applications if you intend to host them yourself).

To get a feel for Visual Studio .NET, the following is a screen shot from the Enterprise Architect edition:

click to expand

As you can see, not only does the environment list all of the options available for our DataGrid tag, it also underlines the cell attribute, to tell us that it's not valid (just like Microsoft Word underlines an invalid spelling), and gives us a list of tasks that need completing at the bottom of the screen. As well as including tasks that we define ourselves in this pane, it also includes lists of errors that the IDE has detected with our application that will need correcting before it functions correctly. Fixing these is known as debugging an application, as we saw in Chapter 7.




Beginning Dynamic Websites with ASP. NET Web Matrix
Beginning Dynamic Websites: with ASP.NET Web Matrix (Programmer to Programmer)
ISBN: 0764543741
EAN: 2147483647
Year: 2003
Pages: 141

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net