Close to 80% of all mobile devices worldwide run on Android. You can take that statement one step further: Seventy percent of all new devices run Android, and that includes Windows PCs. Arguably, a reason Android is so popular is largely in part due to cheaper devices, the OS itself is free and developing for Android is not hard. This is why Android is now gaining a foothold in the enterprise. This article discusses native Android development in the enterprise, how it can fit in your organization and common pitfalls to avoid when working in Android.
The state of Android in the enterprise
Android has a spotted history of security concerns, viruses and malware apps. Many companies have avoided native Android development for these reasons, keeping it from being the dominant mobile technology in the enterprise. With that said, Google is actively employing a number of measures to reduce the risk of malicious software being introduced to the enterprise. They include:
- Google Play, which leverages more stringent tools to assess software for viruses before the app is published
- Android Lollipop (Android 5.0) and Android M, two versions of the Android OS that place security as a central element to the OS
- Android-4-Work, a new segregation in Android 5.1 that gives enterprises incredible tools to separate personal and enterprise data cleanly on newer devices
Growing markets such as China, India, Brazil and Russia still find it difficult to afford expensive Apple devices and the option to use a secure, cheaper Android device is very appealing. Today, devices such as Motorola's Moto E 2nd Edition ($125 for the whole device) gives companies a device at a price point that opens the opportunity to deliver smartphones to these new markets.
Development tools you must use
If your enterprise is already a Java development center, you are in luck. Android gives you the option to develop apps either with Java or C++. J2EE developers find it relatively easy to migrate to Android development. A .NET developer who works with C# should also find it relatively easy to migrate to Android.
There are two default development tools you can use for native Android development. The de facto tool is Google's Android Studio. Android Studio was introduced in 2014, but don't let its newness fool you. It is a good tool designed specifically for mobile development. Google has put a lot of thought into Android Studio and you will see cues Google has taken from leading development environments such as Apple's XCode and Microsoft's Visual Studio. The other tool you can use for native Android development is the open source Eclipse Studio. Android Developer Tools (ADT) for Eclipse is a plug-in you will need to download. It should be noted that Google does plan to retire ADT in favor of Android Studio.
Publishing Android apps for the enterprise
If you want Android apps to be able to update through the Android App Update process, then you will need to publish your apps with a certificate. Apple iOS apps have a similar model. The difference being that an Android Enterprise Certificate can be set to 15, 20 or 25 years. Apple requires reapplication every 12 months.
First introduced in 2012 and then reintroduced as part of Android-4-Work, Google now supports private Channels in the Google Play App Store for Enterprise. This makes it much easier to manage and publish private apps. The significant benefit to Google's private app channel is that corporate apps can be upgraded on a device using the same app updates used for public apps, rather than having to publish to a private app store the enterprise must build, like they would if they were using Apple.
What to watch out for
In many ways, Android is very late to addressing security and app publishing concerns for the enterprise. There are some "gotchas" you do need to watch out for:
- Android-4-Work is very new with very few companies supporting it. What this means is that the code, specs and roadmap for Android-4-Work is in flux and will change. I believe Android-4-Work is, overall, the correct direction enterprises should go, but you may want to wait a year for the feature set to settle down.
- Do not, if you have not made a decision to support Android, support versions prior to Android 5.1 (the latest release). The security concerns and differences between Android 4.x and 5.x are too great to ignore.
- This leads to the final concern: Be specific on which Android devices you choose. You cannot support the hundreds of new Android devices that come to market each year. Make it easier on yourself and support a modified BYOD program that highlights approved devices.
With these concerns said, Android is finally at a point where you should consider it for the enterprise. Android development is easier than iOS development, devices are much cheaper and Google is seriously addressing concerns for the enterprise which make it a strong, viable option when considering a mobile application development tool.
A quick tutorial for Android development with Eclipse.
The case for native over HTML5 in Android development.
A quick how-to for testing in Android.