DEV Community

Nandini S Hinduja
Nandini S Hinduja

Posted on

Tech Stacks used for Android Development

This is a post for beginners to android app development. These are the technologies which you can use to create android apps:
Firstly, you can use:

  • Java
  • Android Studio
  • XML

Or you can use:

  • Kotlin
  • Android Studio
  • XML

The above stacks are for native android development. For the database you can use Firebase of MySQL.

You can also create augmented reality (AR) android apps using:

  • Unity 3D Game Engine
  • C#

In these AR android apps, to bring about the AR features, you can use external SDKs like:

  • Vuforia SDK
  • EasyAR SDK

And for creating 3D models for these AR android apps, you can use tools like:

  • Blender
  • Maya

If you want the 3D models to be made of voxels, you can use tools like:

  • VoxEdit
  • MagicaVoxel

Now, let us move on to hybrid apps. Hybrid apps are those where one code base is there and both android and iOS apps are built using the same code base. So for creating such hybrid apps, you can use:

  • React Native
  • JavaScript
  • JSX

For the database you can use MongoDB or Firebase.

Or you can also use the following technologies to create hybrid apps:

  • Flutter
  • Dart

There are several advantages to create native apps such as they give a more native touch and feel to the application. You can make use of features which are specific to the OS. But there are also certain disadvantages of creating native apps, such as the cost is higher since you need to hire a different team for building the iOS app.

On the other hand, there are several benefits of creating hybrid apps such as the development time is reduced since you write the code once and build both android and iOS apps with it. The cost of creating hybrid apps is also less since you don't have to hire different developers for iOS and android development. Moreover, technologies like React Native give the hybrid apps a native appearance, thus the name React Native. But, hybrid apps have certain disadvantages too such as they cannot access features specific to the OS.

Top comments (5)

Collapse
 
philippschadt profile image
Philipp Schadt • Edited

Hi Nandini,

I would add Jetpack Compose to your list. Jetpack Compose is a toolkit developed by Google for creating UI that takes a declarative approach. In my experience, XML is now old-fashioned, especially for "new" projects.

But overall, it's not bad to know the XML approach.

Collapse
 
nandinishinduja profile image
Nandini S Hinduja

I agree!

Collapse
 
vishnu_u_9b5cdde4464607c8 profile image
Vishnu Narayan

Excellent breakdown for beginner Nandini. It's really useful to see the many stacks available for Android development. I've developed native apps in both Java and Kotlin, and Kotlin feels more current and concise, thus it's become my preferred language. Android Studio and XML are excellent solutions for developing the app's structure and UI.

I've also experimented with React Native for hybrid apps, and it's impressive that you can build Android and iOS apps with the same codebase. Firebase is unquestionably a top choice for real-time databases, but I've also utilized MySQL for more traditional applications.

Also, i think C# and Unity 3D are excellent for creating immersive experiences for AR apps. Additionally, it is simpler to develop AR features when you use tools like the Vuforia SDK or EasyAR SDK.

If anyone is curious about the top tech stacks for 2024, I recently read a thorough essay about the best tech stacks for software development that may provide some fresh perspectives on current trends. Keep up the fantastic job!

Collapse
 
harshaart profile image
Harsha S

Very Nice

Collapse
 
nandinishinduja profile image
Nandini S Hinduja

Thanks!