Monday, February 15, 2010

My first experience of Android

My first experience in 2 words as developer: Simple and efficient

In the software development world, the hardest thing is to develop simple software. Simplicity of development environment is the most distinctive feature of the android. It is far simpler than iphone development environment (objective C) and blackberry’s development environment. I was able to build, run and test my first hello world application in just 3 hours. I don’t have android phone still I can develop most of the application on emulator without actual phone.

GUI design as stack of activity: It is the simplest way to design GUI.
GUI design using XML layout: This feature makes code looks much simpler, because there is no code for GUI. .java file can contain pure Business logic.

Multi language support with very little effort: Android translates GUI strings, when it is defined in string.xml. No translation or GUI adjustment needed for application to work with variety of languages (for example, English, French, Italian, etc.)

Application development in Java (the best OO language): Android allows user to develop application in Java.

Poor performance was the biggest and the only drawback of almost all previous Java mobile platforms. Even PC applications run much slower, if it is developed in the Java. Android solved this issue by dalvik virtual machine. Android translates .class files into machine efficient binary code. Java interpreter is out of the picture.

My first experience in few words as smart phone user: Easy and intuitive

Within 10 minutes, I was able to connect to FAU wifi network and use internet on android dev 1 phone.
Without any prior usage of smart phone, I was able to get directions, run any application and add/remove applications in no time.

Android experience is so intuitive that I was able to use its feature without reading any manual.