Concretely, what does Interoperability looks like for mobile platforms these days?
Tons of mobile application projects are started every single day, in a domain where fragmentation is forcing developers into a complicated exercise of understanding what his options are. In a couple of previous posts, I have tried to provide a certain perspective on the actual mobile ecosystem that I think most people agree on these days, and depicted what I think is a reasonable approach to mobile development in this context. But once you have asked yourself all the relevant questions and started to answer them, you certainly want to know what’s available to help you in your modern mobile development endeavors.
At this point there are different trends, and efforts going on, trying to tackle different type of problems. Different companies and communities work on different interesting solutions to answer THE question: “How do I target several mobile platforms with a minimum of efforts and at a minimal cost, and how do I get my mobile application to interoperate with the rest of the world?”
Some have gaming in mind and are looking for solutions that will allow developers to go cross-platform, still optimizing for graphics acceleration and performance, and therefore propose cross-compilation solutions such as Corona SDK or Marmalade (previously known as Airplay SDK), …
Some others are heavily Enterprise focused and deliver tools suite such as Rhomobile delivering on the several key aspects of Enterprise development needs.
Another major trend consists in abstracting the OS from the application developer by providing an intermediate stack. Cordova (previously known as PhoneGap), Appcelerator Titanium or Mosync propose this type of approach and allow developers to then use Standards technologies such as HTML5, CSS and JavaScript to write applications once and then deploy on different platforms. Once you are in this HTML5/CSS/JavaScript development world, you can consider using some of the JavaScript frameworks that the community proposes such as JQuery Mobile, JQuery Touch, Sencha Touch,…
Then you have companies and communities interested in getting different mobile platforms to connect, sync and use their services and solutions. Considering the fact that most applications are developed natively, they provide native SDKs to allow developers to integrate with their solutions. Windows Azure Toolkits for Windows Phone, for iOS, or for Android or the equivalent for the Amazon Web Services for iOS and Android and for Windows Phone are perfect examples of this.
This list is far from exhaustive and is growing every day. By the way, let me know if you are using, developing or have just read about interesting SDK, frameworks or tools that aim at making mobile platform interoperable.
And if you are looking for specifics on Windows Phone, stay tuned for my next post.
Comments
Anonymous
March 15, 2012
Missed out http://xamarin.com/ (Mono)Anonymous
March 27, 2012
@Lee Smith: you are right, I missed this one, along with other ones I am certain!. Thanks
- Olivier