Yawn, not much happening at Google I/O this year. Well you can't expect it to be exciting every year. What! What's this - an official Android IDE! It can't be! Why isn't this headline news? Well it is here!
OK, I admit we should probably get out more, but while Android Studio hasn't got the wow value of Glass for the general geek, it should have a big wow value for any programmer thinking of working with Android.
Until now if you wanted to create an app you had to download and install the SDK, install Eclipse, and then install the addin for Android development. Eclipse is an okay IDE, but there have been criticisms of it in the latest release and it really doesn't make things easy for the beginner at Android development. Compared to Apple's XCode and Microsoft's Visual Studio, it's really not up to the competition.
For some time it has seems slightly odd that Google didn't have a nice packaged way to create Android apps. Now it has got together with JetBrains and modified the Intellij IDEA community edition to produce Android Studio.
The community edition is open source as is Android Studio. At the moment Google has been keeping this development work in the dark, but now promises to move it into the light:
The first is that it is a complete development environment in one download. You run the installer and you have an IDE and SDK ready to start work on a project. This doesn't mean that you won't have to modify or add to the SDK as you work, but it should get most people off to an easy start. If you have an Eclipse project then in theory you can just export it and import it into Android Studio.
Installation is a one-time advantage, but a good code editor just goes on giving. In this case the editor, being based on Intellij IDEA, has smart editing with code completion and highlighting, code refactoring and static code analysis. In this case the code analysis includes Android specifics such as method call rules.
Almost as important as good code manipulation is the drag-and-drop UI and this is included and ready to go. You can also preview a UI layout on different virtual devices. If you change the XML layout specification then you see the change almost immediately in the preview.
You can see some of the features in the video:
You can also access Google services more easily with the help of some Android tools. You can now integrated with Cloud Messaging Service and Translation Service to make multi-language versions of your apps - but remember to check the translations unless you want to cause offence or unintentional humour.
There is also a new build system. In this case we have a Gradle-based system that allows the beginner to simply run a project in the IDE and graduate to more complicated build automation later when the project grows.
The goals of the new build system are:
Make it easy to reuse code and resources
Make it easy to create several variants of an application, either for multi-apk distribution or for different flavors of an application
Make it easy to configure, extend and customize the build process
Good IDE integration
There are lots of warnings about this being an early preview edition and "look out for bugs", but it is a big step in the right direction for Android.
Recently we published an article Tools Doth A Language Make arguing that languages shouldn't be considered in isolation and it is language plus IDE that is the important entity. In this one action Google has effectively upgraded the Java language in its use in the Android environment.
This really is the way forward not only for Android and Java but all programming environments - More Tools!