Laroo-Pece Division, Gulu City, Northern Uganda
Uganda time
Programming - Intermediate

Mobile App Development: Build Your First App

Plan, build, test and publish a simple Android and iPhone app with React Native and Expo, designed for low data, slow…

About this course

Most people in Uganda and across Africa meet the internet first on a phone. That makes mobile apps one of the most useful things a young developer can learn to build: a savings-group tracker, a school notice board, a shop price list, a farm record book. This course takes you from the idea on paper to a working app on a real phone.

You will learn how mobile apps work and the main ways of building them, how to design for low data, cheap Android phones and patchy networks, and how to plan an app before writing code. Then you build with React Native and Expo, using JavaScript: screens, state, lists, forms, navigation, calling a web API and saving data on the device. You will handle offline use, permissions, privacy and security, test on a real phone and an emulator, keep your app small and fast, and publish it. The course ends with a capstone project.

The code samples are short and are meant to be typed and tried. Tools change quickly, so the course teaches ideas that stay useful and tells you where to check the official documentation.

What you will learn

  • Explain the difference between native apps, cross-platform apps, web apps and progressive web apps, and choose between them
  • Design an app for low data, slow networks, small screens and low-end Android phones
  • Plan an app by defining the problem, the users, a short feature list and simple wireframes
  • Set up a free development environment and run an Expo app on a real phone
  • Build screens with React Native components, state, lists, forms and navigation
  • Fetch data from a web API and show loading, error and empty states
  • Store data on the device and keep an app useful when the network is down
  • Apply permissions, privacy and basic security practice, and test and tune an app for speed and size
  • Prepare an app for publishing and describe realistic costs, updates and ways to earn from it

Course content

5 modules · 17 lessons · 6 h 9 min · 6 quizzes

Module 1: Understanding and planning mobile apps3 lessons

How mobile apps are built, how to design for African realities, and how to plan an app before coding.

  1. How mobile apps work: native, cross-platform, web and PWA 18 min
  2. Designing for African realities 20 min
  3. Planning an app: problem, users, features and wireframes 20 min
  4. Quiz: 8 questions
Module 2: Your first screens with React Native and Expo4 lessons

Set up free tools, run an app on a phone, and build screens with components, state, lists and forms.

  1. Setting up a free development environment 20 min
  2. Building screens: components, styles and layout 22 min
  3. State: making screens react to the user 22 min
  4. Lists and forms: showing and capturing data 25 min
  5. Quiz: 8 questions
Module 3: Navigation, web APIs and data on the device3 lessons

Move between screens, fetch data from the internet and keep data stored on the phone.

  1. Navigation: moving between screens 22 min
  2. Calling a web API and showing the data 25 min
  3. Storing data on the device 22 min
  4. Quiz: 8 questions
Module 4: Reliable, safe and fast apps4 lessons

Handle offline use, protect users, test properly and keep the app small and quick.

  1. Offline use and slow networks 22 min
  2. Permissions, privacy and security 22 min
  3. Testing on a real phone and an emulator 20 min
  4. App size and performance 20 min
  5. Quiz: 8 questions
Module 5: Publishing, earning and your capstone app3 lessons

Release an app, understand costs, mobile money and updates, then build a complete simple app.

  1. Publishing: app stores, APK sharing and PWA install 22 min
  2. Earning, mobile money and keeping the app alive 22 min
  3. Capstone: build a savings-group tracker 25 min
  4. Quiz: 8 questions
Final exam

26 questions. Pass with 70% or more to earn your certificate.

What you need

  • Completed JavaScript for Beginners (javascript-basics) or equivalent: variables, functions, arrays, objects and arrow functions
  • A computer (Windows, Mac or Linux) with a stable internet connection for setting up tools
  • An Android phone or iPhone to test on is very helpful, but an emulator can be used instead

Further reading

To install on iPhone or iPad: tap the Share button in Safari, then choose "Add to Home Screen".