Building apps for Windows devices using Microsoft Open Source Technologies https://msopentech.com/

 

Are you are a mobile developer and want to extend your reach and your customer base?

Do you want to make your mobile app available on more stores?

Are using open source technologies?

Well lets look at the opportunity of using open source technologies to build apps for Windows Phone and the Windows Store (Windows 8)

Windows: a great playground for open source developers

Windows has always been a great playground for developers and many open source technologies already support Windows devices. MS Open Tech is working closely with the open source communities interested in cross platform development including engagement with Web and C++ open source communities to enable a wide range of popular open source frameworks on Windows devices.

Open source and the Windows Stores and Windows Phone 8

To learn details on the use of open source licenses for Windows Store apps, you can read the App Developer Agreement. For Windows Phone store, read the App Provider Agreement.

Developing for Windows 8 and Windows Phone 8

Both the Windows dev center and Windows Phone dev center provide extensive details and instructions on what is required to build apps for Windows devices. In a nutshell, you need to have Visual Studio, which runs on Windows. You can build and publish apps to both stores using the free version of Visual Studio.

If you are developing on a Mac, here are some interesting pointers for you in order to set things up to build apps for Windows devices on your Mac:

If you are familiar with Android or iOS development, and not with Windows or Windows Phone dev, then we recommend looking into the following documentation that has extensive information adapted to your background:

For Windows Phone apps

Mobile cross platform development

Solutions exist to help developers build apps across mobile devices running various operating systems. There are different approaches addressing different specific needs. Lots of these solutions are open source like Rhodes from RhoMobile, Appcelerator Titanium, Xamarin or Apache Cordova (a.k.a. PhoneGap), and happen to support Windows devices.

With Xamarin for example, C# developers can build apps for iOS, Android, and Windows devices with a single code base.

With Apache Cordova, JavaScript developers will be at ease to build apps for all these devices reusing their code and Web libraries, still accessing devices features like GPS, accelerometer, etc… from their code.

C++ Gaming, Graphics and other libraries

MS Open Tech has worked closely with these communities to enable these frameworks on Windows Phone and Windows Store apps which both provide native support for C++ development.

  • Cinder, a growing programming library for creative coding in C++ and used for design engineering has recently been enabled for Windows Store apps by MS Open Tech. You can find a great getting started guide on Channel 9 to learn how to integrate your Cinder magic into an app for Windows 8.
  • Cocos2DX is a game engine aiming at extending Cocos2D support to other mobile platforms beyond iPhone (the original target for the engine). Cocos2DX is used by lots of mobile gaming creators like Zynga, Konami, Glu, Gamevil, KingSoft… Cocos2DX supports both Windows Phone 8, and Windows Store apps.
  • Ogre3Dis anotherpopular3D engine written in C++ that MS Open Tech contributed to add Windows Phone 8 support to. Windows Store apps support is work in progress.
  • Box2D and Bullet are other great gaming libraries joining the Windows Store apps.
  • The popular computer vision and machine learning framework OpenCV, can now be used in Windows Store applications as well offering C++ developers a chance to easily use their OpenCV code to build apps for Windows 8 that do face recognition, motion detection and other cool stuff based on images and video capture.
HTML5 & JavaScript frameworks

MS Open Tech has engaged with open source communities such as PhoneGap (now Apache Cordova) or jQuery Mobile to make Web developers life easier in their new ventures. From cross platform development tools, to HTML5/JavaScript frameworks, and development tools, we contributed to enable lots of open source technologies on Windows devices that let Web developers build apps for Windows 8 and Windows Phone 8 without wasting hours learning a new platform.

jQuery now fully supports WinRT (the Windows Runtime, powering Windows Store apps), allowing web developers to build Windows 8 apps reusing their existing code and skills. As a direct result from this work, web developers can also use other frameworks that are based on jQuery to build Windows Store apps. You can learn more about what it took to make jQuery support WinRT on this Nettuts tutorial

These other frameworks include

YUI is another popular JavaScript library developers can thoroughly use in their JavaScript apps for Windows 8. Jeff Burtoft, HTML5 evangelist at Microsoft, recently posted a tutorial on how to use YUI to build a Windows 8 app.

Many open source JavaScript mobile frameworks come with themes for Windows Phone 8 that were created with MS Open Tech’s technical support. These include

Debugging is another area that is pretty critical for developers and while native development tools (Visual Studio for both Windows and Windows Phone apps) offer extensive tooling, there are some gaps. One of the few example is the missing support for remote DOM inspection of HTML5 code running on an actual Windows Phone 8 device. MS Open Tech filled this gap, contributing to the project weinre, enabling it on Internet Explorer 10 and allowing remote debugging of HTML5 pages.

What’s next?

Most and foremost, MS Open Tech have all the info on the latest open source technologies simply visit https://msopentech.com/