Summer Goal #2: Build a Mobile App

Categories Goals, Summer Goals
Introducing Norris ‘Lame’ Jokes 😀

My second goal for this summer was to build a mobile app from scratch.

I have had a little tinkering with Android development before but I never considered it to be a fast way to develop a mobile app. So I started looking for some alternatives.

Thankfully, I came across Flutter, Google’s new mobile framework for developing native apps for both Android and iOS using one codebase. The promise was exciting enough that I jumped right in and started reading some tutorials.

Flutter uses the Dart programming language. I’ve had some experience with Java so picking up Dart wasn’t a problem since they both have similar syntax.

But what I loved most about Flutter was the hot-reload functionality that allows you to see the changes of your UI without having to rebuild your app. It was really mind-blowing (if you’ve tinkered with native Android development before you’ll understand what I mean).

Introducing Norris Jokes

After playing with flutter and dart for a while and getting a taste of them, I decided it’s time to use my new skills and build something.

I came across a GitHub repository containing a list of APIs classified by categories. Scrolling down, an API called Chuck Norris Jokes API caught my eye.

Basically, what it does is returning a random lame joke every time you make a request to the API.

After brainstorming a little, I came up with the idea for the user experience: The app would deliver a new joke every time the user taps the ‘Chuck!’ button or swipes left/right. He can also share a joke using the Share button in the AppBar.

I said ‘Sounds good!’, cracked my fingers, and went to work.

I hacked the UI in under an hour and concentrated on the back-end stuff for most of the time.

I learned a lot along the way: how to make an asynchronous call with Dart, parse JSON data, handle exceptions, and show feedback widgets to the user.

I finished the app the same evening. I swear to god if I’d used native Android development, I wouldn’t be able to finish it the same day (looking at you XML and Kotlin).

Dart was pretty easy language to learn. After learning about its own quirks and concepts, I found myself intuitively coding with Dart without relying on tutorials.

In the end, although the app doesn’t do much, I’m still proud of my first baby and looking forward to my next projects with Flutter 😉

See you in the next post.

Like Love Haha Wow Sad Angry
I think, dream, and read a lot. When I am not doing all those, I love to run, drink tea, sing, and jam on my old guitar.

Leave a Reply

Your email address will not be published. Required fields are marked *