An Integrated Development Environment (IDE) is an all-in-one solution that allows an application (app) developer (a.k.a. programmer) to perform the software development cycle repeatedly and quickly. That cycle is to design, write (or code), compile, test, debug and package the app software. There is currently only one IDE supported by Google which is Android Studio.
Android Studio – http://developer.android.com/sdk/installing/studio.html
The Google IDEs and the Java language are not the only options for Android App development. Some developers might not need the power of Java or just don’t get on with C style languages. Some developers would like a single code base to support other platforms: Apple (iOS), Windows, Blackberry and the Web (HTML5). This is known as cross-platform development. Well there are plenty of alternatives to Google’s tools, see the following table for a list of Android app development IDE and computer language alternatives. Code can be written in different languages, like BASIC, HTML5 or Lua. Many of the alternatives are free to use, some open source, some restricted versions of paid for products. A few may not have a free version. Some will require the Android Software Development Kit(SDK) that comes with the Google tools to be installed. It is possible to install several IDEs onto the same computer to try them out.
List of Alternative Android App Development IDEs
NAME | LANGUAGE | cp | URL |
---|---|---|---|
AIDE (Android IDE) | HTML5/C/C++ | Yes | http://www.android-ide.com/ |
Application Craft | HTML5 | Yes | http://www.applicationcraft.com/ |
Basic4Android | BASIC | No | http://www.basic4ppc.com/ |
Cordova | HTML5 | Yes | https://cordova.apache.org/ |
Corona | Lua | Yes | http://coronalabs.com/ |
Intel XDK | HTML5 | Yes | https://software.intel.com/en-us/html5/tools |
IntelliJIDEA | Java | No | https://www.jetbrains.com/idea/features/android.html |
Kivy | Python | Yes | http://kivy.org/#home |
MIT App Inventor | Blocks | Yes | http://appinventor.mit.edu/explore/ |
Monkey X | BASIC | Yes | http://www.monkeycoder.co.nz/ |
MonoGame | C# | Yes | http://www.monogame.net/ |
MoSync | HTML5/C/C++ | Yes | http://www.mosync.com/ |
NS BASIC | BASIC | Yes | https://www.nsbasic.com/ |
PhoneGap | HTML5 | Yes | http://phonegap.com/ |
RFO Basic | BASIC | No | http://laughton.com/basic/ |
RhoMobile Suite | Ruby | Yes | http://www.motorolasolutions.com/US-EN/Business+Product+and+Services/Software+and+Applications/RhoMobile+Suite |
Titanium | JavaScript | Yes | http://www.appcelerator.com/titanium/titanium-sdk/ |
Xamarin | C# | Yes | http://xamarin.com/ |
Table Notes:
- C-P, Cross-Platform, if No only Android supported, if Yes supports App production for other platforms (you will need to check if your required platform is supported).
- Language, HTML5 also includes the related technologies of Cascading Style Sheets (CSS) and JavaScript.
- AIDE and RFO Basic allows code to be developed on the go on Android devices. The code can be packaged into full blown Apps.
Support for Android Programming
This above list of free and commercial IDEs for Android shows that other languages can be considered when wanting to develop apps. Some of these Android options provide cross platform development from the same app source code. (For some IDEs the Android SDK will need to be installed.) Purchased commercial Android development packages will come with varying degrees of support from the company and the user base. Open source and free packages will be supported by the user and development community, and sometimes paid for support is available. Forums are a useful source of answers for Android development issues.
Microsoft are developing Cordova support for Visual Studio, see Microsoft’s Multi-Device Hybrid Apps web page.
Android NDK
Google provides for free the Native Development Kit (NDK) that allows programming in C or C++, see the Android NDK page for more information. Use the NDK to optimise time critical portions of an App. Google does not recommend it for general App development.
COMMENTS