The Past, Present of Android Development…!
These are the days where you find Android dominating 80 percent of the market share. Android is the most popular operating system. We see ‘N’ number of Android smartphones with countless models and in fact, tablets, as well as other devices are also being used today. Now the question is that how is this Android dominating the world? Is this Android programming damn simple? Let’s discuss Android’s past, present and future.
Do you remember Miley Cyrus singing country music, Justin Bieber wearing his famous “Bieber” haircut and Malcolm still playing in AC/DC? Yes, that was the complex time for Android development. Developers had faced several issues with Android development. It was the crucial time for Android OS and for its possible applications.
Problems for Android were everywhere. It took time for Android to establish and go hand-in-hand for developers.
Buggy IDEs – In the Android development, official IDE had several issues and ton of problems and made developers go mad in 10 minutes. The Eclipse AT plugin was just buggy, very slow and quite unfriendly for more complex projects. Developers started praying for a miracle to happen and kept on trying for the best.
OS fragmentation – Of Android OS versions, Gingerbread (2.3.7) occupied quite market share (at least 15-20 percent) in the Android world. In fact, most of knew that Android was down and underwent an overhaul with the version 4.0 (Ice Cream Sandwich) – where new UI elements, new APIs for device hardware, new screen densities… were established. These new elements resulted in us having to be careful to optimize and develop, program our apps to fit and work well with new as well ancient versions of Android. However, this left more bugs and crashes and resulted in prolonged development time.
Slow emulators – It was then the time for testing apps on different Android OS versions and screen dimensions. This made developers to buy 20 different Android devices which turned crazy. Well, if you ever tried using the default Android emulator? If you answer YES, then you would have experienced the painfully slowness of it.
UI – Android apps turned boring. Now, look at iOS apps. You will find a life filled with colours. Everything you see is animated, transforming, going from left to right, right to left and so on… But our Android apps. Oh, NO! They were static. If we tried to enrich our UX, the old Gingerbread version would have killed each and every hope and wishes.
It was 2013!
All new Android!
You know, changes were happening so fast. It was surprising and in fact, we could have easily missed tracking the changes in that were taking place in the Android world. The whole Android ecosystem had many improvements. We started seeing new hardware (smartwatches, new software (Gradle, Android Studio), new OS (Android 50 Lollipop).
The tech giant Google, device manufacturers, developers,.. and several others contributed to the drastic changes happened in the Android market. Everyone started working on the development, simplification and improvement process of the Android version, as there established a stable OS with millions of apps and billions of users using it. There was an open access and open source principles for everyone.
However, it is hard to summarize all the changes here but I’ve made a list of things which ranked top and stood as the most important:
Android development, IDE became stable with version 1.0. This was a great miracle and took us to see the development process. The Eclipse ADT plugin is officially deprecated and it is good if you can migrate all your apps to Android Studio.
This is an automation tool which went and replaced Apache Ant which was a primary build system for Android applications. Gradle gained huge popularity. It attracted al the Android developers as this helped in automating everything. This made developers job easy and helped in dividing the apps into different flavours. It also made the Android OS work with correct configuration, incrementing the build numbers, defining external dependencies and much more.
Gradle has become an ‘administration’ tool. It helped in defining and maintaining all our project settings. It has also increased the number of test automation libraries and automate build servers. It also brought the continuous integration (CI) development process to Android OS. However, Gradle was also criticized for its app of execution. It has been very slow on complex projects, but hopefully, these flaws will be resolved with upcoming versions.
Yeah! The biggest improvement of Android OS. Even tech giant Google stated the same. Each and every part, even the minute ones in Android has undergone some modifications and improvements. There were a lot of problems with upgrading older devices to Lollipop.
Lollipop on the outside – Material Design
Most of the things were fixed and the new bright Android UI called Material Design is one of the most important innovations of mankind in Android OS world. This changed the entire look and feel of old applications. This changed the completed UX principles. As Google says, motion provides meaning, the Material design has changed the way of Android and it has to respond to every user interaction, click, touch, etc. It made the users see the bold, embrace new vivid colours, use animations at each and every step of its usage. Large fonts- simply stated they would add life to our applications. The material design was completed adjusted to the Android ecosystem and it has adapted different screen sizes. This is the reason we see apps having a similarity but not the same looks on different platforms.
Lollipop on the Inside – Art
We see miracles in the design, UI components animations, colours… of Android. What about the engine of Android? Th inside beauty. You will notice a brand new runtime system, called ART. It was not a new thing. It was created as a secondary runtime system on KitKat. Lollipop has become the primary system and it replaced the Dalvik.
ART uses AOT (ahead-of-time) compilation. ART compiles the intermediate language (Dalvik bytecode). This turns into a system- dependent binary and helped in shorter execution time of our apps, less CPU usage and less battery drain. However, the installation process is quite long.
ART provides multidex support. Dalvik dex files had major flaws. They contain only 65,356 methods. We had to recognize our Android applications in a way that the method count seems endless. Though this number seems big, if you see with Google Play services and few other external libraries, the number exceeds this limit. And the most important part of ART is that it organizes your application in a way that one could easily break byte-code in multiple dex files which are packaged together in one single APK.