Precisely. The language is the relatively trivial part. Anyone who is fluent in any C-family language could master Java (the language) in a short time. But it is the frameworks, libraries and ecosystems that take relatively more time. What holds me back from Java is not the language but the plethora of frameworks. If I were already embedded in, say, Swing or Vaadin development, what would hold me back from switching to, say, .NET would be .NET, not C#. Or maybe more exactly not even .NET in general so much as .NET Maui, if it were multi-targeted projects I were concerned with.
And yes in that direction, Vaadin is more mature than Maui, but that is not my point; it is paradigms we get married / committed to, and the language is just a part of that. Arguably even less a part of that in .NET which is language agnostic from the ground up; in theory I could write some or all of the solution in VB.NET or, heck, Eiffel if I wanted to. Yes there are languages other than Java that run on top of the JRE now too. Point being, it’s less about languages and more about frameworks, runtimes and type systems and the like.
Basically tons of code will be similar to a swing app, you only reference to vaadin classes instead of swing classes. That’s indeed impressive. I looked at vaadin roughly 9 months ago, when I had little Java knowledge but rather solid vue,js knowledge.
The way you can easily create web apps in vaadin by just changing a bit of code from your Java Swing desktop apps is impressive.
Again a bit hard to compare it to vuejs (Hilla from Vaadin is more comparable), but what Vaadin Flow achieves if compared to Xojo Web is really good. It is basically a working but better variant of Xojo Web 2. And if you pay them, you will get a Layout Manager which in comparison to Xojo is working seamlessly as well.
There used to be a product, I now forget the name, that would take a VB.NET Winforms app almost without change and make it usable on the web. It was, IIRC, an Israeli company, but it was small and at some point they decided the product was not making them enough money and they wanted to concentrate their resources somewhere else so they discontinued development and support. I messed with it for a time, and it actually reminds me a fair bit of Xojo, it was usable but buggy and they could not seem to plug their leaky abstractions.
My initial enthusiasm for FlutterFlow has all but waned. If people think Xojo has annoying bugs, FlutterFlow is even worse. The most annoying I’ve come across is if you use a customized button and two localizations (I’m doing English and German at the same time), at some point (FlutterFlow decides which point that is) all the button captions of the second language are identical. And there’s no way changing it. If you change the caption of one button, it will change all of them.
After three more weeks of using FlutterFlow I will probably not go back to Xojo for two simple reasons:
FlutterFlow can do Android and iOS (and Web) in one single project
you can get results a lot faster. I had started developing an application in Xojo back in December. Took me 1.5 months vs 6 months to build the same in FlutterFlow (and that’s with zero previous experience in FlutterFlow or even Flutter). And now I have it for iOS AND Android.
Of course, there are caveats:
it’s a hobby for me, I don’t have to earn money with it
for professionals, it might be a tad limited as to what it can do. Although I have to say I haven’t used the custom code functionalities all that much. Not sure what’s possible there.
the larger the project got, the more I was trying to locate things and that really becomes a pain. I miss the search functionality that Xojo has.
there’s still lots of features missing, like for example you cannot restrict the app on portrait mode.
All in all, I’m pretty happy with it and with the Supabase integration, I don’t even have to pay for my SQL backend anymore.
For iOS, it’s still under review but should be released in the next few days. I’m getting more and more excited with FlutterFlow and I’m already working on another app, this time a web app with both mobile apps being “side products”.
Just decided: true, everybody shall use what he wants and warnings about products which are overdriven expensive or not working as expected or not really in a good maintenance condition: buy them all and work with them, it is a good Idea. Especially that.
Varandor is right: I should not care. I will not. that’s it. Sometimes the smartest way is : let them do what they want to. For what should I? Good answer. Not for you all here. Have all a good evening, that’s it and sorry that I was firing against an IDE which costs much but delivers not what’s promised. I will never do that again. It is more productive to write my Software and that’s it.
Although you’re the GOAT of programming I couldn’t care less about your opinion. I will certainly not engage in a discussion with you of what’s “overpriced crap in your eyes” and what you would consider a valid tool chain because based on your post history here I’m not interested in your opinion.