App Inventor Limitations
App Inventor is a new product from Google that allows anyone to build their own Android apps with minimal effort, and almost no programming knowledge. It's fantastically quick and easy to get up and running and you can have your own apps built into APKs and running in no time. There are loads of impressive controls that let you access many of your Android phone's functions. But this page is a brief discussion of the limitations of App Inventor when it comes to building apps that can actually be used and deployed.
Is it viable to use App Inventor for building your own apps?
Not really, no. Currently, App Inventor is in beta and is rather buggy, and the tools you have to work with are so limiting it's barely possible to build an app of any use at all. Add to this the fact that you can't currently deploy your apps in the Android Market, and App Inventor seems nothing more than a learning tool. But that's all it claims to be. At first you notice how impressive the IDE looks, with all its useful looking controls, but as soon as you start to try to actually use them you will find that with its current limitations, App Inventor is all but useless for actually building any apps that can be used.
- No local variables. All variables are global and unique. If you're a programmer, you'll know what a disaster this is
- The Blocks Editor (where you do the "programming") is pretty buggy in its current form, but I'd expect this to improve before long
- APK packages when built come out huge. 3+ Mb for a "Hello World" app shows you how bloated the APKs are
- Programs of any complexity execute very slowly
- You cannot change the app's icon. (Not without manually editing the APK and re-signing it)
- Currently your apps can only have one "screen". You can get around this by showing and hiding screen layout controls, but this makes the problem of all variables being global even worse.
- Big arrangements of blocks (routines) can quickly become larger than the Blocks Editor's visible area so you have to keep un-snapping blocks to be able to see the bottom of them
- Once you app has more than a few blocks it just become a confusing mess and they start to overlap each other. If you "Organize All Blocks" everything is tidied up but then you then can't find anything
- There is currently no way of accessing files on the SD card or elsewhere in Android's file system
- Bigger projects cause the blocks editor to become very slow
These are just a few of the major limitations I've come across when trying out App Inventor for myself. It's a shame. While the visual way that App Inventor works is so simple and elegant, it doesn't lend itself to building anything more than educational apps. For now, it's absolutely no substitute for the proper Android SDK when it comes to building or deploying usable apps. I hope it progresses soon so that it can be used to build usable apps.