You have decided to start a career as a mobile developer, but you are not sure how to start. No worries, the purpose of this article is to provide you with recommendations for getting started as well as resources and tips that will make your journey more pleasant.
What programming language should you pick?
When creating mobile apps, you can go either with native development or cross-platform development.
My recommendation is to start by learning a native technology. The reason for this is because cross-platform technologies, like React Native and Xamarin, requires you to have a certain level of understanding of the native SDKs. Do not get me wrong, you can still create apps using cross-platform technologies without having previous experience with the native SDKs. However, it could be more challenging.
My first mobile app was an iOS app built using Xamarin. Yes, I was able to complete the app successfully, and yes, it would have been easier if I had experience with the native iOS SDK.
If you decide to develop for iOS devices, then Swift is the way to go. On the other hand, if you choose to build for Android devices, you are between Kotlin or Java. If you already have a Java background, I recommend spending 1 or 2 weeks learning Kotlin. It is a very flexible language that allows you to do things that Java does not easily allow. On the other hand, if you have no background with Java, I recommend starting with Java. The reason is that there is still a lot of tutorials and resources out there written in Java, and it would be easier to understand if you know the language. However, as soon as you feel comfortable with Java, move to Kotlin.
Google is actively pushing Kotlin forward and don't be surprised if it becomes the default language for Android development in the future.
I personally started with Java, since I already had a Java background, and then moved to Kotlin. However, I still prefer reading documentation and tutorials in Java.
Should you start developing for Android or iOS?
Both iOS and Android are great platforms, and none of them is perfect. The platform you choose will depend on preference and the type of market you want to target. For example, my first native app was for iOS just because I had an iOS device at the time. I eventually moved to Android for two reasons. First, because a client wanted me to build an app in Android and second because the Android market is larger than the iOS market .
My recommendation is just to pick the one you like the most and start developing for it. Again, no platform is perfect, and you will find great jobs and resources for both platforms.
What are good ways of learning?
Regardless if you develop apps for Android or iOS, the best way to learn how app development is simply by coding and practicing. Reading is essential, and watching tutorials as well, but they are useless if you do not write code and create apps. My recommendations for speeding the learning process are the following:
- Create apps that you would like to have for yourself: They do not have to be complicated, beautiful, or perfect. The purpose is for you to practice and get familiar with the SDKs. As your skills improve, you will naturally add more complexity, make better UX interfaces, and maybe earn money with your apps.
- Try recreating existing apps: There are many YouTube channels dedicated to recreating existing apps. The good thing about those channels is that you get to implement the whole app and learn how other people implement certain features.
- Create prototypes: Let's say that you want to learn how to use a new library, but you do not have a specific project or idea where to implement it. Then just create a small prototype whose purpose is to test and try out that library you want to learn about. Save the prototype on your GitHub account and use it as a reference for any future project.
How to stay up-to-date
The beauty about the computing world is that technology advances very fast and what is relevant one year, may become obsolete the next one. This is also a curse since staying up-to-date may feel like a job. I primarily use the following three sources to stay up-to-date with the latest technologies and trends of mobile development:
- Official Documentation: Follow Google's and Apple's official website, as well as Android's YouTube channel for staying up-to-date with the latest trends, tips, and releases.
- Forums and Blogs: There are tons of forums and blogs out there. In fact, it is not possible to follow them all because there are just too many. Medium and Reddit are my favorite sources. In the case of Medium, I follow people who are involved in the Android community and regularly post articles. In the case of Reddit, I follow the r/androiddev and r/Android to stay up-to-date. li>
- Job Listings: To know what companies are searching for in mobile developers, I recommend reading the description for mobile development jobs. You will find what technologies and skills companies are seeking for in mobile developers. The information provided will guide you on what to focus your studies, what skills to develop, and what libraries to learn.
Now more than ever, there is a significant need for mobile developers. There are many ways of developing mobile applications; however, I recommend to start with native development. Android and iOS are both great platforms. Just pick the one you like the most and start developing for it. The best way of learning is by creating simple apps for yourself and trying to recreate existing apps. Finally, it is essential to stay up-to-date with the latest news and trends. To do so, follow your favorite blogs, authors, and read job listings to stay up-to-date with the technologies and skills companies are looking for.
Don't forget to like and stay up-to-date for the upcoming articles.
How would you rate this article?