One of the greatest challenges of today’s developer is to develop lasting code that works across multiple platforms and devices. Because ultimately as creators, don’t we all want everyone (and anyone) to be able to access and appreciate our hard work? Writers want their books read. Singers want their songs heard. Developers want….well, you get the idea.
Open source technologies are one of the solutions enabling developers to extend their reach reusing their skills and code as communities contribute adding support for new platforms all the time. Windows has always been a great playground for developer communities and many open source technologies already support Windows devices.
The Enyo team is a great example of how communities are considering all modern platforms to allow developers to concentrate on innovation and broaden their reach to many devices leveraging their existing skills and code. From the get go, they have considered and rapidly supported all the major mobile platforms including Windows Store apps and Windows Phone apps. The Confero app demonstrates how a dev can reach more customers with the same app on iOS, Android, Windows Phone, Blackberry and the Web.
To further help developers have their code work seamlessly across platforms, Microsoft Open Technologies (MS Open Tech) has been working with many open source communities to add to the list of frameworks and tools developers can use to build Windows Store and Windows Phone apps.
Below we’ve broken down by developer the tools and resources MS Open Tech contributed to bring to Windows devices to help you introduce your applications to whole new audiences!
For C++ and Gaming Developers
Do you use C++ for game and graphics development, favoring its native access to hardware acceleration? MS Open Tech has worked closely with various open source communities to contribute code to popular C++ frameworks optimizing them for Windows devices.
- Cinder, a growing programming library for creative coding in C++ and used for design engineering has just been brought to Windows Store apps by MS Open Tech
- Cocos2DX and Ogre3D which already supported Windows Phone 8, now fully support Windows Store apps. Porting a Cocos2D or Ogre3D game to Windows devices is now as simple as a copy paste of your code into a Visual Studio project for Windows Store or for Windows Phone.
- Box2D and Bullet are other great gaming libraries joining the Windows Store apps party!
- OpenCV, popular computer vision and machine learning framework, can now be used in Windows Store applications as well.
For Web Developers
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, such as Backbone.js, Knockout, CanvasJS, RequireJS to build Windows Store apps. You can learn more about what it took to make jQuery support WinRT on this Nettuts tutorial.
Developers who use HTML5 to build cross platforms apps for iOS and Android with tools such as Apache Cordova (aka PhoneGap) can easily port their apps to Windows Store and Windows Phone Store as Apache Cordova fully supports both platforms. If you want to learn more about the MS Open Tech’s partnership with Apache Cordova, join us at PhoneGap day in Portland at the end of the week.!
Many HTML5/JS mobile frameworks come with themes for Windows Phone 8 that were created with MS Open Tech’s technical support. jQuery Mobile, Sencha Touch, Dojo, Enyo fully support Internet Explorer 10 and the WebBrowser control used to encapsulate web code in native apps on Windows Phone, in the exact same way as Android or iOS.
Cloud-Based Services for Mobile Developers
Lucky for us, the Windows Azure team is only a few minutes away by bus or car, and we have worked closely with this team to make robust and flexible mobile services available for developers to build apps that scale on all major platforms so you can focus on innovation, instead of constantly reinventing the wheel.
Specifically, we built the Android SDK for Windows Azure Mobile Services to complement the support for Windows Store apps, Windows Phone, iOS and HTML5. Giving Android developers access to a range of advanced cloud-based services for storage authentication and notifications.
We also contributed the Android SDK for the Windows Azure Notifications Hub which lets you broadcast push notifications to millions of devices across platforms from almost any backend hosted in Windows Azure. Last but not least, MS Open Tech created a Backbone adapter for Windows Azure Mobile Data Service, letting you seamlessly sync your data with the cloud using your usual favorite Backbone APIs.
All of these projects are ongoing, and we at MS Open Tech are always adding new ones to extend the list of technologies open source communities are bringing to Windows devices. Also, if your favorite open source framework doesn’t work on Windows Store apps or Windows Phone apps, let us know emailing us.
You will also find that Windows and Visual Studio offer plenty of tools and programs to help you libraries and frameworks support Windows. Jason Olson, Program Manager in the Windows team presented a great session at the last //build/ event about technologies like NuGet, Visual Studio Extensions, and programs such as http://services.windowsstore.com. Check out the webcast on channel 9.
You can find more detailed resources on developing apps for Windows devices as an open source developer visiting the MS Open Tech’s website. You will learn things such as how to get started with Windows apps development, how to develop for Windows 8 or Windows Phone 8 on a Mac or what were our contributions to these frameworks to make them work seamlessly on Windows devices.
Now go get your Cocos2D based game or other open source based app run on Windows 8 and/or Windows Phone 8, and let us know how it works!