News about Blockly in Catrobat (2nd try, hopefully this time with screenshots)

79 views
Skip to first unread message

Wolfgang Slany

unread,
Dec 17, 2020, 1:17:35 AM12/17/20
to blo...@googlegroups.com
Dear all,

Hope you're all fine! Thanks a lot to Rachel and the Blockly team for the update!

This year Catrobat has released the first integration of Blockly. To put that into perspective, Catrobat's apps have been downloaded 2.5 million times since 2014, and we currently have more than 250,000 active users per months, with more or less a doubling of our users every year. Through our Scratch to Catrobat Converter, our users have access to 66 million projects by other users, beyond the many hundreds of thousands of original projects that were created by our users on their phones. There are many new features, one of the newest being that our apps now allow to program patterns that can be executed on embroidery machines. See https://www.instagram.com/_embroiderydesigner_/ for some impressions from the embroidery extension, which is also available as our "Embroidery Designer" app (currently still only on Google Play; the iPhone version is still under development) dedicated exclusively to stitching. 

With the code of Blockly, our users can preview the code of other users' projects before downloading them (downloading allows users to execute the projects on Android phones or iPhones, since our interpreters are natively implemented for these phones). 

Here how it looks like in the released version --- note that we use Blockly only for command bricks, not in formulas, since we have a special token based (i.e., multilingual) editor for formulas:

image.png

Or, in Russian (the English parts are strings entered by the user, i.e., not part of the Catrobat language):
image.png


We are now well under way to integrate Blockly also in the programming (IDE) parts of our apps, but that's still under development. Here's a preview how it will look like once it is released:
image.png


One cool relatively new feature is that we now write many of our unit, regression, and integration tests also in the Catrobat language itself, i.e., the semantics is definable in the language itself, similar to jUnit for Java. Below is an example of a (in this case, very simple) unit test, namely here for the sine function, which specifies the expected behavior of sine in the Catrobat language. These cross-platform tests can be used for checking the behavior on different platforms, i.e., test the native code of the Catrobat language for Android and iOS, and possible future implementations, e.g., in the future, yet to be developed, new platforms. These tests are part of our code on github, and are also executed for each build of each pull-request on our continuous integration server:
image.png


The newest develop version of our Blockly based code can always be tried out on https://developer.catrobat.org/Catblocks/develop/ --- to find projects, you can download them from https://share.catrob.at/ --- for instance the project corresponding to the code shown in the first screenshots above can be downloaded from https://share.catrob.at/app/project/2e5d8918-14b7-11eb-a92d-005056a36f47 by clicking on Download here (the other marked buttons allow to download a compiled apk for Android, or to see the code with our Blockly code, though that uses not the develop but instead the released version of our code):
image.png


You can find some stats about our FOSS non-profit project from a developer perspective, available independently from on https://www.openhub.net/p/catrobat -- more than 600 volunteer developers have contributed to Catrobat since 2010, with an estimated 600 person years spent over the last decade (this includes the work of many more volunteer contributors to the project beyond developers, namely educators, translators, designers, outreach volunteers, and more).

Our Blockly-based code is available via https://github.com/Catrobat/Catblocks

Find our apps via https://catrobat.org/our-apps/ on the app stores. Please note: our iOS version was first released last year, so does not yet support all features of the Android version, which was first released in 2014.

Kind regards and stay safe!

Wolfgang
--
Reply all
Reply to author
Forward
0 new messages