The best language for Android programming

Hello,
Which programming language is suitable for writing Android applications? I read articles on the internet about this, like this article. I need developer experience. Please share your experience.

Thank you

2 Likes

“Best” and “suitable” are two different things. The two most popular languages are Java and Kotlin. I’m not sure there is much between them, but someone else may have other ideas.

2 Likes

The article does a good job of explaining what is available for Android.

Java/Kotlin are the languages for writing native apps on Android, hence allow to access to all the features of the phone and excellent look and feel.

However if you don’t require to access all the features of the phone, being able to use one codebase to run in different platforms (android/ios) and likely slower speed; then React Native, Flutter maybe a better option.

I have been looking a Quasar.

I personally at the end of the day; pick what I need to achieve certain goal.

3 Likes

Hi,
Thank you so much for your reply.
What does access all the features of the phone mean? I want to write a program that will accurately find the location of the mobile phone with GPS, then based on the location of the mobile phone, it will show a series of nearby places such as restaurants.

1 Like

Hello,
Thank you so much for your reply.
I don’t know JavaScript, can I learn React Native?

1 Like

AFAIK there are native applications and web applications. If you use web applications (PWA), it is more or less a “normal” web page that you add some site.webmanifest and some javascript and then it acts more like an app.

This mean if you chose a web app, you can select basically any language that can create a web site, I heard a rumor that even WordPress has a “plugin” for that :slight_smile:

This means that you do not have to create 3 applications (web, android and ios) separately.

1 Like

Hello!

When it comes to writing Android applications, there are a few programming languages that are considered standard, each with its own strengths. Based on my experience, here’s a breakdown:

1. Java

Java was the original language for Android development and is still widely used today. It’s powerful, object-oriented, and has a vast ecosystem of libraries and tools. If you’re comfortable with Java, it’s a solid choice because of the strong community support and documentation available.

2. Kotlin

Kotlin is the new official language for Android development, announced by Google in 2017. It’s more concise than Java and fixes some of Java’s limitations, making it more modern and developer-friendly. My experience with Kotlin has been fantastic — it’s interoperable with Java, which allows for smooth migration, and I’ve found that it improves productivity due to its reduced boilerplate code.

3. Flutter (Dart)

If you’re considering cross-platform development, Flutter (which uses the Dart language) is worth mentioning. Although not native, it’s gaining popularity because you can write one codebase for both Android and iOS. In my experience, it’s efficient for developing beautiful UIs and fast prototypes.

My Recommendation:

If you’re just starting or want the most support from the Android ecosystem, Kotlin is the way to go. However, if you’re looking for cross-platform solutions, Flutter is also great.

If you want to read more about the differences between these languages and their real-world use, check out some articles or developer forums. I’d be happy to provide further guidance if needed!

Good luck with your development journey! :blush:

2 Likes

Yes all of them will have access to the phone GPS

2 Likes

Java is not the same as JavaScript.

1 Like

Kotlin is the preferred language for Android programming because it has official support from Google and provides a concise syntax, better safety, and compatibility with Java. Kotlin improves productivity by enabling developers to write cleaner code with fewer errors. Its expanding community and wide range of libraries make it the leading option for contemporary Android app development.

2 Likes

Hello,
Thank you so much for your reply.
For someone who doesn’t know programming, which programming language is easier to learn?

1 Like

Hello,
Thanks again.
Isn’t React Native based on JavaScript?

1 Like

Yes. React is JavaScript based. There are good materials here in Sitepoint to learn React/React Native.

Some reading:
https://www.sitepoint.com/react-vs-react-native-pros-cons-and-key-differences/

Something that the article does not say is that Android is developed using Java. That was the language initially and it still is written in Java. There is another important language to know about, that is C++. Android is not really an operting system, it is more of a UI or shell. The operating system is Linux. Linux is developed using C, and lately also Rust. Many Android programmers familiar with C and/or C++ use C or C++ for Android. The article’s description of Xamarin is outdated. Microsoft (owner of Xamarin ) ended support for Xamarin on May 1, 2024 in favor of .NET MAUI. .NET MAUI supports Android, iOS, macOS and Windows. You can write one program that will work in all those environments.

It depends on who you ask. If you ask the Android developers then they will say that C and C++ are the native languages, as in Android NDK | Android Developers.

That can be interpreted as saying that it is not currently developed using Java. I assume you know it is but others might not be sure. As for widely used, I assume you are referring to Android applications, not operating system (that is not really an operating system).

Probably all of them can be considered to be easy or difficult. Another consideration is popularity and utility. Java is very popular and can be used most everywhere. Also C# is. I do not know how popular the other languages are and if they can used in other environments. Except I know that JavaScript is not typically used in all environments.

1 Like

I don’t know JavaScript, can I learn React Native?

Here is good link, that should anwser your question.

https://medium.com/@emmaw4430/can-i-learn-react-native-without-knowing-javascript-2df25350c566

1 Like