Hay dos tipos de componentes principales en cualquier aplicación: los visibles y los no visibles.
Los componentes visibles son aquellos que podemos ver una vez hemos ejecutado nuestra aplicación (botones, cajas de texto, etiquetas, etc.). El conjunto de estos elementos se denomina comúnmente como la interfaz de usuario de la aplicación.
Por otro lado, los componentes no visibles son aquellos que no podemos ver en la aplicación, ya que no son parte de la interfaz de usuario. Proporcionan acceso a la funcionalidad interna de los dispositivos; por ejemplo, el componente Texting permite enviar y procesar mensajes de texto, y el componente LocationSensor permite determinar la localización del dispositivo.
Ambos componentes están definidos mediante una serie de propiedades. Las propiedades son fragmentos de memoria que permiten almacenar información relativa al componente al que referencian. Los componentes visibles, por ejemplo, disponen de propiedades relativas a su posición, altura y anchura, y alineación, que definen conjuntamente su aspecto dentro de la aplicación global. Todas estas propiedades se definen dentro del diseñador de componentes de AppInventor.