Although I have never done any mobile programming I went to the Google Android Developer session at CodeMash anyway. I wanted to get a peek on how the big Goog was going to market and sell to developers.
I was not disappointed, this was the most educational session I was at. First of all Android is java based like EJB. I do not do Java and have no real idea what EJB is. That being said, this is what I took away from Android.
- UI – XML layout like XUL, striking similarities to Microsoft Silverlight interface design or vice versa if you want.
- Should use Eclipse for your IDE
- Views & Controls terminology is the same i.e. a view is a control and vice versa.
- No intellisense yet on the xml gui, plus xml is case sensitive
- Programs can be created as application or as a service. Services have a longer life span
Again, I haven’t done any mobile program so correct me if I’m wrong here, but Android seems to function differently then any other mobile OS. For one, Android programs (including programs you write for Android) never really die. So when a user clicks close on an application, it still exists, running in the background. That’s why when you click on the same application it is instantly there, no startup wait or anything. I know on my Blackberry 8830, programs take a second or two to start up so they can’t be running in the background like Android does. This makes things much more fluid to the end user. Android deals with all these applications running by systematically killing applications that haven’t been used in a while and or "learns" the end users tendencies from what apps they use. Brilliant. When an app is killed by the OS, the program can see this event happening and can store its current state, file or on SQL Lite, so that when the end user fires this app back up, no data is lost. One thing is that programmers must put this logic in their app. Google isn’t Microsoft, they don’t seem to want to hand hold developers thru this.
Another feature Android is pushing is a new messaging system to replace SMS, although SMS will still be included. SMS is limited to the number of character able to be sent. This new protocol will have infinite character length. The reason is Google wants to be able to push XML to the device, similar to how Blackberrys work. This XML can have specific commands tied to specific applications that can be fired off. There is a lot of possibility here.
Although I’m certainly not a Java guy (we do have one in the family), Android is something I have to make room in my schedule to whip something together.