Interview on AIDE, an Android Java IDE Running on Android
AIDE is an IDE running on Android for developing Android applications. This post contains an interview with its creators.
A small team from Germany has developed an Android Java IDE (AIDE) that runs on Android 2.2-4.0 devices and can be used to develop Java applications for Google’s mobile OS, including editing, compilation, automatic error checking and logcat debugging. AIDE can load and work with Android projects initially created with Eclipse. While development can be done on the road on a smartphone, the recommended scenario is working on a larger tablet that has a keyboard attached.
While developing on a small device has certain inherent limitations, AIDE has been well received by developers, having more than 30,000 beta testers according to its creators. The IDE may be attractive to some companies because it frees them from having to buy a development workstation for each developer they have.
InfoQ has discussed with Hans Kratz and Dennis Strein, the creators of AIDE, in order to find out more technical details about it.
InfoQ: What language and technologies is AIDE built with?
The AIDE Team: AIDE itself is written in 100% pure Java. It only includes a few pre-built binaries from the Android SDK for the build process (aapt and aidl) and some other open-source Java libraries for peripheral tasks like packaging APK files.
InfoQ: Is AIDE using any Eclipse technology? Please explain how you manage to work with Eclipse projects.
The AIDE Team: It does not use any Eclipse technology. For “smart” features like error checking, code completion, refactoring and incremental compilation we build upon our own technology that is specifically written to work within the tight memory and CPU constraints of mobile devices.
Supporting Eclipse projects is possible because the Eclipse project format is well-defined and relatively simple.
InfoQ: How does AIDE development compare with conventional workstation development?
The AIDE Team: Android places severe restrictions on memory usage for Apps. Still it is possible to build a project containing over 100,000 source lines like AIDE itself within AIDE on a Samsung Galaxy S2 smartphone. While the initial build takes longer (couple of minutes for AIDE) than on a PC with Eclipse the time for an incremental build after a small change is much closer: In fact it takes about 30 seconds to build AIDE on the phone after a small change which is about the same time that Eclipse needs for the very same task.
For smaller to medium sized projects – like many typical Android Apps - the build times are even better.
InfoQ: Are there any plans for supporting development in languages other than Java?
The AIDE Team: AIDE also supports XML. Right now we have no plans to support other languages as first class citizens (apart from some basic syntax highlighting for C/C++ and HTML).
InfoQ: Any roadmap?
The AIDE Team: The main problem AIDE users are facing currently is syncing up development between their mobile devices and between team members. Thus support for version control systems like Git is on top of our list. After that there are multiple directions which we can pursue. One feature that is often requested is a UI builder. Also, so far no one has tried to implement a debugger on an Android device…
InfoQ: Is AIDE going to be a free or a commercial product? How about open source?
The AIDE Team: We want AIDE to become the foremost way to develop Android Apps in the future.
So right now our main goal is building a strong user base for AIDE and so far we are doing well: over 30000 beta testers in less than two weeks and an average rating of five stars with over 700 ratings. It looks like this really is an idea whose time has come, and developers share our enthusiasm to enter the post-PC era for software development.
We are looking for a partner who has a strategic interest in the Android platform and can help us to make this vision a reality hopefully while keeping AIDE 100% free.
IDE running in Android
John Krewson, Steve Ropa and Matt Badgley Nov 24, 2014