So here I am sat in the dining hall area of the Moscone centre in San Francisco nearing the finish line of another Build conference.
As is always the case with being a Microsoft developer, its been a crazy rollercoaster of Microsoft's future vision as a company, some really cool tech all mixed in with with a dash of discovery and a few guessing games.
One of the biggest announcements made on Day 1 was that Windows 10 can now run apps that were originally written for Android/iOS/cocoa based devices.
With reasonably little effort, the code base can be reworked into a Visual Studio solution, be rebuilt and deployed to the Windows Store.
When hearing this and watching the demos on stage, a few things ran through my mind.
- Game over dudes, No point being a Windows Phone developer any more as clients will just hire an iOS/Android guy, target that platform and then port to WP after.
- The platform is literally running Uikit and the Android libraries directly on Windows - That's a herculean engineering feat that I am still struggling to comprehend it as I write this.
- All the stuff about Modern UI, Windows Phone look and feel etc will be gone as the platform will now run all three app types.
- At the end of the day, the normal users are going to win as Windows will run everything.
It's fair to say I spent the rest of day 1 with my head in my hands, posting passive aggressive tweets (sorry about that) with the other guys I'm here with saying that I was being no fun to hang out with.
Then I slept on it, felt a little bit better and hit the Day 2 keynote. Here they went through in a bit more detail how the code porting is going to work, but for existing windows developers the situation still looked a bit bleak.
Then the magic happened. I spent most of day 2 talking to as many people as I could about this, including few of the Microsoft guys who work within the Operating Systems division for a few hours over lunch, and the engineers working on these porting platforms. Here are a few bits which I think you will find interesting.
Sidebar - Obviously i'm just a random guy at the conference, please take all of this with a pinch of salt as i'm writing it from memory and it's 100% my interpretation. Stuff may be wrong and I would be mortified to hear that you are making any mission critical decisions of of it
- The Objective C / Java port essentially runs the apps in a virtualised environment and not everything is supported. Your basic data snacking apps will work but anything more funky will need a significant amount of rework or just won't work at all
- It's a like for like device port. An iOS/Android app can only be ported to Windows Phone and a Cocoa app can only be ported to Windows Desktop. That's it
- The preview is still a few months away, and even then, when it finally get's released, it's going to take a while to mature. There is plenty of time to react to this any maybe pick-up objective-C if you want to learn it.
- The idea behind this is to bring these other platform developers with existing codebases into the Windows game, let them see how cool it is and then hopefully invest in a more native solution. The idea is not to think of WP as an after thought (which is still the current thought process of many companies today)
- Existing Windows Developers now find themselves in a market that spans quite a few device types - Laptops, Phones, Tablets, Hololens, IoT etc, and Microsoft have even started touting a number of 1 billion devices over the next few years. I see this as how we will now market ourselves, as developers who can deliver awesome experiences across all these device families using the Universal app platform.
That's my 2 cents. Right now i'm feeling good about this and It's going to be interesting to see how it pans out.
To quote one of the guys I spoke to - "All we have done is just asked the bouncers to lighten up a bit and let a few more people into the party".