The MIT App Inventor team is delighted to announce the availability of Extension Components for testing. We hope the Extension Components will prove to be a major enhancement to App Inventor: Extensions provide a way for anyone to build their own App Inventor components, which others can then use in creating apps.
App Inventor is free and open software, so people have always been able to build personal systems and install their own components. But until now, the only way to make those components available to others has been to create and maintain a personal App Inventor server that has those components built in.
Extension components, in contrast, can be loaded dynamically into any App Inventor system, so they can be shared and imported into projects as needed. For example, educators and educational software developers to provide extension components tailored to specific lessons and activities, so that students can have these available in building apps. Examples might be simulations or tools for large-scale data analysis, or image recognition. Those features might be unfeasible to implement with the built-in App Inventor blocks, either because of processing speed or programming complexity. But the same capability might be readily implemented using extension components that encapsulate the necessary processing.
Anyone can create extension components. This requires gaining some familiarity with the App Inventor source code (located on Github) and programming in Java. Once you create an extension component, you can share it with anyone for use in their App Inventor projects. Extension components can be housed anywhere on the Web. They need not be stored at MIT or any other special place, although MIT hosts a repository where people can make extension components available for sharing and public use.
Today, we’re releasing a test server for App Inventor that supports the Extension Components feature. You can find it at extension-test.appinventor.mit.edu. There’s also a document called App Inventor Extensions that explains how to create and use Extension Components. Once we've accumulated enough feedback, we'll make extension components a regular part of App Inventor.
With extensions, the range of App Inventor features can be expanded enormously. We hope that people will explore this tool to build new capabilities for App Inventor and their creations.
The implementation of App Inventor Extension Components is the work students who participated with the MIT App Inventor team in through Google Summer of Code: Ethan Hon, Justus Raju, and Mouhamadou Sall. Other summer GSoC App Inventor participants in 2015 are Devid Farinelli, Yucun Li, and Shruti Rijhwani. All of them are extraordinarily talented, and the entire App Inventor community is in their debt.
I have one question though: why are the extensions limited to non-visible components (like stated in 4.2 of the documentstion)? Doesn't this forbid the development of scrollable arrangents for example? Or html-formatable labels? Or erc...