Production ready Toolchains for Cross Platform Desktop

Since many People don’t want to work with java I wanted here to collet Informations about not Java and not Xojo Toolchains for Desktop, Mobile and Web Development which are not in beta state but released and reliable. I hope we find some where we can look for the best alternatives.

2 Likes

Now it came like I inspected. Bitching against Java is modern, working out by self any tool chain that works not. While that costs time and at least basic knowledge about cross platform development. And I doubt that anybody wants to workout that for public or for himself.

But I have a question to the community: wouldn’t it be nice if we become more constructive than behaving always destructive? I can understand critics when and if the critics are not only while somebody wants to bitch. So I saw yesterday also this situation that people are bitching against things but having no Idea what they are speaking about (it was a discussion about GO on desktop as cross platform on base of GTK what is still not even released but deeply in beta with many needed fixes and crashes and at the moment with many Bugs related to MacOS. In the foreseeable future will there not be a stable and reliable Solution and so I said: that is not usable for commercial software development.

What we do here - and I will not say that I am not a Part of it - is complaining about many things but what we do not do is working together on solutions and doing in that moment constructive things instead of destructive things. For example I would prefere to discuss about a difference between for example C# and Java (for example a difference in processing speed or what ever) instead of listening: we don’t want. Best answer was once in this forum from one Person even: “I am here to bitch about Xojo”. That kind of Discussions is ridiculous and not needed. I am not here to bitch about Xojo and I tried more than once to show a way how to come out of the Situation for xojo with different release System and deep changes in their policy.

When and if there will not be a change this forum will not help us but it will consume lifetime and make bad mood over the day. Nobody needs that. We could - instead of bitching - discuss Solutions and build more and more parts of the tool chain of everybody and make Life more easy. Instead I have to listen to arguments like “I don’t like Semicolon at line end. I don’t like curved braces. So I can only ask: what do you want? And the answer to this question is mostly: oh, I am searching for a cross platform solution for all platforms which is reliable, sustainable and has consistency. Okay, all languages like GO, Java Script and Co can go out while they do not provide all of this requirements.

Within the next breathing I have to read: I use Go for a company Software while we build the business model on GO and that shall stay for the future. The problem is:you have no code-, syntax-, library- and infrastructure reliability and sustainability, the support cycle of a go release (only major releases are supported) was in the past around 18 month until two years. Means: the code you rote before two years is latest to write in the next major release. Coming up to the last release which went out of Support, today actual is 1.20 the last major release so the Support for the 1.18 (also major Release) stopped with Releasing of 1.20. 1.18 is released at march 15. 2022. So one year Support time. Let’s climb up to the syntax differences we will get: there are some differences which stop compiling. you need to change to the last version.

All of this discussions are at the end useless. Let’s try to come up to a non bitching culture, a discussion culture where constructive working is more important. If with GO (and this language has really nice features, no question) or C++ or Java. All of these languages having nice parts and not so good parts of the solution, let’s discuss about ecosystems and so on. I guess that may be better for all of us.

The quality of a forum has also to do with the willing of the members to bring up the engagement to fill the forum with life and positive discussions. Our negative discussions are not even helping to change anything in the Xojo environment. Yes, I was one bitching the loudest. But I also had to realise: the CEO will not change his view on anything. So I was analysing the situation and I will even post that analysis in a thread of this forum. So constructive discussions are needed. It will always end up in stresses. That’s not useful for the discussion culture and for the results we are awaiting reading this forum.

I hope that we will find all together a way. Since I am programming and that is the most time of my life (I am becoming old, first sold Software was before 40 years when I was 13…man what amount of time) I could see that kind of bitching in discussion groups, first on mailboxes (modem times, I again get that I am old) and later in mail groups and now in forums and other social media. What I miss is constructive working while I know that it will grant more success for everybody.

Just because it comes from you, that sounds like a very good plan.

We all like to be emotional because we also ran through problems with Xojo that not every reader here understands. Being on the verge of crashing your company, as in your case, is no fun. And the Inc. just didn’t show any understanding at all, except that we’re no longer the target group. Brilliant.

In my opinion, however, many misunderstandings on INN are based on cultural differences and nuances in the choice of words, which are taken up differently depending on the country.

When it comes to programming languages: we should all take it by the nose that there is no right and no wrong here. Everyone has different requirements, their own background. And every tool has its strengths.

Down to business:
I think it would be good if we differentiate between 2 scenarios and maybe create separate categories for them:

  1. How can I replace parts of Xojo with something else
  2. How can I replace the complete range of functions with one(!) new solution.

Under 1) would then fall e.g. quasar for web, GO for APIs etc., fyne for small GUIs, etc.
Under 2) definitely JAVA, WinDEV, MAUI etc.

Does that make sense?

In any case, I think that it creates a lot of unrest that we are mixing up those 2 categories. One has found an alternative to his problem with Xojo and is happy with Flutter or whatever. Others are looking for the new big picture and a replacement for Xojo as such. And we even have people who never used all the functionality of Xojo, and consequently might not need a jack of all trades at all.

1 Like

I think what it boils down to is that there is no really good all-in-one solution, just ones with tradeoffs that are acceptable for some problem domains and use cases.

