May 27th, 2020
I officially became an Android developer. For the past several months I have been working with Java and Spring and Spring Boot frameworks and languages. For those of you that might not know, Java is a programming language that came out in the early 90s and Spring is a framework for creating web applications in Java. If you are familiar with NestJS then you will have a good understanding of how awesome Spring and Spring Boot are.
I have been developing microservices using Java for the past 6 months. It has been a really awesome experience. It lead me down a path to learn more about Java and all the things that you can do with it. I learned that Java is the main language used in Android development. Kotlin is slowly laying claim to this but Java was the first native language for Android.
Android phones started coming out around 2008. They were a cheaper alternative to Apple's smartphone the iPhone. But, as with most technology, Android phones started to become better. More sleeker, have more power, etc. We now have AAA games like Fortnite, CoD Mobile, Final Fantasy, Need for Speed and Madden to name but a few. Our phones have become as powerful, if not more powerful, than classic consoles like the SNES, Playstation, and Playstation 2. I have done game development in the past and with my new found passion for Java I have found the platform that I want to develop for. Android!
Well to be honest I love Android. I bought my first smartphone back in 2008 and fell in love with how Android phones worked. They have made vast improvements over the years and have proven time and time again that you don't need to have an overpriced phone to enjoy all of the apps and features of new smartphone devices. I am currently rocking a Razer Phone 2. It has all the bells and whistles as the latest iPhone but is made by the PC gaming peripheral and laptop makers Razer. It has been able to handle everything I have thrown at it and more. I stream my PC games from my Steam library to it sometimes while I am not at home.
I really enjoy the Java language. I primarily build web applications in JavaScript. I am wanting to branch out and I feel that Android app development will help me to branch out. The other deciding factor to why I chose Android and not Apple was the price to get started. I can use any computer that I already have that runs either some flavor of Linux or Windows which is good. That saves me a couple thousand dollars saved right there and the fee to become a Google developer is a one time $25 fee as apposed to the $99 yearly fee that Apple charges. Which is highway robbery in my opinion but that is neither here nor there. Both companies also take a percentage of what you make but with Google only charging a one time fee of $25 and 30% of what I make vs Apple's steep $99/year plus 30% of what I make it was a no brainer to go with Google and Android.
I have finished working on my very first app. I know the market for the app that I made is a big one with lots of others already in its place but The Endless Runner/Infinite Runner genre is a really fun one to start with. I learned quite a bit about the process of using the libGDX library to build the game as well as what it takes to bring in all of your assets and code to form the game in Android Studio.
The name of the game will be Coin Collector. It currently plays similar to Flappy Bird but you aren't dodging pipes that look like they belong in Mario to warp through to new worlds. You are collecting coins to see how many you can collect in one run. I hope that anyone who plays it has as much fun playing as I did making it.
As a follow up to this blog post I will be going through the various stages of the development process that I went through to build out this game. I will break them down into individual posts that pertain to the tools I used to create the game. Some of the tools will be combined with others as I don't think they will make for a good single blog post.
Thanks
Jonathan Reeves