  Teaching programming to K-12 students has become essential. In this context,
App Inventor is a popular block-based programming environment used by a wide
audience, from K-12 to higher education, including end-users to create mobile
applications to support their primary job or hobbies. Although learning
programming with App Inventor has been investigated, a question that remains is
which programming concepts are typically used and how this compares to other
block-based programming environments. Therefore, we explore the characteristics
of App Inventor projects through a large-scale analysis of 88,606 apps from the
App Inventor Gallery. We discovered that the size of App Inventor projects
varies from projects with very few blocks to some surprisingly large projects
with more than 60,000 blocks. In general, much fewer design components are used
than programming blocks, as typically, to work properly, several programming
blocks are necessary for each design component in an App Inventor project. In
addition, we also compare our results with the analysis of 233,491 Scratch
projects reported by Aivaloglou and Hermans [4]. Several differences can be
observed, as in App Inventor projects events are more predominant, with lesser
use of conditionals and loops. These findings may guide the decision on the
adoption of App Inventor for teaching computing depending on the specific
learning objectives or indicate the need for tailoring the curricula.
