Fundamentals of Cross Platform Mobile Development
Mobile Application Development is resent trend for all software developers. Although mobile app development is not something new; it was from long time when we had J2ME and Symbian applications.
Mobile Industry really shaped in 2007 when Apple launched its first mobile device, iPhone!
From then till now, every year we see something new happening which is making industry bigger and better. In this smart phone industry; currently we have more than 20 operating systems and count is increasing year after year.
Just to name few, we have Android, iOS, Windows Phone, Bada, BlackBerry!
With Increase in number of devices and platform, developer’s life is also getting complicated. Now everyone wants to develop application which supports multiple platform. But question comes into mind that ‘Which Platform I Really Support?’
Here comes solution, cross platform mobile development! But what is cross platform mobile development?
Cross Platform Development is developing common application which will run in multiple platforms. The idea of developing a single app that runs everywhere (or nearly everywhere) became a goal that was much harder to achieve – but one that remains as attractive as ever.
Here comes 3 options:
Solution #1: Cross-platform compilers
These come in a variety of guises. There’s the lowest level: C compilers, linking against the various platform SDKs. You’re working in a common language, but the APIs are vastly different.
These (and other similar) platforms offer a common language, but still one that needs to be compiled for multiple devices.
Solution #2: HTML 5 web apps
With HTML 5, code running in web browsers is able to provide an increasingly rich client-side experience: local storage, geolocation, audio and video, offline working, accelerated graphics operations and more. The distinction between apps and website has certainly become more blurred.
A great example here is Amazon’s Kindle web app on iOS: because of changes in App Store policies, they opted to go for a pure HTML5 app, whilst still allowing users to download content for later use, and keeping a great user experience.
One of the downsides here is more social than technical: many people now expect apps to be listed in app stores, and have become used to the discovery and installation process associated with their platform of choice. There are also still some limits on the APIs available, and the amount of data that can be stored locally.
Solution #3: HTML5 hybrid apps
The advantage of this approach over the two covered above is that it combines the benefits of both HTML5 and native apps: there’s a common development language, a common set of APIs for all supported platforms, and enhanced access to the device over a pure HTML 5 web app. Local storage can exceed the 5MB limit, photos from the local device can be uploaded, background services can run (on some platforms), and so on.
Web development skills now apply equally to mobile apps – the same language, the same design process, and the same technologies.
The final sticking point, however, is the build process. To compile apps into their native wrappers, you still need the SDK for each platform. And that’s not as easy as it sounds: iOS requires a Mac, Windows Phone requires a Windows PC, and getting the Android SDK going isn’t generally the slickest experience.
Of course everything comes with price, every option have its own limitations.
We will definitely look into these in our next articles, till then at-least you understood the basics 🙂