We are a long way from having a WYSIWYG interface to draw UIs and then deploy without any extra considerations on the web, desktop, or mobile, any major OS. Where all, or even nearly all, the aggravating cruft is abstracted away, yet with adequate performance and at least your choice of pixel-identical or platform-ideal appearance. I’m just not seeing it from any of the existing options. And no, neither Java FX, et.al., or .NET Maui (or Blazor / WASM via browser controls on the desktop) are even close in my book. Just doable, with a pretty significant learning curve and putting up with a lot of if’s and’s or but’s including fussy shims that aren’t personally interesting to me. If I still have to learn Vue.js or Angular because it underlies an abstraction and I have to poke in there to get it to behave the way I want then it sort of defeats the purpose IMO.

At least a statement. I can’t possibly understand why you really think javascript is less complex than Javafx to learn but please: not my business at all.

As I can say: JavaFX is one Application written with one UI running on all platforms via Gluon Mobile (JProFX-Mobile is in work) and JProFX Web running on all platforms from Desktop over mobile to web. But that is somehow described like it does not work or you don’t want even to consider it as a solution. That would be interesting for me: why?

I have no idea how you got all that from what I said. Probably lost in the translation.

JavaFX is fine. I just have no current need for it. I’m building a headless API backed by various services. I am sticking with .NET because I can hit the ground running with it and I’m doing it for a MSFT shop that wants to stick with a toolchain that has worked very well for them.

I was just saying that hypothetically if I were currently in the market for a cross platform toolchain (including web, mobile and desktop), I don’t see ANY product that really excites me as something that would let me focus on design without getting bogged down in minutia. That is all.

2 Likes

Oh I was answering on your Ideas about Wysiwyg UI. Sorry that I was not really marking that.

Writing a headless App it makes nearly no difference if Java or C#. For me it would be Java (I am too slow in c#) and I guess for you the other way around but we will both reach the target.

What I was answering was about your Idea that you have to learn VUE. But never mind, for headless Apps it is another kind of Job.

1 Like

It was just an example. A hypothetical WSIWYG designer-focused system where you just code up a completely abstracted app and pick your targets with zero or very little extra work to realize it on any of those targets, doesn’t IMO exist. It’s aspirational for several vendors but it’s not there yet. And so to do certain things you need platform-native API calls or you have to step outside the abstraction to write JS or to tap into whatever their under the hood web framework is in the case of a web deployment, and then you have to understand (for example only) Vue or Angular or whatever anyway – so now you are defeating the purpose. That was my only point.

Even down the road when this is all successfully and performantly abstracted away by someone, it’s probably useful for SOMEONE on the team to know the internals so that you can diagnose certain problems or bottlenecks and understand what is happening. I get that.

But for my money the environments that currently come closest to a target-agnostic designer-based system for creating the user experience, tend to be small vendors bearing proprietary languages and monolithic support libraries, which has its own problems.

Disclaimer: all of my remarks are based on tire-kicking via vendor websites and apart from my failed foray into the Xojo world, are not based on actual experience.

It exists, named javafx, running on desktop, iOS, Android and web with one ui design

Electron.

also interesting. Did you have experience with it?

Avalonia UI.

It became officially production-ready on July 5, when backing organization AvaloniaUI announced the release of Avalonia 11.0 [ Open Source Avalonia .NET UI Framework Finally Hits Milestone v11 GA Release – Visual Studio Magazine]

Fortunately there is one such solution but unfortunately it is only for Windows.

It is called WinDev.

Have used it to build mobile apps for Android and iOS without having to learn the nuts and bolts of both mobile OSs.

Have build quite a few desktop apps and also one web using it.

1 Like

Read first the price list of Windev, Webdex, Windex mobile. Together for 2400 $. its much money. If one asks me. Java, developing Desktop for free, mobile with CodenameOne for free, Web with vaadin for free. No upfront cost.

2 Likes

C# and .Net are similarly free
And there are a variety of IDE’s ranging from free (VS Code for Mac & Windows or Visual Studio Community edition on Windows) to paid for JetBrains Rider, and RemObjects Fire & Water IDE’s

And yes even the discontinued VS For MacOS still works fine (although I’m using Rider more & more)

2 Likes

Last I looked I was impressed with Avalonia. Lately Uno has been getting a lot of press but I found them to be headed in a different direction than I personally cared for. Been too many months for my tired old brain to remember the specifics and I’d have to look at both again and compare as they’ve both had new releases. There are some other possibilities to look at as well, such as Qt, .NET MAUI itself.

Right now I am occupied writing & maintaining in-house services and WinForms admin utilities with a different team integrating it into a public API. Down the road if I ever need cross platform again it is likely to be 1-2 years out and by then there will be even more maturity in these tools and probably new options. But I would lean into .NET solutions like the above since I’m familiar with .NET. The Java world has its own cross-platform infrastructure.

The standalone stuff like WinDev and others that have been discussed here tend to be black boxes that you’re at the mercy of, maintained by small vendors or teams and prone to becoming orphaned over time. Or missing support for one or more desktop environments (Windows, Mac, Linux).

1 Like

huh
xojo anyone ?

2 Likes

It remembers to xojo. C# and java are a good way for cross platform. Okay for me not c# but that while I am java programmer and I really like it more. But windev? JoJo? And others? Na. Nö. Niet.

I think I heard you say No Xojo ?

I did not say use Xojo. The other way around. it is not a pro Language. End of file.