Learning Paths

Mobile Development

Ship apps people keep on their phones: native Android or iOS, or one codebase for both, with design, data and release done properly.

Finish this and you can design, build and publish a mobile app with offline data, a backend and the platform's own design conventions.

Starts at
Beginner
Topics
5
Projects
3
Of material
123 h
  • Kotlin
  • Jetpack Compose
  • Swift
  • SwiftUI
  • Flutter
  • React Native
01Beginner

Choose a platform, then learn it properly

Native Android, native iOS, or cross-platform: pick one to start and go deep before going wide.

Foundation

  • Android Basics with Compose

    Android Developers · course · 40 h

    Google's official course, from no programming experience to apps with data and networking.

  • Develop in Swift tutorials

    Apple Developer · course · 20 h

    Apple's own path into Swift and SwiftUI, built for people new to programming.

  • Flutter: get started

    Flutter · docs · 5 h

    One codebase for Android and iOS. A strong choice if you need both platforms early.

Project

A habit tracker on one platform

Small, useful, finishable.

  1. Three screens: list, add, and history.
  2. Store data on the device so it works offline.
  3. Use it yourself for a week and fix the three things that annoyed you most.
02Intermediate

iOS in depth

SwiftUI architecture, data flow and the platform frameworks, from Stanford's long-running course.

Foundation

  • SwiftUI tutorials

    Apple Developer · interactive · 8 h

    Step-by-step projects that build real screens with layout, data and animation.

Practitioner

03Intermediate

Cross-platform with React Native

For web developers: reuse JavaScript and React skills on both platforms.

Practitioner

04Beginner

Design for mobile

The platform conventions users expect, so your app feels native rather than ported.

Foundation

  • Human Interface Guidelines

    Apple Developer · docs · 5 h

    How iOS apps are expected to look and behave, including accessibility.

  • Material Design 3

    Google · docs · 5 h

    Android's design system: components, colour, type and motion.

Project

An accessibility pass on your app

Use your habit tracker with the screen reader on and the largest text size.

  1. List everything that breaks.
  2. Fix it: labels, touch targets, contrast, dynamic type.
  3. Record a short video of the app used entirely by voice-over or TalkBack.
05Intermediate

A backend, and shipping to the store

Sign-in, sync and notifications, then the release process and store listing.

Practitioner

  • Firebase documentation

    Firebase · docs · 5 h

    Authentication, a database that syncs, and push notifications, with a free tier.

Project

Sync it, then ship it

Turn the habit tracker into a published app.

  1. Add sign-in and cloud sync, keeping offline use working.
  2. Add one notification that respects the user's quiet hours.
  3. Publish to a test track or TestFlight with a proper store listing.

Not sure this is your direction?

A three-minute counselling sample is free.

Try counselling