Subscribe to Windows IT Pro
May 01, 1997 12:00 AM

Visual Studio 97

Windows IT Pro
InstantDoc ID #566
Rating: (0)
Microsoft's first attempt at a tools suite that includes all its development tools

Visual Studio 97 (VS97) is Microsoft's first attempt at creating a tools suite that includes Microsoft's individual development tools. Just as sales of Microsoft Office have eclipsed those of its individual applications (e.g., Word and Excel), Microsoft expects Visual Studio to eventually have the majority share of the company's tools business. To help bring that development about, Microsoft is pricing VS97 very aggressively: Any developer with several individual tools will find upgrading to VS97 expedient and cost-effective.

Like the individual development tools, VS97 comes in both a Professional and an Enterprise edition. Table 1 lists the major component products. Of course, each component product includes several tools and add-ons. In some cases, this compilation of tools results in overlap. For instance, the Enterprise Edition of both Visual C++ 5.0 (VC++5) and Visual Basic 5.0 (VB5) ship with Microsoft Transaction Server (MTS) 1.0, and VB5 Enterprise Edition includes Visual SourceSafe 5.0. In other cases, the effect is a bewildering array of options, such as the many different methods for accessing back-end data via Open Database Connectivity (ODBC). Those who aren't already familiar with all the products in VS97 need to be aware that two tools--SQL Server and MTS--are Windows NT-specific and will not run under Windows 95.

Historically, multitool projects often took the form of a VB front end using third-party components to access a remote database. Today's typical Web applications, however, use a larger and more diverse set of tools. In a full-featured Web application, the client browser uses scripting, ActiveX controls, Java applets, and in-place-activated ActiveX documents (using both commercial servers and servers created in-house). The server also uses scripting and several component object model (COM)-based object servers, which MTS manages. These server components access back-end data using Active Data Objects. ADO encapsulates ODBC (and in the future, Object Linking and Embedding Database--OLEDB) data sources. On the client, you can use both VB and VC++ to create ActiveX controls and ActiveX documents. On the server, you can use VB5, VC++5, and Visual J++ 1.1 (VJ++1.1--and, for that matter, Visual FoxPro 5.0--VFP5) to create components. On both the client and the server, you can script in either VBScript or JavaScript.

Several tools in VS97--VC++5, VJ++1.1, Visual InterDev (VI), and Microsoft Developer Network (MSDN)--share the same IDE, Microsoft Developer Studio (DevStudio). Microsoft's tools suite packaging starts to really make sense in this environment. Screen 1, page 165, shows the tools' common look and feel. And because the latest version of DevStudio can contain several projects simultaneously, you can develop and debug in one workspace that hosts several projects built with different tools. Screen 2 shows that each workspace can contain a variety of project types; Screen 3 illustrates the files that make up one of the projects. Microsoft has also enhanced the DevStudio environment to include an exposed object model with integrated macro-language support in VBScript; this enhancement gives developers and independent software vendors complete programmatic control over the DevStudio environment.

Because everything coming out of Microsoft these days has to have some form of Web connectivity, DevStudio also provides several hyperlinks to Microsoft's Web site on the Help menu and built-in support for rendering HTML.

Actually, you don't have to upgrade to VS97 to work with multiple tools in a single workspace; tools hosted in DevStudio automatically have this capability. In fact, besides the features of its component products, VS97 as a product has little that's unique. One unique feature is a specially tailored version of MSDN that hosts the product documentation on one CD-ROM. The only other unique feature is a fairly comprehensive sample corporate benefits application that uses VB, VC++, VJ++, and client and server scripting.

Installation
Although an individual developer is unlikely to install all the VS97 products, a complete installation that includes all options could require as much as 1GB of disk space. A more typical installation is three or four products, which might consume 300MB to 400MB. Of course, VS97 shares some components (such as the development environment), but the individual product files, particularly the documentation, tend to dwarf the shared components.

