Completing tasks on a mobile device is not new. Apple's iPhone redrew the smartphone category and quickly propelled the "fad" devices into "standard" ones. Today's phone market is a mixture of Android, iPhone and Windows devices. The introduction of applications on these phones has dramatically changed how we engage with our professional and personal lives. Apps are the catalyst for converting a phone to a tool used to transform how a business operates; how consumers engage with a product; and how supply chain efficiencies can be improved.
In this article, you will come to understand the development differences between the leading mobile operating systems.
Mobile vs. desktop development, an explanation
Since 2010, there has been a dramatic surge in the sales of smartphones, and we also saw the introduction of Apple's iPad -- an updated approach to tablet computers. This has changed the way we work on and develop for computers. What is important is that core functionality such as email, Web surfing and calendar management can be done by mobile devices, which have upended how people connect to the Internet. Increased performance and a continued fall in price make it easier to switch tasks to other devices. For instance, email, social media and video are now more frequently done on a phone than on your desktop computer.
In addition, mobile devices have many hardware features not available on desktop computers, such as front and rear cameras, accelerometers, GPS, LTE for wireless data, pedometers and many other features.
Finally, a new set of operating systems have come out to make developing solutions for smart devices much easier.
The different platforms for mobile development
There are three leading mobile operating systems: Google's Android, Apple's iOS and Microsoft's Windows. According to a Gartner report, Android is being used on many more devices than any other OS. With that said, more money is made from iOS than Android and Apple devices are more popular in the enterprise. Bear in mind, the mobile OS market is still growing globally and it could be more than a decade before the market settles.
Mobile development is a choice between iOS or Android. Currently, Windows has low, single-digit adoption in most enterprises.
Android is now the world's most popular mobile operating system. The foundation for Android is Linux. The popularity of Android is largely driven by Google's distribution model: Android is an open source project that gives phone manufacturers and cell phone carriers free license to use Android and even modify the core OS for their devices. The freedom to modify Android has led to many challenges in what is now called Android fragmentation. Most instances of Android follow the core release model from Google.
With that said, the release of Android 5.0 Lollipop in November 2014 established a new baseline of functionality in Android. And Google's latest operating system makes OS upgrading easier and more consistent for Android users.
It is free to develop apps for Android using either Eclipse or Google's Android Studio and it only costs a one-time fee of $25 to have your apps available for download on Google Play.
The iPhone and iPad are powered by iOS. There are more than 500 million devices worldwide actively using this OS. The second release of iOS introduced the concept of applications and opened up the secured and controlled environment that Apple has been known to operate in.
iOS has a foundation in Darwin, a Unix open source OS that is also used in Apple's OS X. Through leveraging an existing OS, Apple was able to extend Xcode, Apple's flagship development tool, to support iOS app creation. In June 2014, Apple released Swift, a new programming language that makes it easier for developers build iOS apps.
The current Apple Development Program costs $99 per year and includes submitting your apps to the iTunes App Store.
Mobile is not new to Microsoft. In fact, Windows CE, the first mobile Windows OS, can trace its history back to 1999. For whatever reasons, Microsoft could not capitalize on their early entry into the mobile market.
In 2010, the launch of Windows Phone 7, featuring a brand new interface design, was supposed to revolutionize the Microsoft brand in the mobile market. It did not. Today, with Windows 10 touting universal apps; i.e., the ability to build and deploy apps for all Windows platforms from one code base, Microsoft hopes to gain ground in the mobile market.
Visual Studio is the default tool for development of Windows Mobile apps. Apps that are created can be distributed through a private, enterprise app store (most mobile device management solutions have a private enterprise app store) or through Microsoft's official Apps for Windows store.
What about the other platforms?
There are other mobile operating systems for which you can develop solutions. They fall into one of two categories: proprietary OS' and HTML5 mobile operating systems.
The leading proprietary mobile OS is BlackBerry. Once the leader of the smartphone market, Blackberry now finds itself as a small player for more specialized markets.
There are several operating systems that use HTML5 to build solutions. For example, BlackBerry's QNX (used in many medical devices and smart car radios), LG's WebOS and Samsung's TIZEN all use HTML technologies. So what does it mean to build a solution with HTML5? Here is the good news. The same tools used to build websites can also be used to build applications running on Web-centric operating systems. In other words, the investment made in building Web teams can be reinvested into OSs like QNX, TIZEN and WebOS.
The bad news is that those aforementioned OSs are niche operating systems. This may change, but that's the current state of HTML5 build solutions.
Definition of native and hybrid
The rapid adoption of iOS and Android has created a problem in the development world: Which operating system do you build solutions for? Typical development is completed with supported tools such as Xcode for iOS, Android Studio for Android and Visual Studio for Windows. Building mobile solutions with the recommended development tools and languages is often referred to as native development.
Pros and cons of native and hybrid
Hybrid has a strong positive: using HTML5 helps to quickly build solutions for the leading platforms. The learning curve is not too high and you can have an app running in a matter of a few hours. Many of the enterprise, sales and supply chain offerings can be completed quickly and effectively with hybrid tools.
The challenge with hybrid comes when you are looking to build complex solutions. A common challenge with hybrid tools is that they are built to support the lowest common denominator across the platforms. If, for instance, you want to build a solution leveraging a new API, such as Apple's TouchID, and the hybrid does not support that feature. The tool doesn't support the API unless you hack together a workaround.
Enterprise mobile development is often completed with specific tools and frameworks referred to as Mobile enterprise application platforms (MEAPs). The goal of a MEAP is to provide cross-platform tools that make it easy to connect with back office databases and systems. Popular MEAPs include Kony, SAP Mobile Platform and IBM Worklight. Common trends with MEAPs are drag & drop interfaces for non-developers and tools built on top of PhoneGap.
Which platform should you develop for?
Determining whether to develop native or hybrid isn't the only consideration when deciding how to build a mobile app. Other factors you need to consider when selecting a platform to build an enterprise app include:
- Security and the ability for employees to easily authenticate will be your first two challenges.
- Do you want to leverage MEAP for cross-platform development?
- Will you be creating tools for tablets and phones?
- How do you want to connect with your back office systems?
Many companies are struggling with how to leverage mobile beyond BYOD mail, calendar and contact synchronization. The secret is to define a small, manual task that can be enhanced with a mobile tool such as an inspection. Gain support for the small initiative and document how it is successful. The goal is to build credibility through visual signs of progress. A small success will give you the credit you need to invest in larger success.
Businesses are looking more inward to see what apps to develop next
Learn more about Mobile App Development Platforms (MADPs) for creating in-house mobile apps for the enterprise
Android, iOS development are the focus of this talk with the Skimble CEO