This post is the first in a series of articles on the layout and structuring of the App Inventor sources, which are available on GitHub under the Apache Software License 2.0. Each week an article will cover a different part of the system.
The App Inventor sources are broken down into dfferent modules
primarily at the directory level. When you clone the sources to your
machine, there will be a root folder called appinventor
under which
you can find many of the primary modules:
AICompanionApp
- The sources for the iOS CompanionAIComponentKit
- The sources for the components that run on the
iOS deviceaiplayapp
- The sources for the Android Companionappengine
- The sources for the app editor that run on Google App
Engineblocklyeditor
- MIT’s modifications to Google’s Blockly to support
our blocks editorbuildserver
- The sources for the build servercomponents
- The sources for the components that run on the
Android devicedocs
- The documentation for all of the blocks and componentsSchemeKit
- The sources for the Scheme interpreter used on iOSThe dependencies between these modules are:
This series will include articles on the following topics:
Anyone interested in App Inventor development should be able to gain a deeper understanding of the system through these articles. We may update them from time to time as the system changes.