[Private | BETA] Rapid - Create Extensions Using Blocks!

Have you ever had an idea for an extension but weren't able to create it because you don't know how to write with high-level languages such as Java or Kotlin and have only programmed using blocks? Rapid is your solution!
Rapid is an online extension building platform that enables you to create extensions for AI2 and its distribution using coding blocks and simplifies the process of building extensions, even if you don't have coding experience except in blockly-based programs such as AI2.
Using Rapid, you have access to all Android, App Inventor, Java, and even 3rd party JAR files within blocks. Enabling you to implement almost all of the features that are supported for extensions written in Java. You also have an interface that would help you manage all the different metadata, manifest elements, and information about your extension.

Why Use Rapid?

Rapid provides you with many features that would help you develop extensions more efficiently, whether you are an extension developer or not.

  • Blocks Based Coding which is trans-piled directly into Java code.
  • A fast and optimized compiler that builds your extension in seconds.
  • A neat and customizable user interface that makes it easier to manage your extensions
  • Support for External Android, App Inventor, and JAR libraries.
  • Proguard and protection of your extension
  • Brief explanation of each java error including exact steps to solve it.
  • Warnings on block editor for combinations that could result in errors ( ex.: Functions without a return value)
  • Auto Fixing for errors in code ( attempting to typecast types where one of them is a subclass of the other under the hood, inferring types of variables, and so on..)
  • And much more..!

Examples

A very simple extension to add two numbers:
image
An example to create a TextView (Label) in a layout:

( You don't need to understand every block function, for now, they will be briefly documented on release to be more understandable and to provide basics for new users ( ex.: contexts, extension containers, and views )

.

Beta Testing

To provide Rapid as a more stable tool. I decided not to launch Rapid directly, but release a private beta version first, which would be tested by the community members to help find bugs, and errors and suggest new features.
Everyone in the community is welcome to help with beta testing (whether you are an extension developer or not ).
To enroll in the Rapid's private beta testing, please submit here
Registration will be closed on 2022-09-23T10:00:00Z
Thanks in advance to anyone who joins private beta testing. It's much appreciated.
Cheers,
Mohamed Tamer

22 Likes

This looks great. You still have to have some knowledge of Java I guess but this will make a lot of people happy. I also think it will generate a lot of questions when people start using it. :grin: I would love to beta test but don't have much time at the moment. Good luck with this.

5 Likes

Nice, but atleast some knowledge about java must be there since syntax is programming-like

2 Likes

Thanks, @Peter and @Know_About_IT!

I would say knowledge with java would make you develop advanced extensions with Rapid more easily and would make it easier to get started with Rapid, but it's not a requirement. One could make extensions without learning Java by practicing with Rapid and reading the documentation which would contain everything you would need to basically get started with extension development with Rapid and the basic android and appinventor fundamentals ( including knowing what a Context is, what a view is, what a component component is, etc..)
When I started creating apps with AI2, I needed some time to understand how blocks work in it, although I had knowledge with other high level and blockly languages before. It's the same in Rapid. I don't expect them to understand everything in one glance. But I don't also expect them to learn Java to get started with Rapid.
TL;DR: It would be helpful to have some basics of Java and android development before using Rapid. But it's not required.

Yes! I might create a separate discourse community for Rapid so everyone's questions and answers would be gathered in one place and not scattered across the various appinventor communities.

No problems. Thanks for your interest.

7 Likes

That's a great idea Mohamed. Although I think Discourse is right for App Inventor, at a minimum of $100 per month, it's not the best choice for Rapid. phpBB is also a nice forum App, and it's free to all:

To see it in action, take a look at the Pure Basic site:
https://www.purebasic.fr/english/

1 Like

.... and by the way, never mind the program, what a great logo!

1 Like

https://community.appzard.com/t/alpha-rapid-create-extensions-using-blocks/1152/2?u=bodymindpower

But as I already asked in the Appzard community:

1 Like

Yes, the plans for discourse starts at $100/month to host the discourse community for you but fortunately discourse is open source and it provides a self-hosting option where you would host discourse on your own VPS. In that case, you would only need to pay for the VPS ( starting from around $5 USD ).
PhpBB seems nice too. Will surely check it!

Sorry, it seems posted on appzard community the announcement for extending the registration date but forgot to share it here as well. Will post it now. :+1:

1 Like

Thanks for every one who have enrolled for the beta testing program!
I have extended the end of submission date to : 2022-09-23T12:00:00Z
To enroll, please click here;

5 Likes

Great tool :clap:@MohamedTamer

1 Like

Will this be open source?

5 Likes

I submitted registration yesterday, Today in my email and community I received nothing.

You also said that registration time is extended. Will the testing files be sent automatically or will you send?

1 Like

Nice work, but I still have some questions.

  • Does it support JAR libraries? A lot of extension developers are quite fond of libraries, and implementing it in Rapid makes life much easier.

  • Does it has most of the Java built-in classes, other than ViewGroup, such as EditText, or Window?

Also, I would love to see a function where you can change Java code into blocks in the builder. Nice work. One of the most craziest improvements in App Inventor development.

3 Likes

Yes! JAR files are supported in Rapid.

It doesn't have most, but all of the Java and android classes that are useable in android.

I will send them when the registration finishes. They aren't sent automatically.

I wanted to make it open source like all of my other projects ( I even made its earlier code open source ) but unfortunately, due to some technical difficulties, I had to make it closed source.

4 Likes

I don't think there is anywhere a way/approach that accomplishes this. :woman_shrugging:

Who knows, 3 years ago no one even had the idea that no code extensions could exist.

4 Likes

Of course, but I didn't say that it's fundamentally impossible.
"Every thought can become reality", to put it philosophically.

4 Likes

It's a wonderfull project !
I miss it when i started on AI an i had to learn java and android way o working to make my own extension ...it was very long and hard .
I'm sur this will have great success...

2 Likes

Hello everyone,
Thanks for everyone who has enrolled to beta testing. I appreciate everyone who have enrolled and it would be a pleasure to work with you to make Rapid a better and more stable platform!
The enrollment form has been closed.
Most people voted for Telegram as the platform to host beta testing on. Although many voted discord as well. So I decided to create both Telegram and discord group so that it is easy for everyone one to choose their favourite platform.
If none of discord or telegram suits you. Please PM me here and you would be able to help beta testing through the community ( although it's best to use the telegram/discord group as long as it's possible).
Emails will be sent tomorrow containing the discord server / Telegram group link.

5 Likes

I still don't understand why you call it beta and not alpha, since you can compile extensions with this...