Xojo Alternatives for Cross-Platform Development

Linux ? no idea
Windows ? no idea

on macOS its become less & less common to find unsigned apps

1 Like

reading it makes my head ache

Forth & APL rank at about the same spot on my list of least favourite languages

1 Like

Can you post an example of a simple CRUD app, with a single window and how to build it for widows mac and linux?

Building an executable is just a matter of ticking the checkboxesā€¦

1 Like

And about the CRUD example? Lets say with MySQL?

Iā€™ve been wanting to learn a stack-based language like Forth and it appears 8th(a Forth variant) might be a good segway. I was looking at Factor previously. But it looks like 8th uses the cross-platform GUI library called Nuklear which is very helpful:
ae06f0ca-a0c6-11e5-819d-5610b25f6ef4

Two years ago I moved away from Xojo and have been using Vala for desktop (Linux, macOS and Windows) applications and web apps. The web apps use a html/JavaScript/css front end and a backend API created using Vala.

1 Like

Valaā€™s C#-like syntax helps with on-boarding for sure! :sunglasses:

1 Like

It certainly does!

1 Like

I will write a commented sample gui app using a database a little bit later. Now, I need to relax at sauna with a couple of beersā€¦

2 Likes

I doubt that 8th will become the new RUST but at least people having fun to do something with it. I had a look on the GUI but what I saw was not usable at the end. It will cost much time until it works like it is supposed to. An entire GUI with all you need would be a beginning.

Also there is not much 3rd party stuff around, I didnā€™t found much Libraries at all.

Do you rewrite your apps from xojo to Vala? Can you share some screenshots of the vala made app?

All you have to do is look at GIMP since the GTK (GIMP Toolkit) was originally created expressly for the development of the GUI of the GIMP(GNU Image Manipulation Program). :smile: LOL. ā€¦ hereā€™s a good Youtube video series on developing applications using Vala and GTK.

Interesting video

However the Vala blog has one entry that starts with
_Should you develop applications on macOS using Vala? Probably not. _
It then walks through the hombrew installation & setup to make things ā€œworkā€

1 Like

Vala is not made for Mac Software. But people using it like it. What ever. When and if developing for a Gnome based System I would say yes. For others no. It is not made for it. May be you can do it. But it isnā€™t really supported and it is not growing much in this direction.

And at the end: Vala programming is as complex as Java or C# programming is. Same syntax nearly. Same amount of learning. Same learning curve nut less ecosystem around compared with Java. And if I would switch today I would consider Kotlin. Why? While Kotlin can run on JVM or be compiled as stand alone application. Kotlin is available on all platforms inclusing IOS and Android and has itā€™s own UI System. Compared with Vala you have - beside the Kotlin Ecosystem - all the Java Ecosystem usable for running programs on JRE. So Kotlin is a much more interesting alternative to Vala and itā€™s also free.

1 Like

Yes, my journey was learning Vala with some simple applications and then writing a couple of larger new applications and then porting across.
Iā€™ll fire up my MacBook later today and get some screenshots of one of the apps and share.

2 Likes

Alecads tutorial series were really useful however they end prematurely. I think itā€™s around the time he became product manager over at Thunderbird, which has really progressed lately.

1 Like

Kotlin is a nice language and they have done a fairly good job making the language efficient and modern. But, some of their design decisions leave me scratching my head for a rather new language. Kotlin along with Swift and several other popular languages seem to think that English grammar lessons are appropriate to distinguish between functions that mutate in place and those that donā€™t. Does sort() mutate in place? or does sorted() mutate in place? Or is it the opposite? Or is it sorting()?

I feel that Ruby and Raku did it right when the language designers decided to implement just one token to differentiate between the two. Ruby uses ! to designate a method as mutating in place:

numbers.sort ā† does not mutate in place
numbers.sort! ā† mutates in place

Or Raku with = :
@numbers.sort; ā† does not mutate in place
@numbers.=sort; ā† mutates in place (mutator)

And since NOT mutating in place is the trend these days especially with functional programming, it seems to be reasonable to me that the present tense sort() should take precedence as the function that does not mutate in place like Raku and Ruby does. But instead, Kotlin, Swift(and others) have done just the opposite and made the present tense mutating in place. Well, enough of my language-design rant. LOL :smile:

1 Like

At the moment Kotlin and Java are in my eyes the most common ones for cross platform Desktop, Web and mobile. The Kotlin-Idea running on JVM takes care of the Java world and was the entrance into the android world. Still interesting languages and still the best ecosystem around languages you can get.

1 Like

At this juncture, from what I understand, Kotlin is mainly used to handle the business-side logic and one will still need to write some platform-specific code (e.g., Swift/Objective-C for iOS) for the user interface and certain platform-specific functionalities.

Something like Dart/Flutter , on the other hand, appears ā€˜moreā€™ independent of Swift and Objective-C compared to Kotlin Multiplatform Mobile (KMM). With Dart/Flutter, one can write the entire app in Dart, including the user interface and business logic, for both iOS and Android. But one might still need to implement certain iOS-specific functionalities using Swift or Objective-C, but less so than KMM. But then again, it may change in the futureā€¦ Compose Multiplatform appears to be a move in the right direction (iOS currently in Beta) :sunglasses: