When it comes to software development, there are two very distinct camps on the subject of tools: those who prefer to keep it simple with just a text editor and a compiler, and then those who go straight for a fully-featured IDE with all the bells and whistles. For more than a decade, the undisputed champion of IDEs is Microsoft with its assorted versions of Visual Studio. Having come from years of work on Visual Studio, nothing pained me more than the first (several) times I started up Eclipse. While Android Studio goes a long way towards a streamlined development experience, it still lacks much of the fit and finish of Visual Studio. Fortunately, Microsoft has finally decided to expand the reach of its development tools and begin targeting the world's most widely used mobile OS.

7536.clip_image006_7612EAE2

The announcement came earlier today at Microsoft's Connect() developer conference in New York City. Support for Android will be a part of Visual Studio 2015, available now as a Preview release (download link). The toolchain supports the Clang compiler and LLVM optimizations. Alongside the IDE is a brand new emulator, designed to run much faster than Google's stock emulator and other 3rd-party alternatives. It uses a custom x86 build of AOSP, but it has also been optimized for Microsoft's Hyper-V virtualization platform to achieve the best efficiency. Check out the video below to see a demonstration of the emulator fully booting in a matter of seconds.

Performance isn't the only trick up Microsoft's sleeve, the emulator also supports a number of sensor simulators for the accelerometer, GPS (including route traversal), and even a live battery slider. The emulator also supports attachment via ADB, meaning you can still use familiar commands, tools, and even other IDEs. They've even added a neat trick: you can install apks with drag and drop.

So far, the emulator only supports KitKat 4.4.4. Support for additional versions is already in the works, but it's unclear when the list will be expanded, and to which versions.

2014-11-12_12h56_42

There are a few limitations, and a couple of them aren't exactly trivial. To begin with, there's also no support for Google Play services (GMS). The wording of the blog post reads, "... we do not include the GMS packages (which require additional licensing that we do not have yet)." Perhaps I'm reading too far into it, but it does sound a bit like Microsoft is at least seeking the necessary licensing, something that would set it as a significant contender with other 3rd-party emulators. Since it's an x86 image, apps must be compiled to run on that architecture. This is usually only relevant to apps built on the Native Development Kit (NDK), but it's usually not much of a problem anymore. Finally, the emulator relies on Hyper-V. This basically limits its use to Windows 8 Pro and certain editions of Windows Server 2008 and 2012.

There are a few implications from Microsoft bringing support for Android to its flagship development tools. To begin with, it puts much more competitive pressure on existing IDEs, which may force everybody to work harder to keep up. Additionally, this will give existing developers from Microsoft's ecosystem a much easier path to join the Android development community if they don't have to abandon their preferred tools.

As an aside, iOS support is planned in an upcoming release, but the implementation isn't complete yet. Microsoft also announced plans to expand support of the .Net Framework to Mac OS X and Linux, and further committed to open source the .Net Framework and release it on GitHub in the near future. No matter how you shake it, this is pretty neat.

Update: The currently supported methods for building Android apps in Visual Studio include: Visual C++, C# via Xamarin (the company responsible for the cross-platform Mono framework, and the obviously relevant Mono for Android libraries), and HTML5-based apps via Apache Cordova. (Sorry, it took forever to install the preview to check these details for myself.) Note: this means that Java is not currently a supported language, and it probably won't be added.

The Preview release of Visual Studio 2015 is freely available from Microsoft. There are still plenty of bugs and missing features, so you probably shouldn't try to start a serious Android project with it yet. However, for quick experiments and messing around, it's worth checking out. I'm already excited for a final release next year.

Thanks, David Poole

Source: MSDN Blog