Will Ring ever allow you to use Flutter?

89 views
Skip to first unread message

Anthony Souls

unread,
Jul 26, 2023, 2:43:11 PM7/26/23
to The Ring Programming Language

I'm just learning the language, but I was wondering if Ring has any plans to create Flutter apps? I don't know if it's possible. 

I know Flutter makes it easy to write Windows and Android apps and uses Dart, but it would be cool if you could use Flutter with Ring. 

Maybe if I got good enough, I would know how to create a Flutter library? It's probably not trivial, so I would never be able to do it, lol, but has anyone else done or thought of it? 

Thx

Mahmoud Fayed

unread,
Jul 26, 2023, 5:25:15 PM7/26/23
to The Ring Programming Language
Hello

A developer with knowledge about Dart, C & Ring could write a library to execute Ring code from Dart

Documentation:

But if you want to push Ring into the Flutter world and have it in a good position that reflects the language power

It will be better to create a libraries for Ring (Natural/Declarative) that translate/generate the code to Dart/Flutter
This way, a better mobile development tool could be provided where there is no need to learn Dart, Flutter or Ring
And a domain specific language (based on Ring) could be used to describe the application
It may be limited but it could be useful for beginners

I don't have a plan to do this myself, maybe a developer in the community could do that in the future

Greetings,
Mahmoud

Anthony Souls

unread,
Jul 26, 2023, 7:00:22 PM7/26/23
to The Ring Programming Language
I guess what I mean is, there is RingQT and RingAllegro, so couldn't someone make RingFlutter? 

You talk about transcompiling Ring into Dart and Flutter, so is that what RingQT and RingAllegro does? 

THx

Mahmoud Fayed

unread,
Jul 26, 2023, 7:47:58 PM7/26/23
to The Ring Programming Language
Hello

I understand your question, Ring support creating extensions using C & C++
Allegro is a game programming library for C
Qt is a Framework for C++

Through Ring support for extensions written in C/C++ we created RingAllegro & RingQt
No transcompiling is done
It's just like creating a Ring library, but this time the library is written in C/C++ instead of writing it in Ring
And this requires creating a binding that uses Ring API for C (To pass data from Ring to C functions and get output from C functions as Ring values)

Flutter is a framework for Dart language (Not a framework for C/C++)
And Ring doesn't support creating extensions in Dart language
So we have to go the other way
Dart call C/C++ code and C/C++ code call Ring code (Which we call embedded Ring in C/C++ instead of extending Ring using C/C++ code as we did with RingAllegro and RingQt)

Embedding Ring in C/C++ is what we did with (RingQt for Android & RingQt for WebAssembly) - We export a Qt project that contains Ring VM and run Ring object file (*.ringo)

With Flutter, Support Ring requires embedded Ring in C/C++ code then extending Dart with this C/C++ code - So many layers :D

Greetings,
Mahmoud

Anthony Souls

unread,
Jul 27, 2023, 9:05:23 PM7/27/23
to The Ring Programming Language
Thanks, I didn't know it was so complicated. I will stick to reading more of the documentation, lol :) 

Mohamed AbdElhalim

unread,
Jun 21, 2025, 12:47:28 PMJun 21
to The Ring Programming Language

"You would be better off avoiding downloading Android Studio to build a Ring application for mobile devices, as that editor does not support devices with performance close to average. This was an issue I did not expect to encounter."
Reply all
Reply to author
Forward
0 new messages