The popularity of mobile enterprise apps and consumer-based mobile apps has grown tremendously in the last few years. App stores are flooded with millions of mobile apps covering myriad subjects and genres. Hundreds and thousands of new apps appear in app stores every day. Considering that app development can be a rewarding business, new app developers intending to develop the next big thing are constantly on the horizon. Mobile platforms have sprung up over the years to cater to the increasing need, however how do you select which platform is best for your app?
Exploring standard functionalities of iOS, Android, Windows and BlackBerry RIM doesn’t offer you the complete picture of the good, the bad and the ugly of each platform. The capabilities of one operating system may not be possible in another. In order to benefit from certain platform capabilities, developers need to target the operating system and the associated development environment to produce an application with those features. Because no single platform can meet all your development requires, find the one that’s most matched to your aims, goals, challenges and ultimately, the one most appealing to your target users.
Target Audience
One of the biggest determining factors when it comes to selecting your mobile platform is your target audience. If your app targets the mass market, you want to make sure the most popular platforms such as iOS and Android are your priorities. If the business community is your primary target, corporate-based platforms like BlackBerry make an excellent choice. Either way, it’s of paramount value to keep your target audience in mind when selecting your mobile platform.
iOS and Android have the largest user base while BlackBerry and Windows take a substantially smaller share of the pie. According to Business Insider, Android has caught almost 80.2 % of users while iOS trails behind at 14.8 %. When choosing the appropriate mobile platform, you have to know where many of your users are going to be so you can capture them at the right place and at the ideal time.
Return on Investment
Whether developing mobile apps is your passion or a hobby, you’ll need revenue to sustain your business. Consider the costs and and profit before you embark on the app development trip. The platform on which you create your app identifies your revenue stream.
The median mobile revenue per app on iOS is usually $500 – $1000 per app per month as compared to $100 – $200 on Android. A study done by Raymond James Research showcased that nearly half of existing iPhone users meant to retain and upgrade to the most recent version of the Apple phone after the launch. On the flipside, only 44.4 % of current Android users intended to upgrade to another Android smartphone. iOS users are relatively more loyal than Android users, creating greater revenue opportunities for developers aiming to work on the iOS platform.
Piracy Issues
Piracy is a concern for mobile app developers. Android is reported to have whopping piracy numbers on the app store. Google’s platform was criticized for the relative ease of finding and installing unofficial apps. Android apps can easily be pirated, circulated as apk files and installed on devices without having to root them. iOS, on the other hand, be it free or paid, needs validation by Apple before being downloaded from the App Store. The more open nature of the Google Play Store as compared to the Apple App Store has produced circuitous routes for downloading apps without actually needing to pay for them. This is a major cause for concern to developers who intend to monetize their apps. As a result, many developers, big or small, turn to an ad-injected model on Android as an alternative form of revenue generation.
Environment
iOS
Developers looking to develop apps on iOS have to deal with Xcode. Xcode supports C, C++, Objective-C++, Java, AppleScript, Python, Ruby, Rez and Swift source code with a variety of programming designs, including however not limited to Cocoa, Carbon and Java. The newest version, Xcode 6, includes intriguing functions like “Playground”, live debugging tools and an entirely new programming language called “Swift”. Although Xcode is sleek and powerful, users have experienced latency and editing errors in Xcode 6.
Android
Android developers now have a choice between Eclipse and Android Studio.
Eclipse
Eclipse program components provide the environment for composing, modifying, assembling, debugging and deploying software. Support is available for C++, CBOL, Python, Ruby on Rails etc. The advantage of Eclipse is that a large range of cohesive tools are readily available and it works on a range of running systems. On the disadvantage, it can be very slow and resource extensive.
Android Studio
Android Studio is now the official IDE for Android. It’s a relatively new tool for app development and programming. Among the newly integrated functions in Android Studio is Gradle. Gradle is so deeply incorporated that users who have actually not been exposed to this feature might find it extremely challenging. One good feature about Android Studio is its layout designer with a drag-and-drop interface. This makes it possible for the development of visually appealing applications. The major downside of Android Studio is the complexity and absence of resources and tutorials for novices. Users new to app development may find it challenging to discover the ropes on Android Studio.
Windows
Windows phone users make up approximately 3.5 % of the worldwide smartphone market share. Compared to the other mobile platforms, Windows is definitely not the top choice for app developers. Even though prospects on Windows may not be as promising as iOS or Android, the platform does provide some pretty versatile tools for app development. The platform supports a range of languages such as C# or C++ with XAML, C++ with DirectX and JavaScript with HTML/CSS. In addition, Windows provides a very comprehensive step-by-step guide from start to finish, ensuring that beginners are adequately prepared. The App Studio allows developers to build apps for immediate publishing, testing and sharing with customers, co-workers and focus groups. Although the Windows platform may not have as large of a market share as Android or iOS, their many development options are expertly designed for everyone from beginners to veteran developers.
BlackBerry
BlackBerry is best known as the provider of secure and reliable software for industrial applications and cell phone management. It’s without a doubt that developers choose this platform for creating apps catered to the corporate world. But in recent years, Blackberry has slowly lost market share to Android and iOS. However, when it comes to app development, there’s still some prospective within the platform due to its stability. The downside is the complexity developers encounter due to encryption problems.
And if none of the above is appealing enough to you, you can consider CPT!
Cross-Platform Tools (CPT)
Cross-platform tools enable developers to write apps in one codebase and deploy them throughout multiple platforms. Developing apps for multiple platforms lowers your costs and allows you to reach a wider audience pool while maintaining and making changes that instantly sync throughout all platforms and devices. It’s definitely useful in this increasingly fragmented mobile space.
Significant platforms like PhoneGap, AdobeAir, Appcelerator and Corona SDK come to mind when we talk about cross-platform tools. However just like the other platforms previously discussed, each tool has its pros and cons. There’s no one-size-fits-all solution. Take PhoneGap for example. It’s one of the most popular tools among developers because it uses conventional web development languages like HTML, CSS and JavaScript. However, if you need to extend your app with a custom PhoneGap plugin, the chances of finding a suitable plugin is low since PhoneGap is open source. AdobeAir boasts remarkable reach but it might not be an ideal long-term strategy for mobile development. Similarly, other available tools provide a variety of performances while coming with limitations.