Today is another exciting day at the Build 2013 conference in San Francisco. While I normally refrain from blogging multiple times in the same week, I’m breaking with my pattern in order to share several exciting announcements and highlights from this morning’s keynote address.
Office 365 and Cloud Business Apps
Business applications have long been a forte and a focus of Visual Studio, from the early days of Visual Basic to Windows Forms to ASP.NET to SharePoint tooling and beyond. Whether for business-to-business, business-to-employee, or business-to-consumer, software is at the heart of most every company in the modern era, and having great tools and services for creating and running business apps is critical to enabling enterprises to stay relevant and to get ahead of their competition. This trend has resulted in a widespread meme that “every company is a software company,” a sentiment in which I fully believe.
Business applications took center stage in today’s keynote. I’m particularly excited about one aspect of the keynote which provided an early glimpse into how Visual Studio will enable the next generation of line-of-business applications in the cloud.
A key goal of this solution is to enable developers to easily and productively construct and manage modern business applications, applications that run in the cloud, that are available to a myriad of devices, that aggregate data and services from in and out of an enterprise, that integrate user identities and social graphs, that are powered by a breadth of collaboration capabilities, and that continuously integrate with operations, adhering to the constraints many IT organizations in businesses need to employ.
These applications will extend the Office 365 experience, helping to automate business processes and the interactions of people, artifacts, and other systems. They’ll take advantage of the rich platform capabilities exposed by Windows Azure and Office 365, including pre-built functionality that will enable app authors to minimize boilerplate code and development time. They’ll support the creation of applications that can be integrated with or consumed from other applications in the enterprise. And they’ll integrate the application lifecycle management capabilities of Visual Studio, bridging the worlds of business app developer and IT operations. All of this functionality might normally entail thousands of lines of code, but the solution will encapsulate such capabilities, shielding the developer from needing to develop them manually. This includes easy integration with Team Foundation Service for continuous integration, and with SharePoint for its social and collaboration capabilities.
The sample app built during today’s keynote highlighted some of these capabilities, such as the pre-built notion of a Person or an Office document as a data type. These types bring with them huge swaths of functionality that light-up in the app automatically, such as presence information, contact cards, uploading documents to a document library, and opening documents in Office Web Apps.
For more information, I encourage you to watch this morning's keynote via Channel 9.
Another important aspect of today’s keynote at Build was the discussion of .NET. Hand-in-hand with Visual Studio, .NET has been a mainstay of business applications for over a decade. This isn’t a surprise: enterprise developers need technologies that allow them to be productive so as to quickly create robust applications aligned with their business’ needs. Small to medium business applications require runtimes, frameworks, libraries, and tools that handle an application’s plumbing so that the developer can focus just on delivering the core business value needed to enable the business. And for larger scale enterprises and applications, developers and IT handling mission critical systems need a platform that provides the scalability, performance, reliability, security, and flexibility necessary to handle the complex architectures involved.
In that vein, while .NET is a great environment for all manner of apps, in particular it ends up being a great solution for business applications. In conjunction with Visual Studio, it provides the power and flexibility necessary to address small and medium applications with great productivity, while also being able to target huge, complex enterprise-scale applications. Literally millions of developers have taken advantage of this to drive their companies forward and to build apps that run on desktops, mobile devices, servers, and the cloud.
Given the huge impact that .NET has for companies, including both the expertise and assets created while developing their applications, and given Microsoft’s recent focus on talking about the newest platforms and the increased openness of those platforms, it makes sense that many of you have been asking Microsoft about our commitment to .NET. So, let me be very clear: Microsoft is fully committed to helping you use .NET in your existing applications, as well as being fully committed to helping you extend those applications and building new ones to the emerging patterns users are demanding. This includes (but is certainly not limited to) your desktop applications and to your client/server applications running on-premises.
For client applications, .NET enables you to maintain, extend, evolve, and modernize your existing desktop experiences with Windows Forms or WPF, while also enabling you to create exciting experiences on new devices with the first-class support for .NET in Windows Store apps and Windows Phone apps. This provides you with a common development experience for all of these complementary environments while still applying your existing skills and even reusing code. Windows 8.1, Visual Studio 2013, and .NET 4.5.1 take this .NET experience even further, with new capabilities in both the platform and the tools to streamline the creation of Windows Store apps built with XAML and .NET. This includes enhancements for designing your apps (such as with new Blend features that make it easy to produce pixel-perfect layouts), for debugging your apps (such as with the new async debugging support in Visual Studio), for testing your apps (such as with the new coded UI support for Windows Store apps), and for optimizing these applications (such as with the new XAML UI Responsiveness and Energy Profiler tools).
For web applications, ASP.NET has been continuously evolving to meet the needs of modern web development. In conjunction with Visual Studio, it provides a productive, streamlined experience for creating and delivering rich HTML5-based web applications that reach any device. Today's keynote has an awesome demo of some of the really exciting improvements in the latest versions of ASP.NET and Visual Studio.
For back-end services, .NET continues to offer rock-solid robustness, scalability, security, and performance. With .NET as a premiere environment integrated with both Windows Server and Windows Azure, you can build private, public, or hybrid cloud-based applications and services, gradually extending your applications across private and public clouds while reusing your skills and code.
In short, .NET is a first-class programming environment on all Microsoft platforms, from the Windows desktop to the Windows Store to Windows Phone to Windows Server to Windows Azure, and we are committed to keeping it that way.
Beyond our commitment, we also hear your demand for guidance around how to evolve and modernize your existing .NET applications, as well as how to build new ones. For that, we’ve put together a comprehensive document which outlines our recommendations for how to move your applications forward, whether using .NET with WPF on the desktop to enable power users and power scenarios, or using .NET with XAML and WinRT in Windows Store or Windows Phone apps to enable modern, mobile device solutions, or using .NET with ASP.NET for web applications that reach across any device, either on-premises or in the cloud. You can find this material at https://aka.ms/nettech.
Internet Explorer Developer Tools
A key area of focus this release has been on IE11’s F12 Developer Tools (F12 tools), which have been significantly overhauled.
With common tools between Visual Studio and IE’s F12 tools, developers can easily move between their integrated development environment and a real-time debugging and tuning environment for their web content. In fact, the F12 tools are designed to help web developers get from problem to solution quickly, for debugging script, analyzing performance and memory, and fine-tuning visual appearance.
These tools are included as part of IE11, which is available as part of the Windows 8.1 Preview release made available yesterday. You can learn more about this work from Jonathan Carter’s Build talk “New Internet Explorer Developer Tools” and from Will Kennedy's Build talk “Inspecting & Debugging Using IE’s New F12 Developer Tools in IE”.
In light of today’s news that Windows Azure Mobile Services is now generally available, I want to again highlight one of my favorite features in this Visual Studio 2013 release: built-in support for Mobile Services.
Most applications developed today are connected in some fashion, requiring a back-end service to help drive the app, manage its data, generate push notifications, and generally house core logic and data for an app to be used from one or more front-ends. Visual Studio 2013 now includes a first-class development experience around Mobile Services, which enables you to create in minutes such a cloud back-end for your app.
The Visual Studio Server Explorer window now contains a node dedicated to Mobile Services, and from that node you’re able to create new services, set them up, write code for them, and save back your creations to Windows Azure. Right from within Visual Studio, you can create new Mobile Services:
You can manage them:
And you can edit them, using many of the comforts you’re already familiar with in the Visual Studio editor:
Windows Azure Mobile Services makes it simple to quickly and easily create back-ends for your mobile applications. In the context of business applications, Mobile Services is a particularly good way to back your business apps that target consumers, making it easy to share logic across front-ends for multiple devices.
Windows Azure, MSDN, and Dev/Test
I also want to highlight some of the major improvements we’ve made this month for doing dev/test with Windows Azure, as these features are particularly useful in the realm of businesses and in enabling business apps.
Scott Guthrie’s blog post does a good job of providing details on these improvements, so I encourage you to read his post to learn more. Improvements include no charges for stopped Virtual Machines, billing support for paying by the minute rather than by the hour, and significant improvements for MSDN Subscribers. These MSDN improvements include MSDN Use Rights support on Azure, heavily discounted MSDN dev/test rates, and MSDN monthly monetary credits that can be used to run any Windows Azure resource for dev/test purposes.
All of these combine to make Windows Azure an even better place for doing dev/test, whether you want to subsequently run your production applications in the cloud or on-premises. And for those of you who want to quickly get started trying out Visual Studio 2013 Preview, you can do so using your MSDN Subscription and a new Windows Azure virtual machine image that’s been preconfigured with Visual Studio Ultimate 2013 Preview:
Follow me on Twitter at https://twitter.com/ssomasegar.