Monday, July 28, 2014

Quo vadis? Cross-Platform App development - Part 1

There are lots and lots of Apps. In fact there are over a couple of million Apps including all of the major brands, Apple, Google, Blackberry, Microsoft with Apple at the top and Microsoft in the bottom. But this is a growing market. The variety is truly bewildering, different size devices; different operating systems(OS); different programming languages;  and different orientations.

This post is not very recent but you can see how the various mobile operating systems compare:
http://www.ibtimes.com/android-vs-ios-whats-most-popular-mobile-operating-system-your-country-1464892
The interactive image in the article really shows the popularity of a given OS/device among different geographical regions.

Windows Phone Apps is for example based on Microsoft's Window 7, 8, 8.1 OSs using .NET. With Windows OS and Visual Studio one can build Apps for all of Microsoft devices covering Phone, Tablet and Desktop. However Microsoft Windows Apps sans Html5/CSS/Javascript is OS specific. Even for apps built with Html5/CSS/Javascript the WinJS file is required (or recommended) in most cases.

Apple Apps can be used on both iPad and iPhone as long as certain files specific to each device profile is available, in general iPhone apps can be used on iPad but not the other way. However the so called iOS Universal apps can be used on iPhone, iPod touch and iPad (before the advent of iOS Universal there were two binaries created for each type). XCode/Interface Builder was used to create the iOS Universal. Although XCode, a superset of Objective-C makes this easy it is not straight forward mainly due to device size differences. Again Apple Apps are specific to devices running Apple iOS.

The same is true of Android Apps. It is built using Java in a multi-user Linux system. The recommended development platform is Eclipse. Read more here, http://developer.android.com/guide/components/fundamentals.html

Latest version of Eclipse Standard here:
http://www.eclipse.org/downloads/packages/eclipse-standard-44/lunar

However there have been several developments (bridge programs) to have a single program that can build Apps to work on any device.

  • With Xamarin you can use C# shared library to build native iOS, Android, Mac and Windows apps.
  •  PhoneGap (Apache Cardova) developer app used with Windows can bundle the App for a variety of platforms.

  • XDK Platform from Intel can similarly create apps for multiple OSs using Html5/CSS/Javascript similar to the PhoneGap, in fact using a later version.

  • Outsystems cloud based development platform can build apps that works with both Java and .NET environments and you can derive source code for each of these OSs

Html5/CSS/Javascript not dependent on any specific vendor together with responsive design should address most of the cross-platform requirements. I am sure more programs on the way in this general direction.

 August 20:
Get a good brief on Intel XDK here including installation:
http://hodentekmobile.blogspot.com/2014/08/cross-platform-apps-are-easy-with-intel.html
 

No comments:

DMCA.com Protection Status