O App Inventor utiliza uma linguagem de programação visual baseada em blocos que permite que iniciantes em programação possam criar seus próprios aplicativos para tablets e smartphones. Esta plataforma tem permitido a milhares de pessoas construírem software com utilidades no mundo real, e assim se perceberem como criadores e não apenas consumidores no ambiente computacional móvel. O MIT App Inventor é um aplicativo executado sobre o próprio browser (navegador), permitindo maior flexibilidade em seu uso, pois pode ser utilizado em qualquer sistema operacional. Atualmente a plataforma está disponível para uso também em Português do Brasil.
A imagem acima representa a arquitetura da Plataforma MIT App Inventor, organizada da seguinte forma:
Na "nuvem" ficam os servidores do MIT App Inventor, onde fazemos login para acessar a plataforma
Assim que é feito o login, parte da plataforma é executada no navegador do usuário:
Designer: área para criar a interface do aplicativo, adicionando componentes visíveis e invisíveis
Blocos: área para criar a lógica de programação do aplicativo, utilizando blocos de eventos
Celular ou Tablet: dispositivo cliente que se conecta ao Servidor Local através da mesma rede WIFI ou cabo USB
Emulador: simula um dispositivo e funciona como cliente, se conectando ao Servidor Local através de portas lógicas do próprio computador.
A imagem acima representa a estrutura hierárquica para criação de aplicativos no MIT App Inventor:
Componentes: são as partes que podemos incluir no aplicativo de acordo com a necessidade:
Visíveis: são componentes que o usuário visualiza na tela. Exemplos: botões, caixas de texto, legendas, etc.
Invisíveis: são componentes que fazem parte da funcionalidade do aplicativo, porém o usuário não visualiza o componente, para disparar ou ver o resultado de uma ação de componente invisível é necessário um componente visível. Exemplos: sensor de localização (GPS), câmeras, texto para voz, etc.
Variáveis: são áreas de memória que nos permite armazenar valores. As variáveis são criadas na área de BLOCOS.
Eventos: são as ações que disparam partes da lógica do aplicativo. Podem ser disparadas pelo próprio usuário (como botões) ou pelo próprio aplicativo (como o que fazer após tirar uma foto)
Funções: são blocos de lógica que permitem agrupar um conjunto de blocos para facilitar o reuso de determinada lógica.