The 2022 Mobile Developer Roadmap
It's 2022 and there is no better time to release a mobile app. We all have that friend, or have been that person at a happy hour, family gathering, rendezvous with friends pitching that next greatest app idea. After the chorus of "wow, what a great idea for an app", the next question asked is "how do you get started?" Below is a comprehensive guide to answering that practical question, from first lines of code, to App Store publishing, to marketing the app.
TL;DR
Long story short, here's the roadmap:
- Learn JavaScript
- Learn React Native
- Learn Firebase
- Learn Android Studio / Xcode
- Learn basics of Java / Swift Surprised it's only 5 steps? Keep reading.
Cross Platform Technologies
I'm sitting in the snowy, mountainous state of Colorado where in the U.S. approximately 45% of mobile users are on iOS devices and the rest are Android (there might be some BlackBerry and Windows diehards out there). If you didn't already know, each operating system is built with a different language. In the past, if you wanted to develop an app for iOS it meant learning Swift, and for Android, Java, but in 2022 there are many frameworks to choose from where a single code base writes for both platforms.
Learn JavaScript
Whatever framework you decide to learn to get you from napkin to App Store, JavaScript is the core language for most cross-platform frameworks and web apps. Learning JavaScript simultaneously gives you access to both web a mobile, which is essential to offering your new idea over the web and mobile.
Here the top 5 best resources for learning JavaScript:
- Codecademy
- Udemy
- Mozilla's JavaScript Guide
- JS for Cats
- Full Stack Academy
Why JavaScript?
Imagine it's 1998 and you're going on your dream vacation to Europe. You want to see the Eiffel Tower, watch the guards change at Buckingham Palace, and walk the streets of Vienna. There isn't a common currency among European countries yet, so you set aside an appropriate amount of Pounds, Franks, and whatever else for your journey so you can pay for all your attractions on the trip. Wouldn't it be nice if in the future there was a single currency you could use between countries at the same exchange rate? Well similar to the Euro now, the programming language equivalent is JavaScript.
JavaScript is the language of the web, and framework creators like React Native and Ionic take this common JavaScript knowledge and translate it to native code. Now, with a single common codebase, a web developer can create a web and cross platform platform mobile app. By learning JavaScript the possibilities are endless.
What is TypeScript?
While learning JavaScript you may hear the term TypeScript a here and there. TypeScript is a superset of JavaScript that offers a declarative type syntax to help type check your JavaScript code to reduce runtime errors. If you're learning JavaScript from a strongly typed language like Java or C#, TypeScript will come naturally as the syntax mimics that of the strongly typed languages. If you're just starting out, learn vanilla JavaScript first, and then when you're familiar with the syntax, branch out to TypeScript.
Learn React Native
There are many cross-platform frameworks to choose from but arguably one of the most robust and versatile is React Native. Developed by Facebook, and with a whopping 100.4K stars on GitHub, React Native is a twist on the React framework designed specifically for mobile development. In comparison to other frameworks like Ionic, React Native components represent native code, offering near native performance (if I'm using Ionic, I'm writing HTML in a full screen window frame instead of using native components, reducing performance for more complex apps significantly).
Let's go over a scenario: You and your friends wrap up a happy hour where a friend pitches you a dog socialization app. Everyone has a good laugh about the idea, but you're intrigued and start to ask some more specific questions. Is this a dating app for humans with dogs, or a way to socialize dogs? Is this a tinder like interface where owners swipe on dog profiles for their dogs?
Well, the exact scenario happened to me which lead to the production of Muttch, and with the help of React Native, as a solo dev produced the app in 8 weeks! Here's the timeline we followed:
- Week 1: Requirements and Business Model
- Week 2: Design (Adobe XD)
- Weeks 3 - 7: Coding and iterations
- Week 8: Beta Launch
By knowing JavaScript and React, it was a seemless transition to React Native and we were able to have a Beta in just 8 weeks from discussing the idea over drinks. Without React Native, we would have needed to code the app in both Swift and Java to reach the iOS and Android markets which would have likely tripled our time to market. Knowing the React Native framework offers amazing efficiencies to shorten that precious time to market and get your Beta to the world.
Not looking to develop a SaaS? There are plenty of amazing collectives out there like g2i that offer amazing opportunities to React and React Native developers. The hiring process is straight forward: handle the coding challenge, interview live over questions on your project, and you're in! If you're looking to kickstart your freelance career, knowing React Native makes you an instant asset to hundreds of companies out there needing work on their React apps. Want to start something from scratch? Checkout Upwork where hundreds of entrepreneurs are pitching their latest app idea every day, and are willing to overpay a talented developer to turn their dream into a reality.
Learn Firebase
While React Native provides a robust framework for handling the gorgeous UI's your users expect, Firebase is the one stop shop for writing all your backend operations in JavaScript. Remember when your grandma said "Ah, crud" was a bad phrase? Well, Firebase's Firestore NoSQL cloud database handles all of your CRUD (create, read, update, delete) operations with lightning fast, scalable and inexpensive database.
Here are the hottest features of Firebase:
- Authentication: Effortless, secure user authentication
- Cloud database: A NoSQL, fast, optimized database
- Analytics: Integrated Google Analytics
- Messaging: Push notifications and one-off messaging campaigns
- In-App Messaging: Banners to appeal to your users
- Crashlytics: Answers to why your app crashed in real time
- More: Marketing, Campaigns, A/B Testing As a new or experienced JavaScript developer, integrating Firebase is time saved so you can spend time on beautifying that UI.
Learn Android Studio and Xcode
React Native allows two workflows, managed or bare. A managed workflow means they handle all the native build requirements through Expo, and a bare workflow means you need to familiarize yourself with Android Studio and Xcode to bundle and distribute your app. A managed workflow is perfect for a simple app that doesn't require a lot of native customization, while a bare workflow gives you the flexibility to integrate React Native code into an existing native project or start with that flexibility from scratch. If you're building a React Native app in a manage workflow (Expo) then you will likely not have to cross paths with Android Studio or Xcode at all. Otherwise, study up on manifests in Android Studio and workspaces in Xcode which are necessary for distributing your app.
Learn Basics of Java / Swift
Wether you're working with a bare or managed React Native workflow, it's important to know the basics of Java and Swift because at some point, you or your client are going to need want some native capabilities. Knowing the basics of Java for Android and Swift for iOS are going to give you a competitive edge over all the other native and cross platform app developers in the market. While it's great to know a cross-platform app, the closer you can get to the native code and understand what's going on beneath the hood, the better.
Wrapping Up
While there is no definitive guideline to developing mobile apps, if you know React Native and Firebase, you can impress any client with a high performance, native friendly app in 2022. Whether you're a beginner or seasoned programmer, this developer roadmap will lead you to month over month of amazing revenue, but more importantly, the confidence to go from napkin to mobile app in a matter of weeks. Proxy Digital can help walk you through the initial steps and get your idea to the app store: Proxy Digital