The Showdown Between App Inventor and Scratch

Michelle Lau Blog

Though I have hardly mastered Scratch since my first coding workshop (read about it here), I charged ahead anyway into another coding workshop to learn about App Inventor, a web application maintained by MIT that allows you to create and install stand-alone applications for Android tablets and phones. My verdict? Embrace it!
At first glance, App Inventor is very similar to Scratch; they both use a drag-and-drop interface, making computer programming much more feasible for beginners since it eliminates the need to produce fleshed out codes. They both allow users to create fully functional programs and help students ease into “real” coding. So which one should you choose? It depends. Here are some notable differences between the two that you should take into account when choosing which one to incorporate into your classroom:
Usability
I found App Inventor harder to grasp compared to Scratch because of how the code blocks are labeled. Whereas Scratch uses labels that make sense syntactically and semantically, App Inventor uses labels that are semantically invalid in English. Let me give you an example of what the two applications would say if I wanted to play an audio file after I click a button:
Scratch: {When this sprite clicked} > [play sound (audio file)]
ExampleScratch
App Inventor: {When (Button1) .Click} > {do [call (audio file) .Play]}
ExampleAppInventor
Even though this example is relatively easy to figure out, I think we can all agree that the App Inventor language does not resemble the way we normally speak in English. Point being, if you are new to coding and have not familiarized yourself with any coding language before, App Inventor will take more time to figure out. It is not rocket science per se, but it requires you to learn a new language and to resist the tendency to understand the code through the English language. Don’t take me wrong; this small obstacle may in fact be good news for those looking to ease into coding because the language has more resemblance to real world programming languages. It just means that younger users may have a harder time learning App Inventor and would likely be better off using Scratch.
Accessibility
Scratch is great in terms of accessibility because it only requires a web browser with Flash, so as long as students have a computer and access to Wi-Fi, they are set to go. Its interface is also more user-friendly because you can see the code and the actual program side-by-side. The only drawback is that all programs are restrained within the Scratch community, so everything must be launched through the Scratch website.
You have to switch between the Designer (where you design the layout) and the Blocks Editor (where you “code”) when you use App Inventor. See the following images.
App Inventor Designer

AppInventor_Designer

App Inventor Blocks Editor
AppInventor-BlockEditor

App Inventor is less convenient to use because it requires a web browser and a tablet or phone during the development stage. Unless you use a Chromebook, you can use the built-in emulator during development, but an Android device is required to launch the completed application. On the bright side, those with Android tablets or phones will be able to install the application onto their devices and access it any time.
Engagement and Real-world Relevance
While there’s no doubt that many students get hooked onto Scratch easily, I believe App Inventor has a clear advantage over Scratch when it comes to student engagement and real-world relevance because it allows students to use their app on a regular basis. In an age where most people cannot step away from their beloved smartphones, apps have become an integral part of our lives. The fact that students can create apps of their own liking to be used on their phones therefore makes App Inventor all the more attractive to learn.
I suspect teachers who love Project-Based Learning will probably drool all over App Inventor, too. Think about it: PBL is all about learning through solving real-world problems, and people have increasingly turned to apps to solve many problems today. From apps that help people edit your photos to apps that track public transportation (even a 12-year old can do this!!), students can tackle a wide range of problems through this platform. What’s more, those with an entrepreneurial spirit can even go on to create a business out of their apps!
In the end, Scratch and App Inventor are both invaluable tools to use in your classroom and should be given equal consideration. Scratch’s user-friendly interface and browser-only requirement makes it an ideal choice for younger students or those without access to tablets and Androids. On the other hand, App Inventor’s ability to produce stand-alone applications and its resemblance to coding languages (compared to Scratch) makes it an excellent option for older students and those who have access to Android devices – just make sure your students don’t stay glued to their phones throughout class!

Share this Post