What is Android App Development?
Android app development simply refers to creating an application for a device that runs on the Android operating system. Devices are typically phones and tablets, but also include watches, cars and TVs.
To develop Android apps, developers use Android Studio, which is an integrated development environment (IDE). This is coupled with the Android Software Development Kit (SDK) and is a set of libraries, which would include libraries to provide easy access to the functionality of the device.
Historically, Android apps were developed using the Java programming language, but since 2017 there has been a transition to the programming language of Kotlin. Kotlin is based on the Java Virtual Machine (JVM) and is an open-source, statically typed language. In May 2019, Google announced that Kotlin is now its preferred language for Android app developments.
From a global smartphone perspective, based on figures from July 2019, Android has the dominant market share with 76%. One of the main reasons for this dominance is the lower cost, and therefore affordability of most Android smartphone devices. Historically, the high market share can be attributed to developing countries, though when looking at more recent statistics (July 2019) Android has become a popular choice in a number of what are considered traditional western markets. Android’s market share in France and Germany is 74%, Netherlands 64%, and in the UK Android overtook iOS in March 2019 and has hit 53%. Europe as a whole is 74% Android.
One major issue when developing mobile apps for the Android platform is the fragmentation of operating systems and devices, which can lead to a high cost of testing.
Thankfully, there are ways to mitigate this by using cloud-based testing tools and virtual testing on actual devices, and due to the average lower cost of Android devices, this allows for a large number of physical devices to be held, although the best way to handle this is to define a subset of Android operating systems to target. For example, to only target the current and the previous 3 major versions of Android which would cover 85% of the global market and 92% of the UK market based on July 2019 figures.
Android or iOS?
When considering developing an app, generally it is a moot point as to whether to choose one platform over the other, especially if it is a consumer facing app. Even though one platform may have a larger market share, the potential user base of the alternative platform is still significant, although there are occasions when it is an appropriate consideration to only target one platform:
- Enterprise Level - An enterprise mobile app would only be used internally by staff within an organisation. For example, staff within an organisation may be provided with work smartphones and the organisational policy is only for Android devices to be provided.
- Proof of Concept (PoC) - To develop an app on one platform to test the feasibility of the idea. If proven, an app can be developed for each platform.
Here at Xibis, we develop fully native apps, and when developing for both platforms, we generally advise our clients to offset the development of an app for each platform. For example, this can mean starting the mobile app development of say the Android app, and then a few weeks later starting the development of the iOS app.
The reason we suggest this is to try to improve development efficiency during the software lifecycle. Everyone who has been involved in any software development project, whether they are technical or not, will have experienced changing requirements during a build. Changes related to already developed elements will potentially have an impact on time and cost. If the development of apps for both platforms started together, this will have a double impact. By offsetting it, it means a double impact is less likely.
This is also true when implementing a complex element which would potentially involve a number of pitfalls. These same pitfalls would be avoided in the app that has been offset. An example of this is where the app is required to integrate with a 3rd party web service, where the web service is still being developed and does not work as expected or documented.
If you are interested in discussing a potential android development project, and/or iOS, and would like to learn more about how we can help, please get in contact with a member of the Xibis team today.