Getting the most out of Visual Studio
Building the next generation of Web sites with AJAX
Looking ahead to the future of Visual Studio
The name of this chapter should be "Getting Everything You Can from Visual Studio 2010, Now and in the Future." Since the release of Visual Studio 2008 in October 2007, Microsoft has released a ton of free add-ons that you can download from the Web.
You have many opportunities to extend Visual Studio, whether it be by using Microsoft add-ons or cool toys created by the community. This section lists a few of both and shares additional resources with you, including how to get hold of trial versions of development tools.
One of the best things about add-ons is that all you have to do to get them is download them. Some help you administer and troubleshoot development projects; others provide new tools for programming Vista and Office 2007.
Administrative and troubleshooting downloads available from Microsoft include the following:
Team Foundation Server (TFS) Admin Tool: As an administrator, add users to TFS through a single user interface (UI). Download the tool from
http://msdn2.microsoft.com/tfs2008
Web Application Installer Projects: Create a project to deploy your ASP.NET Web sites using a Windows Installer Package. Download from
http://wai.codeplex.com/
CSS Control Adapter Toolkit: Take control of the elements rendered by Web server controls, using Cascading Style Sheets (CSS). The toolkit lets you use CSS to override many server controls' default behavior of using <table>
tags to render themselves to the browser. Download the toolkit from
www.asp.net/cssadapters
If you're not that familiar with using CSS for Web-page layout, pick up a copy of CSS Web Design For Dummies, by Richard Mansfield (Wiley). The book goes way beyond your basic CSS styling and shows you how to create multicolumn Web pages without using HTML tables.
Developer Highway Code: Access and use an e-book that features guidance and security checklists for .NET 1.1, 2.0, 3.5, and 4.0. This PDF file covers writing secure code, brought to you by the Microsoft Patterns & Practices group. Download the e-book from
www.microsoft.com/uk/msdn/security/dev_highway.mspx
Spec# Programming System: Use the Spec# programming language to extend design-by-contract features to C#. Get more information at
http://research.microsoft.com/specsharp
The Team Foundation Server Admin Tool is part of the Visual Studio Power Toys, which are released under the Microsoft Shared Source initiative. You can read more about Shared Source and find additional downloads at
www.codeplex.com/PackInstaller
With the release of Windows 7 and Office, Microsoft made available several tools that target these newer programming models. Here are a few resources you should check out:
Extensions for Windows Workflow Foundation (WWF): Provide support for building applications that use WWF
WinFX Development Tools: Support building applications that target WinFX with Extensible Application Markup Language (XAML) support and project templates
.NET Framework version 4.0: Provides the libraries you need to target all the features of Windows Vista and Windows 7
Windows Software Development Kit: Includes documentation and samples that demonstrate the features of Windows Vista and Windows 7
You can find the latest version of these resources on the Windows Web site at
http://www.microsoft.com/windows/downloads/default.aspx
Many resources for programming Office 2007 are available at the Office Developer Center on MSDN. Some of these resources work with Visual Studio Professional 2010, and others require Visual Studio Tools for Office. Visit the Tools and Technologies page at
http://msdn.microsoft.com/en-us/vsto/default.aspx
Microsoft has a Web site where you can order several resources on DVD. The resources are free, although you do pay shipping and handling. The following resources are available for order at
http://msdn.microsoft.com/en-us/evalcenter/default.aspx
Team Foundation Server 180-day trial: Includes 180-day trial of SQL Server 2008 Enterprise Edition and Team Foundation Server.
SQL Server 2008 Enterprise Edition 180-day trial: Includes all of the features of SQL Server 2008 for you to evaluate.
Microsoft Developer Security Resource Kit: Includes articles, whitepapers, Webcasts, and code samples.
Microsoft Patterns & Practices (January 2006 release): Includes several patterns and practices guides, as well as the complete January 2006 release of the Enterprise Library.
Windows Mobile 5.0 Developer Resource Kit: Includes resources to get started developing applications that target Microsoft's mobile platform.
The kits are guided tours of the resources available for a given topic, conveniently available on DVD. In the meantime, you can download Software Development Kits for Windows SharePoint Services version 3.0 at
www.microsoft.com/downloads/details.aspx?familyid= 05E0DD12-8394-402B-8936-A07FE8AFAFFD&displaylang=en
You can find the SharePoint Server 2007 SDK at
www.microsoft.com/downloads/details.aspx?familyid= 6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en
Internet Information Services (IIS) 7 — the version of IIS — has integrated support for ASP.NET. IIS7 has its own dedicated Web site at www.iis.net
, where you'll find technical resources, articles, blogs, and other community resources. Write your own modules — using the .NET Framework to target the IIS application programming interface — or become more knowledgeable about how to configure and tweak IIS. The Downloads section features an IIS7 Managed Module Starter Kit for C# or C++.
Other fun items you may want to download from the community include
Spell checker for ASP.NET: Spell-checks the text you add to your ASP.NET Web pages. This was written by one of the developers on the Microsoft Web Development Tools Team in his spare time. In other words, the tool isn't supported by Microsoft. You can download the spell checker at
http://blogs.msdn.com/mikhailarkhipov
NDepend: Code analyzer that visually displays your source code's architecture and allows you to apply many code metrics against your source code. Download for free at
www.ndepend.com
MSBuild Community Tasks Project: An open source project that's building a library of common MSBuild tasks. You'll find just about everything you need to automate your nightly builds. Visit the project's Web site at
http://msbuildtasks.tigris.org
RSS Toolkit: Created by a member of the ASP.NET development team for consuming and publishing RSS feeds. Download the toolkit from
http://blogs.msdn.com/dmitryr/archive/2006/03/26/561200.aspx
Microsoft has embraced blogging. A blog (short for Web log) is a Web site where a blogger posts entries and visitors post comments on the blog entries. Here's a short list of blogs you may want to keep tabs on:
Web Development Tools Team Blog: These are the folks that develop Visual Web Developer. Read their blog at
http://blogs.msdn.com/webdevtools
S. "Soma" Somasegar's blog: Soma is the corporate vice president for the Microsoft Developer Division. His blog always features the latest news about Visual Studio 2010. Find his blog on MSDN at
http://blogs.msdn.com/somasegar
Developer Division Customer Product Lifecycle Experience Team (DDCPX) Team Blog: These are the folks responsible for bringing aftermarket solutions — such as the Visual Studio Power Toys and software development kits (SDKs) — to you. You'll need a login to access this blog. Sign in at
http://blogs.msdn.com
MSBuild Team Blog: MSBuild is the build engine for Visual Studio. Read the team blog at
http://blogs.msdn.com/msbuild
You can find more Microsoft blogs at
http://www.microsoft.com/communities/blogs/PortalHome.mspx
MSDN has created several developer centers that provide links to blogs, downloads, articles, and other resources of interest to developers. Some centers you may want to visit include
Security Developer Center: http://msdn.microsoft.com/security
Visual Studio Developer Center: http://msdn.microsoft.com/vstudio
Smart Client Developer Center: http://msdn.microsoft.com/smartclient
Office Developer Center: http://msdn.microsoft.com/office
You can find even more developer centers on MSDN at http://msdn.microsoft.com/developercenters
.
AJAX — Asynchronous JavaScript And XML — is a technology that allows developers to avoid traditional ASP.NET postbacks, in many cases, and provides a richer user experience with less delay. Developers use a combination of client-side JavaScript and server-side programming to create a Windows-like user experience. AJAX offers an important benefit: The browser and the server can communicate without a postback. From an end-user standpoint, that means no screen flash while the page refreshes. Popular Web sites using AJAX include
To get a feel for some of the things you can do with AJAX, go to the demos page at http://openrico.org
.
To get a feel for the underlying technologies of AJAX and what it takes to AJAX-ify your Web sites using technologies besides .NET, pick up a copy of Ajax For Dummies, by Steve Holzner (Wiley).
The technologies used in AJAX are nothing new. They've been around for a long time; only recently have folks applied the name AJAX to this style of programming. The technology that underlies AJAX is the object XMLHttpRequest
. This one object makes it possible to send data back and forth between the client and server without a page refresh.
Atlas is Microsoft's version of AJAX. It consists of
Client-side library: Atlas provides object-oriented access to the client-side features you would usually have to write in JavaScript. With Atlas, you can apply what you know about object-oriented programming in .NET without diving into JavaScript.
Server controls: Server-based controls similar to existing Web server controls, such as buttons and text boxes.
Atlas makes extensive use of Web services to provide the server-side features of the client-server interaction of AJAX. It's quite common for developers to wire up the elements of their user interfaces to Web services that provide data (such as specific items for a drop-down list). Of course, you aren't limited to consuming only Web services that you create. You can also use an Atlas-enabled Web page to connect to third-party Web services.
Web sites that use content from other sources are called mashups. Mashups often utilize several technologies, including Web services, RSS, and AJAX. Mashups are a driving force in the Web 2.0 movement. (The term often used to refer to the next generation of Web applications.)
Because the AJAX Toolkit is built into Visual Studio 2010, it no longer needs to be installed separately, like it did with Visual Studio 2005.
My guess is that this next-generation approach to development will allow developers to immerse themselves in modeling their business problem — and in generating code from that model — rather than getting stuck in a "code zone." Three development resources for a closer look are
The Microsoft Center for Software Excellence (www.microsoft.com/Windows/CSE
): A group in Microsoft Research focused on developer productivity at Microsoft.
Intentional Software (www.intentionalsoftware.com
): The company founded by Charles Simonyi to bring to market the next generation of software development. Simonyi is the man behind Microsoft Word and Excel. He also created the Hungarian notation-naming convention.
Software Factories (www.softwarefactories.com
): The idea of being able to mass-produce code from a model is being used now in Visual Studio Team System. Expect to see this concept trickle down to the individual developer in the future.
You can see how Visual Studio Team System is already using models to generate code in the next chapter of Book VII.
3.16.166.113