IDEs Overview | Android Tutorials #1

In this tutorial, I will be writing an overview of different IDEs and Frameworks that exists for android development. At the end of this post, you will find several links that could be useful.

Eclipse

The first IDE we will be looking at is Eclipse, that’s where it started. Eclipse has an android plugin (ADT Plugin), which the last update occurred in mid 2015. I have not gone into deep waters with eclipse and android, however, there has been support issues with it. I wouldn’t recommend starting with this.

Android Studio

Based in Eclipse ADT’s Plugin and IntelliJ IDEA, Android Studio was born and now it is the official IDE for android development. I started with Android Studio, I would so it is very intuitive and complete. It provides many ways of simplifying your work, like:

  • Code templates to help you build common app features (login, empty activities, master-detail flow, etc.)
  • Device emulation (Installing Genymotion is recommended if you are going to emulate)
  • Many Plugins to save work
  • Drag and Drop views to build layout fast
  • and so on

Android Studio has its downsides like:

  • An update to the IDE can break something in your project
  • You have to run the application everytime you want to see a change (No Real-Time/Live Preview like the Hybrid Frameworks)
  • Gradle build is very nice, however, it may take couple of minutes to compile the project (not really a downside, though)

Frameworks

If you are coming with Java background or Object-Oriented programming languages, you will find these IDEs very nice and easy since you code using Java and XML (for styling and configuration). However, if you know JavaScript and/or prefer using Front-End tecnologies to build applications, there are various frameworks that you could use (I have used the ones I am about to describe):

  • React-Native: the famous reactJS, built by Facebook. Facebook created React-Native to build applications for Android and iOS, “learn once, code everywhere”. React-Native has a very solid documentation, which may guide in the learning process, and good community and support. First of all, you would need nodeJs to get started and knowledge in the Javascript component part, (using requireJS, etc.).
  • react-native

    Everything will work fine if you are using OSX, since it is fully supported, but the Windows and Linux version are currently in experimental versions, so you might think it twice before using it. In my honest opinion and considering the research I made with React-Native when building a simple app, React-Native can be confusing when you have Java background, but I have seen sweet functionality done with it, and coding for both Android and iOS is a big plus.

  • Ionic Framework: Ionic, similar to React-Native, are SDKs used for developing hybrid applications using Front-End tools, like JavaScript, but for Ionic you will be using HTML, CSS, and JavaScript. It also uses NodeJS to build the project, but Ionic uses Cordova. Ionic Framework has a pretty sweet documentation with live examples. With my little experience with Ionic, I could say it looks very easy to use if you purely use FE technologies. For example (taken from their site):
  • ionic-framework

Note: I did not used that much these FE Frameworks for mobile development, I come with a strong Java background, so it felt weird working with JS. For these tutorials, I will be using Android Studio (as being the IDE I have more knowledge).

Final words & links

To conclude, there are many more frameworks that you could use for developing applications, each of those frameworks has their own Pros and Cons, you would just need to evaluate which one fits the best and always keep in mind that using a framework for android development has its downsides like: Application Speed since there’s an extra layer to process, interact with Android core, and some others. I, personally recommend using Android Studio. There’s a reason why it is the official IDE for Android development. It is complete, has very mature documentation, and a great community, and the most important part would be that it is growing and getting updated!

If you have any questions, please let me know.

Links:

Eclipse ADT Plugin
Android Studio
React-Native
Ionic Framework

Update:
You could start downloading Android Studio for the next lesson.