Android development with various languages

Ajay
Tilicho Labs
Published in
3 min readDec 17, 2021

If I’m not wrong, most of us can think of only Java and Kotlin as languages when asked about Android app development, but it’s not true!

In this article, we will discuss all the languages that one can use for Android app development.

Languages

Java

Java was the official programming language for Android development(replaced by Kotlin). Most of the apps in the Google play store were developed in Java.

Pros:
-
It has the largest online community.
- As most of us are familiar with Java, we can easily pick the topics and learn.
Cons:
-
Java has many complex topics like Inheritance, Null pointer exceptions, Concurrency, etc which might make it difficult for beginners to use for development.

It is recommended for a beginner to learn something easier and then return to Java.

Kotlin

Kotlin is the official programming language for Android Development declared by Google in 2019. It is a cross-platform language and can be used as an alternative to Java for Android development.

Pros:
-
It uses lambda functions for any in-built operations which reduce boilerplate code and handle Null pointer exceptions using safe calls.
- Kotlin can run on JVM.
-
Kotlin can be recommended for beginners as it is the simplest
Cons:
-
It is the less familiar language for the college pass-outs compared to Java and people who are from different streams e.g. Python/Web

C++

Android App development can be done using C++ using Android NDK. An Android app cannot be created totally with C++ but we can create libraries that can be used in the app.

Pros:
-
As C++ has vectors it is quicker while executing complex problems, like large array operations, dealing with large numbers
Cons:
-
It is more difficult to set up C++ for Android and also leads to a lot of bugs due to more complexity due to context switching from Java/Kotlin to C++.

C#

We can develop Android apps using C# as well as using Xamarin. It has similar features as Java. Initially, C# is used to develop the Windows Application using the .NET framework.

Pros:
-
With Xamarin, we can use the same code and develop apps on multiple platforms — Windows, iOS, tvOS, etc.
Cons:
-
Less community support
- Large app sizes
- Premium IDE(Visual studio) to access advanced developer features.

JavaScript

JavaScript is used as the programming language for Android app development using React Native framework. React Native was launched by Facebook in 2015. Like Xamarin, React Native can ship iOS app as well with the same code.

Pros:
-
Single code for multiple platforms
- More community support
- Live and Hot reload
Cons:
-
Need to customize layouts for a richer native feel.
- Difficult to debug the code

Dart

Dart is used as the programming language for Android app development using the Flutter framework. Flutter was launched by Google in 2017. It is a trending technology in app development where we can also ship an iOS app and Web app with the same code.

Pros:
-
Single code for multiple platforms
- Live and Hot reload
Cons:
-
Less community support
- Large app sizes

Python

Android development in Python is possible because of the open-source Python library Kivy. Its initial release is in 2011 and got stable in 2019.

Pros:
-
Single code for multiple platforms
- Well-documented APIs
- Design innovative user interfaces with multi-touch functionalities.
Cons:
-
It has a less online community.
- It has more performance issues, is painful to run on Android
- It is still under development.

Recommendation

It is better to go with Java/Kotlin as they have more online community support and are somewhat easy to develop compared to other languages.

But if you/your organization is in need of a cross-platform solution to save time and costs — go for either React Native, Flutter or Xamarin

--

--