Surviving in a Mobile-First World: A Guide to Choosing the Right Development Approach (Pt. 1)
The mobile application market is gigantic, to say the least. In 2017, Android users had access to 2.8 million apps and Apple’s app store housed 2.2 million. As mobile apps continue to rise in popularity, people often wonder, “Which technology would you recommend for actually building a mobile app?” While there are many methods for creating mobile experiences, it’s important to first decide between the three major approaches:
- Pure Native
- Cross-platform Native
- Cross-platform Hybrid
Each of these approaches brings its own unique benefits to developing a mobile application. In the following three-part series, we will explore each of these approaches in-depth. First, we’ll go over some pros and cons of employing Pure Native.
The ‘pure’ in Pure Native emphasizes the fact that this was the original, native approach recommended by mobile platform manufacturers, while ‘native’ means two things: 1) You get a native user experience on the user interface (UI) of these apps with maximum performance and aesthetic; and 2) You have full access to all the APIs and platform features, such as sensors, that manufacturers created for developers, including access to APIs that are not yet available to the general public.
This approach provides the opportunity to create truly unique mobile experiences, as well as develop innovative features and immersive user experiences that that have never been developed by others. Organizations that are willing to craft best-in-class mobile products and achieve top category placement in the Apple App Store or Google Play should use this approach.
On iOS, there are two official programming languages that are used for Pure Native development: Objective-C and Swift. Both were created and are supported by Apple, and are equally capable of delivering pure native experiences. Swift is a newer language that is used by a majority of iOS projects today. Objective-C is the original language of iOS developers and was used for iOS Apps creation since the inception of the iOS SDK.
For Android, there are also two official programming languages: Android Java and Kotlin. Android Java is the essence of Java, as it’s the original language for Android app development. This language is maintained by Android platform creators like Google. Created by the company JetBrains, Kotlin is a much newer addition to the pool of programming languages. Kotlin is officially accepted by the Android platform as the highest quality language for Android development. Both languages are equally capable of delivering Pure Native experiences.
The obvious challenge with the Pure Native approach is having two separate code bases for iOS and Android versions of the product with no code re-use. Additionally, taking this approach requires two separate development teams with different skills to develop and maintain these apps.
In summary, using official programming languages in Pure Native development offers a variety of benefits, including:
- Getting full access to mobile platform APIs
- Using the full capabilities within a developer’s toolset
- Receiving up-to-date documentation from the creators of mobile software development kits
- Having support from a global community of mobile developers
It’s only scratching the surface, but that’s enough on Pure Native to get started for the uninitiated. In the next installment of this series, I will cover the Cross-Platform Native approach, alone with its pros, cons and nuances.