The Android Quest: A Journey Begins

Four years ago, my journey in Android development began. Back then, I had no prior knowledge of Android development, but I did possess a general understanding of coding. I had dabbled with HTML, CSS, and JavaScript, and I found the concept of creating something from scratch using only code fascinating.
During that time, I explored various paths to satisfy this fascination. I experimented with game development using Unity. While I enjoyed working on the user interface aspect and creating small virtual worlds, I encountered difficulties when it came to coding.
To fulfill my creative aspirations, I decided to try my hand at video creation using Adobe Premiere. Although it provided an outlet for my creativity, I still felt the need for a more structured approach. It was during this period that I was fortunate enough to secure an internship position as an android developer at a startup company, which marked the beginning of a new chapter in my journey.

 

 

Choosing The Right Programming Language

As you begin your Android development journey, you may find yourself asking the fundamental question: “Which programming language should I learn?” This initial choice sets the stage for your journey into building impressive and inventive Android apps.
When it comes to choosing a programming language for Android development, there are primarily two popular options: Java and Kotlin.
vlz-removebg-preview

Java

kotlin

Kotlin

Both Java and Kotlin are widely used programming languages for Android app development. While Java has been the traditional language for Android development with a robust ecosystem of libraries and tools, Kotlin has emerged as a popular choice and is now recognized by Google as a first-class language for Android development. Let’s explore these languages in further detail.

Java

The Java programming language, originally named Oak, was created by James Gosling and developed by Sun Microsystems in 1991. The primary objective of the language’s inventors was to design a highly dependable, portable, and user-friendly programming language.
Over the years, Java has been extensively used for developing a wide range of applications, including desktop software, web applications, mobile applications, and enterprise systems. One of its significant uses in recent years has been for Android app development, where it has been the dominant language offering numerous advantages. Java’s longstanding presence in the industry has resulted in a rich ecosystem of libraries and tools. Moreover, many developers are already well-versed in Java, making it a widely accessible choice. It provides robust support for Object-Oriented Programming (OOP) concepts, which are fundamental in Android development.
However, it is worth noting that Java can sometimes be verbose and require more time to write compared to newer languages. In comparison to modern programming languages, Java may feel less concise. Its support for functional programming concepts is relatively limited, and some developers may find its support for these concepts lacking. Functional programming, known for its focus on immutability and higher-order functions, has gained popularity in recent years.

Advantages of Java for Android App Development:

1. Wide adoption and active developer community.
2. Platform independence for running on Android devices.
3. Strong support for Object-Oriented Programming (OOP).
4. Mature ecosystem with a wide range of libraries and tools.

Kotlin

The Kotlin programming language, developed by JetBrains in 2010, is a powerful and open-source language. The primary objective of the language’s inventors was to design a modern programming language that would be user-friendly, particularly for developers who were already familiar with Java.
In recent years, Kotlin has gained significant popularity as a preferred language for Android app development, receiving official support from Google. It provides numerous advantages for Android developers, such as a concise and expressive syntax, built-in null safety features, and improved performance compared to Java. Kotlin serves as a versatile tool for creating applications not only for Android but also for iOS and desktop platforms. Moreover, it offers smooth interoperability with Java, allowing developers to seamlessly incorporate Java code and utilize existing Java libraries in their Kotlin projects

Advantages of Kotlin for Android App Development:

1. Java interoperability: Kotlin seamlessly integrates with Java code.
2. Null safety: Kotlin's type system prevents null pointer exceptions.
3. Strong OOP support: Kotlin fully embraces Object-Oriented Programming.
4. Extension functions: Kotlin allows adding functionality to existing classes.
5. Declarative UI: Kotlin and Jetpack Compose enable declarative UI programming.

Disadvantages of Kotlin for Android App Development:

1. Learning Curve: It may take time for developers to learn Kotlin if they are unfamiliar with the language.
2. Backward Compatibility: Some older Android versions or devices may not fully support the latest Kotlin features.
3. Build time: Kotlin can sometimes result in longer build times compared to Java

Should I Choose Kotlin Or Java?

Throughout my career, I have learned that using the right technology at the right time can make a huge difference in the success of an Android app. In today’s Android development landscape, Kotlin is widely considered as the best choice for Android app development offering extensive range of advanced features and technologies , including coroutines and compose and so on . Additionally, Kotlin Multiplatform Mobile (KMM) is a recent innovation that allows developers to share business logic across multiple platforms, such as Android and iOS, using Kotlin. This capability can significantly reduce development time and effort while maintaining code quality. Considering these factors, choosing Kotlin for Android app development can be advantageous, as it provides a modern and powerful language with a robust set of features and cross-platform capabilities.

In Conclusion

The most important thing is to start learning, whether you choose Kotlin or Java. The journey of learning is a continuous process where you make progress over time. What matters is taking the first step and continuing to learn and improve. Don’t worry too much about which language to choose initially. Just start learning and keep going, because the more you learn, the better you’ll become.