5 years: android then vs now.

 I first started developing android apps around 2019-2020. I've written a handful of apps, some of them made the app store and got around 700 downloads. I do consider myself to know what I'm talking about, just barely though. 


I'm by no means an expert in Android, I still have a lot to learn, but I still do know a thing or two and I guess I will share my experience here. 


What was I doing 5 years ago? 

I wrote a couple of apps. Most of them were lost due to me forgetting my Github account password. But I manage to recover most of the lost projects. There were three apps:

1. speedometer
Speedometer was the most ambitious project that I took on at the time being a relative newbie at Android. It is a program basically turning your old phone into a trip tracker and live speedometer for your bicycle or e-bike. I uploaded it and many people used it and they were happy that something like this existed. I got over 700 downloads.


2. quick
Quick is a notes app that I built in android that supports custom font and color typing, as well as cloud integration via Firebase. This app got over 450 downloads.


What will I be doing now? 

Frankly my skills in android were never used when i got into college, partially because i started to use an iphone and a macbook which made me pivot onto the ios platform. I tried turning back to android but life and stuff proved difficult. Maybe this is the charm of the apple walled garden? 

So during the summer, I picked up a position where I had to translate a ios app to one that works on android. I applied, and somehow got in, and so now I need to refresh my android skills and work on it again. 


What changed?

In this section I'll talk about the things that changed when i start using android and android studio again. 


The UI of android

First of all android looks really different than when i used to remember. my last android phone was the samsung galaxy s21 which came with one ui 4 (i believe) but whatever. During the same time I also had a Xperia 1 that ran I believe android 11. and that was my last memory of android. 

Now, I got myself a google pixel 6 (i know its late for 2025), it is quite fluid, material you looks really different, more of a polished, ios feeling, which i didnt really like. Google also changed alot of the placements and menus and they are not where they once would be, so its kinda bad for my muscle memory. But I guess I need to learn. 

One other thing that bugged me even from 5 years ago, was that starting from android 10, they got rid of the dessert names. I really liked the dessert names, numbers made it feel more stupid. 

Android Studio

Okay, android studio really changed alot. I still remembered the time where Android studio was just intellij with a different skin, and you could still do android projects in intellij idea. But now it seems that Android Studio has evolved into something of its own, although still carrying that intellij. 

Setting up projects is also different. It seems like now I dont get the option of choosing languages (java/kotlin), its just one big jumbled mess. Also, I dont get to create an android project with the traditional xml layout, its all jetpack compose now. 

XML layouts

I believe this might be the end of XML layouts in android. I don't really know from which year they got rid of it, but as of this time, there's no XML layout files in the /layout. No activity_main.xml type thing. 

I don't really think its a good thing, as I believe the storyboard styled UI setup is much more superior than whatever jetpack compose offers right now. But I guess its just my muscle memory working against me. In my personal opinion I found XML very versatile in terms of prototyping layouts, and layout is just simply layout, and does not interfere with code. But the new jetpack compose seems to be like flutter, where layouts and logic code seems to be one thing. 

RIP XML.  

Jetpack Compose

Jetpack compose and kotlin made developing android apps feel like using a mixture of react and flutter. React and flutter themselves are platforms I've used extensively for the past years, and I think they are platforms that are quite easy to use and code. However, I don't think it is a good idea for android to put them together, although I believe it kind of works in Swift UI. 

I believe jetpack got rid of XML, and so the user interface code goes into the .kt files instead of living separately in the xml files. More like a flutter type setup where everything is in one file, and there are lots of lambda, which makes coding a bit hard, although it looks much prettier. But I don't really care about being pretty. 

Getting rid of XML in favor of jetpack also means that all UI components need to be modified in order to fit with this new framework, and the new UI framework uses declarative components exactly like Flutter, which I had PTSD of. (Its not good, although I got used to flutter after working with it for 3 months, but that spahgetti of { and } is something I dont want to see again.)

The state variables (or something similar) in jetpack is a good addition I think, it gets rid of the need for you to manually update values using the XML layout, and it keeps good track of where and how the value changes. Much like a variable + listener + modifier combo. 

Android itself

Android itself has changed alot over the years, got more streamlined, user friendly, and less enthusiast friendly. I believe it is the inevitable fate for Android to fall in the same rabbit hole as iOS did, into this walled, garden ecosystem mess. Its not entirely a bad thing, of course, as it makes users more loyal and provides a more seamless experience. But it completely betrays the point of Android. 


Comments

Popular posts from this blog

我係點樣喺 ozark 丟咗我部電話

圣路易斯餐厅指南

How to use GPS locations in Android