Build 2014: Empowering Developers in a Cloud-First, Mobile-First World

@StevenGuggs and @JohnShew here…Last week we were on stage at Build sharing what we’ve learned over the last year through our conversations with developers.

If there is one message that has rung through loud and clear, it’s that when it comes to building applications and services – one size does not fit all – nor should it.  The kind of app you are building – social, gaming, enterprise, etc. – and the tools and technologies you use – native, managed, or web – have a cascading impact on a developer’s approach to building software.

While we are constantly listening and adjusting our thinking, right now we see developers focusing on three major approaches to software development – native development using technologies like C, C++, DX, and going down to the metal; managed development using technologies like .NET, WPF, embedding, etc.; and web development using technologies like HTML5, JavaScript, Cordova and so on. 

The Right Tools for the Right Job

Most developers are incredibly principled when they select among these approaches, as they build their software – talk to a .NET developer using WPF and they are clear on why this is right tool for their job, often the most sophisticated desktop LOB apps, which need to be deployed and remain stable for years.  Similarly web developers are principled in that many choose close conformance to industry standards so their solutions maximize reach.  And then there are developers who wring every ounce of capability of the hardware by handcrafting code around a particular networking stack or GPU.  Each of these different approaches are constructs of a need being filled – and each approach has led to successful applications and outcomes. 

To illustrate our commitment to these convictions, we constructed our entire keynote at Build around demos that showed off amazing work by developers, from across the industry.  We selected the specific demos shown at Build we because each one distilled down to an expression of a simple point:

Microsoft is committed to supporting developers in ways that developers value – because what is best for a developer, any developer, is what’s best for Microsoft. 

Developers building iOS apps on an Azure back end, like the team at Daring Fireball, exemplifies the commitment Microsoft is making to ensure that best in class tools and services are available across platforms. We think that this is great.  And this often surprises people.

Our Pillars

Simply put, we’re committed to enabling developers of all development approaches and are focusing our efforts around three key pillars designed to ensure developer success:

  1. Reuse your stuff – we are empowering developersto painlessly bring their existing investments and assets forward
  2. Easily build cloud and mobile first app experiences
  3. Do more, in less time – the tools and technologies we are building help developers maximize their business
    opportunities, across different platforms

Last year, when we talked about our work on a common core for Windows and Windows Phone, we committed to ensuring that these principles applied to the work we are doing for all developers.  We’ve made it our goal to achieve convergence across nearly 100% percent of our APIs – x86, x64, ARM, Windows, Embedded, Phone – with a vision of supporting Windows developers in writing their applications to run across all Windows devices, with minor UI accommodations. With the common core set to include Xbox One and IoT devices, as well as providing support for heterogeneous languages and programmatic modernization of old code, building for Windows is set to offer an impressive reach to line of code ratio.

What Developers Want = What We Want

But all of the above is just a minute portion of our work. With a huge group of developers out there who don’t know Microsoft, much less the value our technology can offer them, we know that we have work to do. When it comes to developers who target multiple platforms, whose success is measured by ability to get a job done as efficiently as possible, we’re here to keep pushing. We know that we have to embrace all developers, adding value on a developer’s terms, and come open and honest every day to be successful.   

Relevance today is giving developers what they want, not just what we want. So our approach is simple:

To create value for developers through a combination devices, services, and tools that can benefit all developers – irrespective of their language, application model, or platform preference.

We believe that we can provide developers with a fairly unique and powerful opportunity: to take their existing investments in code – whether HTML5, JavaScript, Python, PHP, .NET, C, and many more – and bring those assets forward to create the most powerful, modern experiences on Windows, Windows Phone, Microsoft Azure and even Xbox.  And, in many cases, on iOS and Android, as well (and this becomes more true every day, as a matter of fact).

And keep an eye on Johnshew’s blog where he will be posting more about what happened behind the scenes, as we pulled this all together.

We’re just getting started.