Coding Languages needed to make an extension

Can you tell me what languages ​​I need to be fluent in to build an extension and what I need to build with? I want to start building a component


My recommendation is Java for that

Rarely, you may use Kotlin, but it may result in a runtime error

You can use many IDEs, but if you want to make a Built - in component, download App Inventor source code and add it. If you want the public to see it, you may submit it on GSoC

1 Like

You will need to learn Java. My website have some guides concerning that.

In the Important Links > Extensions Development, you can also find useful links for extension development.

I have 4 open-source GitHub extension repos so that you can learn from.

Here is a Java quiz.

And here are Java tutorials.

You can also ask in this community here in the Open Source Development + Extension Development category, and an extension expert might know. You can also personally ask me.


tnx my friend


Not sure if it is available.


But I think I have seen someone stating about the ability to create extensions using Kotlin... :thinking:

1 Like

For more resources, you have App Inventor (open source) in GitHub:

Stack Overflow:

Android Developers:

Even Google (search on Google when you have things that you do not know).


We can also use Grepper (which I use almost daily) for learning and practicing App Inventor extensions Java code! You may use it for reference...

1 Like

You can learn from @Taifun's open-source extensions:

A huge extension of @vknow360:

Some extensions by @Kumaraswamy (check their list for finding extensions that are open source):


Basically java is needed for that you can use appinventor sources, extension template, appybuilder ide, niotron ide
But currently the extension building tool Rush has introduced kotlin so you can try it also.


If you are looking for a simple, online IDE, use

If you are looking for an advanced offline tool, use Rush.

However, it is always good to learn the languages before you start making extensions. Don't just Copy and Paste codes you find. Start from the basics - for example, a simple addition program with Java. Then, learn how extensions are structured. For example:

  • Importing classes.

  • Adding blocks for your extension.

  • Add features for it to be available in the Designer to edit its properties (note: most, if not, all extensions are non-visible).


Currently, ALL extensions are non-visible.


Rush is not an IDE.


Would we rather say 'Rush, is an extension IDE compiler'?

1 Like


Compiler is a program that converts instructions/data into machine language. So, I say javac is a compiler when compiling any extension.
Rush provides a powerful environment to create an extension. So, Rush is a development tool.


you need to be very good at java , you can use rush tool to help you build it , but still not easy thing and not much guides or tutorials about it.


It can be easy as a piece of cake if you understand its concepts, structure, etc.

There are a lot of guides about extension development, even if you are only talking about Rush. I have seen some YouTubers making extensions with Rush.

It depends on what extension you are talking about. A newbie in Java can create an extension that solves simple math problems.


I'll also try to make an video on it after 19 march

1 Like

i didn't mean simple math problems like +/- or square root ... etc

i mean some UI components or some new component to be added which is the basic idea of the term extension existence

Read this sentence again.

1 Like