A bright IDEA
Talking Android Studio with JetBrains' Dmitry Jemerov
One of the biggest announcements at this year's Google I/O was the first glimpse at Android Studio, a new development environment specifically for the mobile platform. JetBrains' IntelliJ IDEA is the base for the IDE, so our sister publication Java Magazin caught up with the IntelliJ IDEA co-lead Dmitry Jemerov for the project to get the latest for Google's own version.
Java Magazin: Google recently announced Android Studio in cooperation with you. It will provide an IDE for Android developers based on IntelliJ IDEA. First of all, please tell us about how this idea originated!
Dmitry Jemerov: Actually this idea originated within Google; they have approached us with a suggestion to discuss how they can leverage IntelliJ to provide a better development experience for Android developers, and we suggested to build a partnership around the open-source version of IntelliJ IDEA. After some back and forth, they decided to go ahead with this approach, and so far we're both very happy with how it's proceeding.
JM: Android Studio is a product by Google, how much are you involved in its development?
DJ: Essentially, Google has taken over the maintenance of the Android plugin from us. We're still investing a certain amount of development effort into it, to make sure that the needs of our current users are covered, but most of the new functionality will be developed by the team at Google. We're also providing Google with the platform enhancements needed to implement their desired feature set for the Android tools.
JM: What is the difference between the new IDE and the Android features in IntelliJ IDEA?
DJ: The biggest difference is that Android Studio will be entirely centered on Android and the Gradle build system, and will require the users to use Gradle to build their projects. Android Studio also provides a number of features to simplify environment setup, such as a bundled and automatically configured Android SDK. IntelliJ IDEA, on the other hand, continues to fully support a broader range of project types and multiple build systems, including Gradle, Maven, Ant and the built-in IntelliJ IDEA build system.
JM: What, in your opinion, are the top five features of Android Studio?
DJ: I'm not sufficiently familiar with Eclipse to provide a fair comparison, but I can say that Android Studio provides a full set of tools to build a complete Android application. To start your project, you have access to an intuitive new project wizard that provides detailed descriptions for all the choices you need to make. For developing the application, you can use a great visual designer and a powerful set of coding assistance tools to help you write the Java code. A large number of bundled Lint checks (static code analysis tools) ensure that your application meets the quality standards expected of Android apps nowadays. Finally, the Gradle build system takes care of building the final .apk file for your application, including support for debug/release, free/paid and other flavors that an app might need.
JM: IntelliJ IDEA was open sourced four years ago. That seem to have been the cornerstone for companies like Google to build their own products on top of it, which on the other hand benefits the IntelliJ IDEA code base. Can you tell us a bit about your experiences over the last four years, about the benefits of going open source?
DJ: The biggest benefit of the Community Edition release was that it made it much easier to develop plugins. Plugin developers can now fully understand how the platform code works, and can debug their plugins in conjunction with the underlying platform. I would say that the level of community participation in actual product development is relatively low, because people know that JetBrains is a commercial company, and expect that the work improving the product is done by people who are paid to work on it full-time. Still, the number of contributors has been growing recently, and a few of them have even contributed substantial new features for the product.
JM: How will Android Studio distinguish itself from IntelliJ IDEA 13 Pro?