The product documentation in VS97 takes three forms: the traditional Windows WinHelp files, the InfoViewer files used in Books Online documentation and in products such as MSDN, and resources available on the Web. The special version of MSDN that ships with VS97 includes the Books Online for all the applications and uses more than 300MB (not including some of the product documentation, such as VB5's). Typically MSDN offers a minimum installation option that lets you read the books from the CD-ROM.

The latest version of InfoViewer can now handle both regular and compressed HTML, so Microsoft is moving toward a system where updates available on the Web can refresh local documentation. Because you currently cannot merge these new documentation files with the old ones, in VS97 you must either replace the documentation completely (a potentially lengthy download) or add the new files as separate resources.

Products
Grasping the scope of VS97's many components can be difficult. Because the introduction of VS97 coincided with the release of new versions of most of its constituent products, product marketing materials with detailed feature descriptions have undoubtedly flooded your mailbox. Rather than give you tables of bulleted feature lists, I'll discuss each tool briefly, highlighting the major features that affect Internet development.

Visual Basic 5.0. VB5 is the latest version of Microsoft's popular tool for rapid applications development and thus is one of the cornerstone products in VS97. Version 5.0 has the substantially new and improved IDE shown in Screen 4 with many of the features of DevStudio (such as the ability to host multiple projects). But, unfortunately, VB5 is not integrated into DevStudio.

VB5's new native code compilation capability will probably generate the most press. But also new in VB5 is the ability to create ActiveX controls and Active document server applications. In addition, VB5 ships with several controls, such as the Internet Transfer control and WinSock control, that will make building applications that take advantage of Internet-based technologies much easier. VB5 also has several under-the-hood language improvements. Of these, my favorite is the new AddressOf operator, which you can use to furnish procedure addresses to external DLL functions that require traditional callback addresses. VB5 also lets you use the WithEvents keyword to raise events and catch them.

The Enterprise Edition of VB5 also includes several major new features: the Application Performance Explorer, a database Connection Designer, an interactive debugger for Transact-SQL (T-SQL), and the new Repository for managing projects. Although VB doesn't (yet) let developers manually create new threads in their applications, the Enterprise Edition lets components without any user interface create object thread pools and effectively gain the advantages of multithreading.

Compared with previous versions, VB5 is very complex. To deal with the increased complexity of the language and the large number of project types now available, Microsoft includes several wizards for generating starting frameworks for each component type. Unfortunately, these are write-once wizards that give almost no guidance and merely automate the process by creating myriad, somewhat obscure procedure prototypes.

Related Content:

ARTICLE TOOLS

Comments
  • Rick Strahl
    13 years ago
    Aug 13, 1999

    I just read Keith Pleas’ May article, “Visual Studio,” and I have to take exception to the opening statement about Visual FoxPro (VFP). The author states that “developers are unlikely to use VFP for any serious new development, particularly anything to do with the Internet.” I take this statement to mean that VFP is not capable of providing a powerful platform for building Internet applications. Far from it!

    I have been involved in three high-volume public Web applications, each receiving more than 450,000 back-end (VFP) hits a day, with more than 1.5 million total page requests on the Web servers. I know of at least 10 Web applications that are doing similar volume using all-VFP back ends.

    The data-centric applications I was involved with use VFP ActiveX Automation servers and an Internet Server API (ISAPI) interface to pool manage these Automation servers on local and remote machines for load balancing, and take advantage of Active Server Pages (ASP) for simple nondata page management. VFP’s object-oriented nature let us extend the business objects of standalone business applications and migrate them to the Web with a minimum of effort. VFP’s data-centric language is ideal for building complex business objects that access data both against local data at blazing speed and against remote SQL data sources.

    VFP plays extremely well as a component of Visual Studio (VS), and the author’s remark is out of line. Apparently, he read the press release without ever looking at the product for anything more than the sample app and Anomaly Tracking System (ATS). He didn’t treat the rest of VS much differently (except for VB—bias to be expected, right?).

    --Rick Strahl



    My statements about VFP ignited a firestorm of controversy (more than 400 messages so far) in the VFOX forum on CompuServe. Unfortunately, some people read “developers are unlikely to use” to mean “no developers will use,” and others read it to mean “developers should not use,” so I need to clarify.

    First, I was referring to developers in the magazine’s primary audience, which is in the corporate and enterprise category. In general, these large organizations do not currently use FoxPro (any edition) , and in my opinion, this situation is unlikely to change dramatically in the future. VFP is a strong product with a fast database engine, client/server and Internet functionality, and a powerful OOP model, but I don’t think anyone would seriously argue that VFP is going to enjoy a major resurgence as a corporate database or development tool.

    Should the large-enterprise developers use VFP? Yes, if they already have substantial Fox expertise, a legacy Fox code base, or want to use a specialized third-party product, such as Rick Strahl’s Web server database. Should large-enterprise developers make a substantial new investment in VFP? VFP is a great monolithic product for developing data-centric applications, but to answer this question, it’s helpful to look at its individual functional areas.

    When Microsoft purchased Fox Software, one thing MS received (in addition to a very knowledgeable and dedicated user base) was some highly regarded technology for working with indexed data. Since then, Microsoft has been working quickly to migrate that technology into its other products: both Remote Data Objects (RDO) and ActiveX Data Objects (ADO) were written by Fox developers. The Fox database format falls somewhere between Access on the low end and SQL Server on the high end and is being squeezed by both.

    Today, VFP is a cost-effective solution for less-than-enterprise databases, but with SQL Server soon to be available for the desktop, how long VFP will continue to be a viable database format is not clear. To many developers, the most compelling feature in VFP is its data-centric tools, but Microsoft’s new Visual Database Tools (which ship with Visual InterDev and the Enterprise Editions of VC++ and VB) clearly demonstrate that these capabilities are coming to an integrated environment that supports all of Microsoft’s strategic languages.

    What remains is the language engine. Although it has many powerful features (as I mentioned in my piece), I wouldn’t recommend it for organizations that want to make a long-term investment in code.

    --Keith Pleas

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.