Because I was missing coding, and because my friend and I had an awesome phone app idea at the weekend, I thought I'd try my hand at developing an Android application this week.
I want to give a quick overview of my preliminary thoughts on getting started on this endeavour.
Background: I've got more than 10 years Java experience, but any UI for the applications I've worked on was always a web UI. I am completely new to mobile app development.
I spent maybe a day and a half reading the excellent Android developer documentation and attempting to hack out a quick 'droid app.
I was surprised to find the Application Fundamentals section actually made sense to me. There appears to be a clear architecture with design guidelines laid out for developers to follow. This shouldn't really be a surprise I suppose, but years of hacking around with web UIs with poorly implemented MVC architectures must have left me thinking that all frameworks are less "frame" and more "work".
I remember the disaster of trying to get my first JDK working on my 486 - what a nightmare! And getting Tomcat 3 installed and running? Forget it. I also remember the last time I made a serious stab at a learning a new technology. I tried develop a Grails/Groovy application in Eclipse. The IS guys had to rescue my laptop from me during that enterprise before I could do it any serious damage.
Installing the SDK on my mac was surprisingly simple, especially bearing in mind I'm new both to OSX and to mobile development. I don't know if it's because Android development has been well thought out and well supported, or if it's a function of both the industry's maturity and my own experience.
The integration with IntelliJ was much slicker than I expected, especially since I'm using the freebie Community edition. I don't remember the exact steps to tell it I wanted to create an Android project, but it must have been ridiculously easy otherwise I would remember the trauma. I do remember a little confusion around installing the Android platform - I hadn't understood the difference between installing the SDK and then installing a specific API for it. But the documentation and the android application got me on the right track in the end. And then when I clicked the "run" button in IntelliJ, hey presto! The emulator appeared and there was my app!
- I was pleasantly surprised to be able to get an Android application (albeit a very basic one) working in only a few hours.
- Development in IntelliJ was much easier than I expected.
- The documentation is actually very good.