Merry go round with app development frameworks
It has been interesting couple of weeks.
Mobile app development is a very effective way to let out our creative energy, even if the day job has nothing to do with that space. I have built couple of Android apps in the past. Hence started a new hobby project - a small app with geo location and image editing capability.
Flutter was my first choice as I am familiar with that framework. Both the apps I had built in the past were with Flutter. Code development is quick and easy with the light weight Visual Studio Code IDE. But few days into development, I kind of got bored and looked around for options.
Found one pretty quickly - switched to React Native (RN). React in general is an extremely popular framework in web applications. RN is also very widely used. Well, few days into RN, I came across Expo Go and switched to it as it makes RN deployment and testing very easy. Expo Go also comes with handy components to be used in UX directly.
All was looking joyful until I hit a major issue. RN does not have great support for image manipulation at bitmap or pixel level. Using Expo Go makes it even more difficult as its own SDK has some restrictions. After experimenting with few plugins, I realized bitmap handling (and similar low level operations) support is limited in RN. To be honest, RN + Expo Go is extremely good for building applications which are very rich in UX features and are best suited for most cases. But it looks like there are limitations in case you want to get into some core areas.
Time to switch. Internet search to the rescue. Android Java looks to be the best option for image manipulation at bitmap level. Few more days on Android Studio (AS) brought me to another dilemma. My laptop looks to be maxing out with AS’s hunger for CPU and memory. Spinning up an emulator takes further toll. I did not want the laptop to run into issues with this high resource consumption. Not in a mood to spend 70k on a replacement laptop.
So, I pulled out an old laptop and installed Ubuntu in it. Intent was to check if Ubuntu’s low resource consumption (compared to Windows) will leave enough power for me to run AS and emulator. I was wrong. And in the process, I ended up deleting Windows from the old laptop, an Ubuntu that does not boot up without manual nudges and messing up with the hard disk completely. (Yet to tell my wife that the old laptop is no more)
Finally, I decided to go back to where it all started - Flutter with Visual Studio Code. Back to familiar territory again :)
So, this is not about which tech stack is good or I am not recommending you to make a particular tech choice. Your decision to pick a mobile app development framework will depend on many important factors.
Just that sometimes it is lot more fun exploring different options, changing you goal posts.. and simply wandering! Like a drive in an urban area where you keep switching lanes, taking alternate routes and exploring new paths in order to reach your destination.
Make the journey as exciting as the destination! It is a merry go round. You take new positions, but are always in the game.


