Having successfully completed initial projects with Microsoft Visual Studio .NET, customers and their development organizations have asked Microsoft for a roadmap so they can more effectively plan their future investments in Microsoft .NET-connected software. Customers are asking: Where will Microsoft be steering Visual Studio .NET and the Microsoft .NET Framework in future releases? What enhancements can they expect in the tools? More importantly, what changes should they anticipate as they invest time and money into development tools, practices and support, and the run-time infrastructure to support application deployments?
This document contains a summary of Microsoft's plan for Visual Studio .NET and the .NET Framework over the next two releases. Designed to assist customers in their planning process, it is not a comprehensive "feature dump," but more an overview of general themes and directionan explanation of the development issues that Microsoft is planning to help customers address in each successive release.
Microsoft has been in the tools business for over 25 years, beginning with its first product, Microsoft Basic, released in 1975. While tools have gained incredible power and capability in the last quarter century, Microsoft has remained singularly focused on its overarching objectiveto help developers be more productive as they build ever more powerful software that runs on Microsoft platforms. Whether it has been engineering software, GUI-building, connecting to databases and mainframes, or building up a set of tools and practices to support the enterprise life cycle, Microsoft's mission has been to provide high-quality tools to support the innovative work done by millions of professional software architects, developers, and testers.
Visual Studio, first shipped in 1997, was a significant achievement as a model for a set of tools at once easy to use for a broad range of developers, and powerful enough to handle the most complex development projects. With this beginning, Microsoft made a commitment to creating a developer tool suite which led to today's unified environment supporting multiple languages and multiple styles of development. The vision is to enable development teams to share in large-scale projects across the entire development life cycle, even when mixing components of various languages and using various deployment architectures such as the Internet, Microsoft Windows®, and, increasingly, mobile devices. Visual Studio .NET, with integrated support for the .NET Framework, now offers a broad and powerful tool that meets the demands of even the most sophisticated development teams, while still remaining accessible to productivity-oriented individual developers.
The February 2002 launch of Visual Studio .NET and the .NET Framework marked an important milestone in the history of software and developer tools. With enthusiastic support, software developers have lauded the productivity gains found in Visual Studio .NET, which have enabled them to decrease turn-around time for complex projects, saving significant time and money. Five different respected publications from PC Magazine to Software Development Magazine have awarded Visual Studio .NET and the .NET Framework top honors in their 2002 awards, reaffirming these products' leadership and innovation in addressing today's programming challenges.
It is from this unique history that we now look forward to the future plans for Visual Studio .NET.
Introducing: Visual Studio .NET "Everett"
One of the key drivers for the evolution of Microsoft development tools has always been to enable customers to get the most out of the Windows platform. With the arrival of the .NET Framework as an important addition to the Windows platform, developers needed a tool to address new platform capabilities: the new application integration model, XML Web services; the new distributed data model, Microsoft ADO.NET; new server-side application infrastructure, Microsoft ASP.NET; smart client Microsoft Windows Forms; mobile controls; and others. That tool is Visual Studio .NET.
Figure 1. Developer Tools Roadmap 20022004
As shown in Figure 1, the Developer Tools Roadmap 20022004, Microsoft plans to synchronize future tools releases with important Microsoft platform milestones. In the current product line, Visual Studio .NET tracks with the application server platform defined by Windows 2000 plus the .NET Framework, version 1.0. The next scheduled platform release is Windows .NET Server 2003, which, among other important enhancements, integrates the .NET Framework into the platform infrastructure, providing users with simplified deployment and highly dependable operations. Looking out a bit further, Microsoft SQL Server "Yukon" tightly integrates the .NET Framework common language runtime (CLR) with the database engine, and forms another important platform milestone.
Of course, many organizations do not adopt a new platform as soon as it is released. Instead, they carefully plan a successful migration, navigating numerous issues surrounding such an important investment. The "Everett" release is designed to address these enterprise considerations in three ways: a) incorporate feedback from early adopters to provide a mature and dependable platform; b) support the latest Windows platform enhancements in Windows .NET Server 2003 for organizations on the leading edge of deployment; and c) continue to support Windows 2000 and Windows XP for organizations who have successfully deployed these platforms.
Visual Studio "Everett" Enhancements
With the "Everett" release, Microsoft plans to offer a more highly refined version of Visual Studio .NET, synchronize with the release of Windows .NET Server 2003, and reach out to new users through its C++ and Java-language products. Visual Studio "Everett" will offer a "second look" at a highly productive and powerful tool, one that will continue to simplify development of small-, medium- and large-scale distributed applications. Visual Studio "Everett" will promote device development to first class status, broadening the accessibility of this new deployment option to millions of software developers.
"Everett" contains an updated version of the .NET Framework. The .NET Framework version 1.1 will build upon the .NET Framework version 1.0 with new capabilities, enhancements, and improvements to documentation. With the addition of the Microsoft ASP.NET Mobile Controls (formerly the Microsoft Mobile Internet Toolkit) and the Microsoft .NET Compact Framework, the .NET Framework version 1.1 will provide a unified programming model for building browser and smart client applications for mobile devices as well as for servers and PCs. Version 1.1 will also extend the security and deployment benefits of version 1.0. For example, systems administrators will be able to use code access security to lock down the permissions granted to ASP.NET Web applications and XML Web services, enabling more flexible, granular control along with a high degree of protection against malicious users. ADO.NET will gain additional connectivity in the form of the Microsoft .NET Framework Data Provider for ODBC and the
Microsoft .NET Framework Data Provider for Oracle.
Visual Studio "Everett" will fully support the .NET Framework version 1.1. Visual Studio "Everett" will provide full support for the .NET Compact Framework, bringing mobile and embedded devices such as the Pocket PC, as well as other devices powered by the Windows CE .NET operating system, to .NET. In Visual Studio "Everett", developers will be able to use the same programming model, development tools, and skills, to build applications that span from small devices to the data center. As the deployment target environment scales up, so too will the design experience, with design surfaces and coding support tuned for various client and server runtime environments.
One of the key goals for Visual Studio "Everett" is to promote device development to the status of first-class citizen within Visual Studio .NET. Previously development for smart devices required a separate toolkit, not integrated with Visual Studio. With the advent of Visual Studio "Everett," smart device development will be a fully-integrated development experience. All of the power of Visual Studio will be available to the smart device developer, including visual designers, reusable interface components, editing and project management tools, Microsoft IntelliSense® coding support, team development tools and other enterprise capabilities. Conversely, developers of traditional Windows- and Web-based applications will now have the ability to extend their existing skills to mobile development.
Many of the capabilities of Visual Studio with Smart Device Extensions (SDE), the tools for targeting .NET Compact Framework-based applications, have already been demonstrated to device developers around the world. Microsoft believes the popularity of this type of development will grow significantly. Full support for the .NET Compact Framework complements the ASP.NET Mobile Controls in addressing development for all types of device scenarios, smart client or browser-based.
Enterprise-scale organizations seeking reduced development and IT costs will also find enhanced value, as Visual Studio "Everett" builds on existing enterprise features to improve developer team productivity. Enterprise Templates, a feature of the current product, enable development teams to define and share architectural guidelines and best practices within the Visual Studio .NET integrated development environment (IDE), promoting better results with fewer resources. Also available now, the .NET Architecture Center on MSDN®, the Microsoft Developer Network, provides an end-to-end resource for customers to obtain best practices and architectural guidance from Microsoft. This site provides guidance spanning from high-level conceptual architecture for building loosely coupled distributed applications to implementation-specific best practices such as how to access data in a highly scalable way using ADO.NET. Ongoing updates in these areas will be focused on addressing the most important issues facing enterprise architects today.
In Visual Studio "Everett," a new technology will help enterprises become more productive and reduce both development and maintenance costs. The new Enterprise Instrumentation Framework (EIF) will address a key challenge in building distributed applications: enabling effective monitoring and troubleshooting in high-volume production environments. The EIF will offer a consistent, low-profile application programming interface (API) and configuration layer to unify existing event logging and tracing mechanisms built into Windows. This will enable developers to publish audits, errors, warnings, business events, and diagnostic events to be monitored and analyzed by support and operations teams. These existing and new developer features will help enterprise customers using Visual Studio .NET become even more productive while reducing deployment expenses.
Building further on support for enterprise architecture, Visual Studio "Everett" will also improve on capabilities around XML Web services. Tracking the important SOAP standard, the .NET Framework version 1.1 and Visual Studio "Everett" will continue support for SOAP 1.1. The Visual Studio .NET Add Web Reference dialog, used to locate and bind XML Web services from within the development environment, will gain additional capabilities and usability features. The new Web Services Development Kit will also add support for some of the latest advanced XML Web services specifications. The kit will include support for security, routing, referral, and other specifications, and will integrate with Visual Studio "Everett" so developers can add support for these specifications using the familiar attribute-based programming approach.
Broadening user appeal and language productivity will be a further goal of the Visual Studio "Everett" release, specifically with two additional groups of developers, C++ developers and Java-language developers.
In the case of C++, Visual Studio "Everett" is designed to appeal to the UNIX and Linux communities. Microsoft Visual C++® has been a preferred environment for writing and testing C++ code due to its first-class editing and debugging capabilities. However, the lack of code portability between Visual C++ and C++ compilers on other platforms has been a hindrance for many UNIX developers.
In Visual Studio "Everett" C++ developers will be pleased to find that the key metric for measuring code portability, ANSI/ISO compliance, will be significantly increased. The ANSI/ISO C++ standard is the generally accepted standard for the C++ language, and all C++ compiler vendors measure compatibility against this standard. In Visual Studio "Everett" Visual C++ will be in the upper 90-percent range for ANSI/ISO compatibility (and higher still in "Visual Studio for Yukon"), making it far easier for developers to build applications that target Windows and many UNIX variants. Microsoft expects many developers worldwide using C++ to see this development as an opportunity to try Visual C++ .NET.
For Java-language developers, Visual Studio "Everett" will include a number of capabilities to enable portability of skills and code to .NET. Previously available as a download, Microsoft Visual J# .NET will be included with Visual Studio "Everett," bringing all Microsoft programming languages into the IDE. Visual J# .NET is a Java-language tool that provides a familiar Java-language environment for building applications and XML Web services on the Microsoft .NET Framework. The Microsoft Java Language Conversion Assistant (JLCA), a wizard that converts Java source code to Microsoft Visual C# .NET code, will enable Java-language programmers to migrate their projects to .NET. With the inclusion of these tools, Microsoft offers Java-language developers a path to a platform with superior integration, XML Web services development, productivity, and cost benefits.
Full details of pricing and availability for Visual Studio "Everett" will be announced closer to product release. Active MSDN subscribers (Universal, Enterprise, or Professional levels) will be among the first to receive "Everett" as part of their active MSDN Subscription. For Visual Studio .NET 2002 customers who do not subscribe to MSDN or to a Microsoft volume licensing program, Microsoft is committed to providing an inexpensive path to "Everett." Registered users of Visual Studio .NET 2002 will be able to license "Everett" for $29 US, the cost of materials, shipping and handling, for a limited time after release. Availability will be roughly concurrent with Windows .NET Server 2003. For those customers who prefer not to upgrade to Visual Studio "Everett," a service pack offering only bug fixes for Visual Studio .NET 2002 will be available soon after the "Everett" release.
"Everett" will support Windows .NET Server 2003. Additional platforms supported will include Windows 2000 Server with the .NET Framework (version 1.0 or 1.1) and Windows 98 and later, for the deployment of smart client applications.
The Next Wave: "Visual Studio for Yukon"
The next major Microsoft platform release, as represented on the Developer Tools Roadmap 20022004, is SQL Server "Yukon." "Yukon" is the code name for the release of SQL Server that embeds the CLR, along with support for multiple programming languages, in the database engine itself. This means that software developers will now be able to use familiar languages such as Microsoft Visual Basic® .NET, Visual C# .NET, and Visual J# .NET to develop their SQL Server stored procedures, improving the flexibility and security of their applications. In order to achieve this, a major version of the .NET Framework, version 2.0, will be developed in parallel with a significant update to Visual Studio itself, "Visual Studio for Yukon."
The integration between .NET technologies, SQL Server and Microsoft development tools will represent a major enhancement to developer productivity. Developers will be able to leverage their mid-tier development skills easily on the data tier without changing the languages or techniques in which they code. Plus, with the enhancements to the graphical development environment in Visual Studio .NET and the tight integration with SQL Server "Yukon", developers will have an unparalleled ability to build applications (both Windows and Web applications) that integrate the most powerful development tool with the most powerful data management platform.
Microsoft will use the "Visual Studio for Yukon" release to make strides in all major dimensions of our tools vision, enabling users to continue advancing their own development capabilities. While it is too early to know specific features, here are some of the themes being used in the planning for "Visual Studio for Yukon":
- Tight integration and support for SQL Server. Visual Studio .NET, today, has very tight integration and features for customers building applications that use SQL Server. With "Visual Studio for Yukon," SQL Server and Visual Studio will be even more tightly integrated. SQL Server will host the CLR and developers can leverage their development skills whether they are building on the mid-tier or the data tier in their applications. "Visual Studio for Yukon" will deliver major advancements in the ease of use and graphical development environment when developing SQL Server applications.
- Extended support for XML Web services. Currently, companies are investigating, experimenting with, and deploying XML Web services as a means to significantly reduce application integration costs. In the "Visual Studio for Yukon" time frame, Microsoft believes today's successful results will lead to XML Web services becoming the core of the enterprise architecture. "Visual Studio for Yukon" will enable advanced capabilities for designing and orchestrating multiple XML Web services and integrating with a wide variety of other enterprise assets and deployment environments.
- Extended innovation on each of the four major Microsoft languages. Developers gravitate to the languages in Visual Studio for the unique roles they play: Visual Basic is the most productive, Visual C++ offers the greatest power and control, Visual C# advances the state-of-the-art in language capabilities, and Visual J# enables Java-language developers to build applications on the .NET Framework. In the "Visual Studio for Yukon" release, Microsoft will build on these roles and innovate in each of the four languages to deepen the synergies between tool and language.
- Improved IDE productivity and community support. Visual Studio .NET is the recognized leader in developer productivity. "Visual Studio for Yukon" will continue to innovate with many new and powerful capabilities that help developers express themselves more rapidly and with greater fidelity than ever before. Rapid Application Development (RAD) debugging, first available in Visual Basic, will be extended to Visual Basic .NET and other managed languages. A further effort will extend the IDE to a developer's specific community, bringing additional resources and support when the developer needs them.
- Office programmability. The tools and components within Microsoft Office® are widely used as a foundation for smart client application development, and "Visual Studio for Yukon" will seek to unify the programming experience between Visual Studio .NET and Office. "Visual Studio for Yukon" will deliver support in the Visual Studio IDE for Office development, while simultaneously continuing support for the popular VBA development approach. With "Visual Studio for Yukon" the full breadth of Microsoft Office will be available for the first time to developers using Visual Studio .NET.
The "Visual Studio for Yukon" release will represent a significant milestone. Following the "Yukon" wave, the next planned platform update is the Windows release code-named "Longhorn." A tools update, "Visual Studio for Longhorn," will support the managed interfaces, enhanced user interface features, and other new capabilities of the updated platform.
Over the course of this three year roadmap, Microsoft plans a steady stream of innovation in both tools and platforms, offering the businesses of today and tomorrow superior tools with which to meet their evolving business needs. Microsoft will continue its commitment to bringing people innovative, productive tools to help them take maximum advantage of the underlying platform, and achieve success while building powerful and effective software solutions.