In this story, I want to tell you about why I decided to discard one of our native apps, Pollen Chat which we built using Java on Android Studio.
First, let me tell you a little bit about what the app does. Pollen Chat is a hyper-local messaging app. So, basically it helps you in discovering and connecting with other local bodies like individuals and businesses. We believe that hyper local communication is a big problem and not many companies are working actively towards a solution.
Pollen chat is a text messenger which connects you with your neighbourhood.pollenchat.com
Back in 2014, when we were just starting with an initial prototype, we picked up Android Studio and Java, as they were the best choices available back then for any sort of serious Android development. To be honest, there were not many choices to choose from.
I installed Android Studio 2 on my system which had an i5 Haswell, 4 gigs of RAM and a 2 GB graphics card which didn’t count. The boot up time of Android Studio was obnoxiously long. Once booted up, a gradle process used to kick in and that used to bring my system down on its knees.
It was PAINFUL.
Now one might argue that for developing native apps one must use a beefier system. As a matter of fact, it’s quite true but from a business perspective, it does not look very logical.
Why should one invest money into buying something in order to create something which is not guaranteed to make any money?
Those were exactly my thoughts back then and I was not ready to shell out 60–70 thousands INR just to develop an Android app, which probably would not generate profits.
Hence, I stuck with Android Studio and it took me about 5X longer than it did using Expo (React Native).
Although, I had a native app and it was performing fine on the Play store but the entire cycle of developing and debugging using Android Studio and Java was very slow.
I started trying Expo on the side, during my free time, last year. I managed to develop a simple calculator app using Expo, so as to get some first hand experience with the tool-chain. After writing that calculator app, I became pretty confident in what Expo had to offer. So.
One fine day, I called it quits and decided to re-build the entire app using React Native.
Following are some of Expo’s features which greatly improved my development workflow.
No dependency on Android Studio.
It means that one does not need to employ heavy machines to write Android apps. There is no heavy Gradle build process and there is no Java’s “stop the world” garbage collection while running the IDE. I no more experience sluggishness on my system while developing with Expo.
Although, I still use Android Studio for other projects, I prefer to work with Atom along with Expo to write cross platform apps.
I know this point has been rinsed and repeated quite a lot already but it does make a stark difference. On Expo (RN) I can just save my changes and those get loaded on my development device almost instantaneously.
Android Studio also have this instant run feature but I never seemed to make it work properly and it is still slower than the hot reloading counterpart of RN by an order of magnitude.
Expo’s additional APIs like the push notification API has greatly helped us in integrating push notifications into our app faster than ever. Earlier, I designed a custom back-end system to interact with Google Cloud Messaging (GCM) and track the status of all GCM messages.
Now, I just use Expo’s push notification API and it handles everything for me.
An opportunity to make an iOS counterpart, QUICKLY
By using Expo, we have better positioned ourselves for launching Pollen Chat’s iOS counterpart in the near future. As of now, we are Android only but we can easily launch the app on iOS, after making a minimal amount of changes. We are on it, btw.
Awesome support for FREE
I think I’m in love with how active the guys at Expo are! They are always around the corner when you are stuck and need help. You know what is even more interesting? They don’t even charge for the kind of support they provide. Expo’s forum is top notch and most of the times one is likely to get her questions answered from the Expo engineers themselves.
I am writing more apps using Expo and hopefully will come out with some news soon.
Make sure to follow me in case you want to hear more from me. Also, recommend the article if Expo has helped you in writing better apps real fast.
Till next time…