App Inventor Roadmap

This page maps programming concepts to specific tutorials and lessons. Find what you want to learn!

What is an App?

Component Properties

  • Introduction
  • Paintpot demonstrates the use of component properties, both in designer and blocks. AI1 AI2

Functions and Parameters

Functions are things an app can do, like vibrating the phone or sending a text. They are built-in to the App Inventor language and can be called by your apps.

  • Hello Purr, step 3, demonstrates setting function parameters.


Variables are named memory cells, something like the cells in a spreadsheet. If your app needs to remember something and you don't have a component property to do that, you need a variable

  • Paintpot introduces variables, check out step 3 AI1 AI2
  • Chapter 16 from the App Inventor book


Conditionals are "if" and "if-else" blocks that allow the app to ask questions before determining what action to take.

Timing, Animation, and games

Animation-- action over time-- is a key concepts and a fun way to learn programming.


Texting is a great way to add a social element to an app.

Location and Maps


Lists are variables that represent multiple memory cells

  • The President's Quiz introduces lists and indexes for walking through them AI1 AI2
  • The Notetaker app demonstrates the use of (persistent) lists (AI1 only).

User-generated data

User-generated data is information added as an app runs, typically by the end-user entering data in a form. It is more complicated to program than static (fixed) data because the code is more abstract

  • Notetaker-- the user enters notes in a Twitter-like form.
  • Xylophone-- the user plays an instrument and the system records it. AI1 AI2
  • MakeQuiz-TakeQuiz-- the "teacher" enters quiz questions, the "student" takes the quiz.
  • BroadcastHub-- the system records a list of phone numbers who have texted in. AI1 AI2

Persistent Data

Persistent data is database data-- information that lives on even if you close and re-open an app


Iteration means to repeat blocks. Need to do something a thousand times, or on each item of a list-- you need iteration.

  • Chapter 20 from the App Inventor book (foreach and while)
  • The Notetaker app (AI1 only) uses a foreach to display a list of notes, see steps 3-5.
  • The Math Blaster App (AI2 only). The MathBlaster app generates addition questions for students and checks their answers. It uses for range to generate a random number of items in the equation, and foreach to sum the numbers up. This tutorial is for App Inventor 2.


Procedures are how you can turn a sequence of blocks into a single one that can be called/reused. They are fundamental to effective software engineering

Software Engineering

Web Data

Web data is persistent data that is shared amongst users and devices. App Inventor provides the TinyWebDB and Fusion Table components for this.

Web APIs

Many organizations provide programmatic access to data through application programmer interfaces (APIs). Using the Web component, you can use such APIs to integrate and mashup data within your apps