I read a comment to a thread on Scott Hanselman’s blog that said “The day Microsoft is writing Office, Media Player, Visual Studio totally in .NET is the day I would expect that Windows Forms are finally ready.” I wanted to talk about that and a few other misconceptions (as I see them).

When a company moves to a new development framework like .NET – I don’t expect anyone to immediately do so. You pick a new application, build it, see the ROI, the training time involved, and work from there. You select portions of applications that are being built and can be separated, and start there. We’re doing that her at Microsoft. Here’s a partial list of applications (internal and external) that use .NET. I’m not including things like Windows Server 2003 that included the framework; but I am including any applications that ship with it and are built on the framework.

Windows

  • Windows Server 2003 
    • .NET Framework required to use Sharepoint Team Services
    • .NET Framework required to use UDDI Services
  • Small Business Server 2003
    • Remote Web Workplace and the Backup Snap-in
  • Windows XP Tablet PC Edition –
    • Tablet API written in managed code
  • Windows XP Media Center Edition
    • Media Center applications written in managed code
  • Windows “Longhorn” – Managed API


Office

  • Frontpage 11 requires the .NET Framework for working with ASP.NET
  • Outlook Business Contact Manager – Majority of application is managed code
  • Office System – Sharepoint Portal Server 2.0
    • Requires .NET Framework 1.1, written in managed code


Server Products

  • SQL Server
    • “Yukon” will natively host .NET Framework 2.0, parts are written in managed code
  • SQL Server Reporting Services – Majority of application written in managed code
  • Exchange 2003 – Outlook Mobile Access is written in managed code using ASP.NET mobile controls
  • BizTalk 2004 - parts are written in managed code
  • Commerce Server 2002 - parts are written in managed code
  • Content Management Server 2002 - parts are written in managed code
  • MSN Messenger Server (Presence server and admin/config tools)
  • Microsoft Business Network written in managed code, requires .NET Framework 1.1
  • MS-CRM – parts are written in managed code
  • SharePoint Portal Server 2003 – Parts written in managed code
  • Speech Server 2004 – Parts written in managed code


Developer Tools

  • ASP.NET Web Matrix – Fully written in managed code
  • Visual Studio .NET 2002/3 - parts are written in managed code
  • .NET Framework 1.0/1.1 - parts are written in managed code
  • Assignment Manager - fully written in managed code


Web Properties


Internal applications

  • Account Explorer
  • HeadTrax
  • Consensus
  • MS Contract
  • eSupport
  • Enterprise Product Roadmap (EPR) Explorer
  • TSP Academy Virtual Instructor
  • Strategic Impact Report (SIR)
  • Country Manager Content
  • TANLink Contributor and Explorer (2 applications)

My point here is that we have made a bet across the company on managed code. We use it internally in our own IT systems, we are writing new applications with it, and we are continuing to do so.

A similar question often arises – which language does Microsoft use? The answer is yes. <g> Many of our applications were written in C++, and those developers now write applications in Managed C++ and C#. Much of our testing and many internal systems were written in VB6, and are now being written in VB.NET. The nice thing is that these can all interoperate, and you can use your knowledge in the other languages to move forward to the .NET versions.