Great news for open source developers at Build this week

What an exciting day for developers today at Build!

From the keynote this morning to the many technical sessions throughout the day, there have been announcements of numerous new tools, services and products from Microsoft that will build bridges for developers to Microsoft platforms to help you build new and great things.

The MS Open Tech team has been thrilled to contribute to many of these initiatives, and this blog post covers some highlights of what’s shipping this week and where you can find the tools you need to start building. We have lots of great news for open source developers working with Office 365, as well as updates to open source tools and technologies across several other areas.

New and improved open source tools for Office 365 developers

Over the past few days, we have published new and updated libraries for Office 365 APIs and services that developers can use with their iOS, Android, and Cordova cross-platform solutions, including:

· New preview iOS and Android libraries for OneNote and the Unified Office 365 API

o Android repo: https://github.com/OfficeDev/Office-365-SDK-for-Android

o iOS repo: https://github.com/OfficeDev/Office-365-SDK-for-iOS

· Updated Android and iOS SDKs for Outlook, Files and AAD Graph, which build on the iOS and Android SDKs released last year. To learn more, see these examples of how to perform common tasks, follow these links:

o Android common tasks: https://github.com/OfficeDev/O365-Android-Snippets

o iOS common tasks: https://github.com/OfficeDev/O365-iOS-Snippets

In addition to shipping new tools and updates, we have also taken feedback from the community to make some useful enhancements that increase developer productivity, as part of our ongoing efforts to build and evolve foundation cross-platform libraries for Office APIs. A few examples:

· Simplified authentication with Azure Active Directory

o Android authentication sample: https://github.com/OfficeDev/O365-Android-Connect

o iOS authentication sample: https://github.com/OfficeDev/O365-iOS-Connect

· Integrated Live Authentication for the new OneNote library

· Additional features added to the core client, including support for streamed file downloads, multipart media entities, and $search and $count query parameters.

See the Office team blogs [http://blogs.office.com/] for more the latest information and news for Office 365 developers at Build.

Cross-Platform with Cordova

In addition to the SDKs for iOS and Android developers mentioned above, new plugins released this week for Cordova developers enable cross-platform developers to write a single code base that works with Office 365 APIs across Windows phones, tablets and PCs as well as Android and iOS devices. New plugins for Files, Outlook, AAD Graph, and Azure AD Authentication (ADAL) are accessible via Cordova’s new NPM support introduced in Cordova 5.0.0 (released last week), as well as the Cordova plugin registry:

· cordova-plugin-ms-adal (NPM package / Cordova plugin / open source repo on GitHub)

· cordova-plugin-ms-aad-graph (NPM package / Cordova plugin / open source repo on GitHub)

· cordova-plugin-ms-outlook (NPM package / Cordova plugin / open source repo on GitHub)

· cordova-plugin-ms-files (NPM package / Cordova plugin / open source repo on GitHub)

See the AzureADSamples repo on GitHub for great examples of how to use these plugins for cross-platform native apps built with Cordova:

· How to build a Cordova app for managing Azure AD: https://github.com/AzureADSamples/NativeClient-GraphAPI-Cordova

· How to authenticate a Cordova app with Azure AD: https://github.com/AzureADSamples/NativeClient-MultiTarget-Cordova

Updates for Java, Android, JavaScript, Cocos-2d-x and OpenCV developers

A few other highlights for cross-platform and open source developers include an update to the MS Open Tech Android and IntelliJ Tools plugin, new Windows 10 UAP support for Cocos2d-x, and continued work on OpenCV to support Windows 10 and Visual Studio 2015.

The MS Open Tech Tools plugin for Android Studio and IntelliJ added supported last week for Azure blob storage, and this week’s update will include support for Azure Queues and Azure Table as well. We’ll have more to say about the new functionality in an upcoming blog post, and you can find the latest version of the plugin on the JetBrains plugin repo.

We continue to support the Cocos2d open source game development platform, and the latest v3.x/v4 releases of Cocos2d-x now include code contributions which allow developers to target Windows 10 UAP (Universal Application Platform) to build games that will run on Windows 10 phones, tablets and laptops. Developers can also use JavaScript to take advantage of the Cocos2d game engine. As Windows 10 and Visual Studio 2015 continue to evolve, we will continue to make sure that developers have robust tools to build Cocos2d games across all Windows 10 devices.

The OpenCV cross-platform library for realtime image processing and computer vision is another open source project we have enabled for Windows 10 development. First, we enabled support for the Modern Windows runtime family last month. We then made code contributions to enable concurrency in OpenCV Windows apps. We have also begun contributing code that will enable Visual Studio 2015 developers to target Windows 10 within their OpenCV projects, and we will continue to evolve that branch as Visual Studio 2015 evolves in the coming months. Try it now and let us know your thoughts, as this is the perfect time to influence our future implementation decisions.

VIPR: Automated client library generation for REST APIs

The SDKs and libraries we’ve released for Office 365 REST APIs (such as the iOS and Android SDKs mentioned above) were built with a code generation tool called VIPR, which is available as an open source project. The VIPR Client Library Generation Toolkit provides an extensible architecture for reading web service metadata and generating libraries. Built-in readers are available for OData CSDL, and a built-in writer is available for C#. The VIPR-T4TemplateWriter adds writers for Objective-C and Java.

The new SDKs announced at Build for C#, Android, and iOS were built with this technology, and others may find it useful for use with their own OData APIs. ​

These tools have streamlined our SDK production processes, and it will be easy to evolve the code base to target new languages and/or to work with new service description technologies. If you are generating libraries for web services, you may find VIPR useful as well. You can find full source code for VIPR and the related T4 template writer project on GitHub.

We invite you to learn more about the iOS, Android and Cordova tools for Office 365 at Josh Gavant’s session at 5PM Thursday. And please stop by the .NET Foundation booth or the Office booth to say hello. We’d love to hear your feedback and ideas!

Jean Paoli, President
Microsoft Open Technologies, Inc.