I’ve shared parts of my story about moving on from Xojo in various comments and threads here over the last three years but thought with others looking for an alternative at the moment now may be a good time to start this thread.
Back in April 2022, I looked for an alternative to Xojo and I found Vala. Vala was inspired by both C# and Java and is similar to both. It is heavily tied to GObject and GTK. It can produce native binaries for macOS, Windows and Linux. Using Libsoup it’s also possible to create Web APIs.
When I switched to Vala I started out with some basic projects to learn the language and then started porting projects from Xojo to Vala. I ported some simple desktop applications first and then some web applications. For the web applications I created the backend API in Vala and the frontend using HTML/CSS/JavaScript. For web applications needing authentication; they are hosted using Nginx and protected using subrequest results from the API.
In order to make the task of porting the applications across, I created a number of re-usable libraries handling countless cross-platform specifics so that the application’s code was tidy and would behave natively.
Most of the early coding happened within Linux (including on a Raspberry Pi), but I’m a true cross platform user regularly use both macOS and Linux, with Windows use happening occasionally. I needed the ability to write-once and run anywhere!
Back in 2023 to undertake the challenge of creating a cross platform IDE for Vala, along with cross platform libraries ready for other developers to use and make the switch to Vala.
For anyone that’s interested the software is called ValaCode IDE & developed by me, under the company name Brighter Inspirations Limited (based in the UK). If anyone has questions I’d love to answer them and tell you more.
There are several “how to’s” that have been posted for C#, Java, & Swift
Certainly cant hurt to do something like that
Does ValaCode IDE include everything needed for cross-compiling?
I’d love to see a simple example of using libsoup and sqlite3 to return some data
As of today, you would have to compile for each OS on a machine (or VM) running on each OS.
I’m working on a couple of solutions to that which should be available within a couple of months.
I’m using libsoup and SQLite directly on a number of web apps so I can get a how to / demo completed shortly and will post the example.
Here is a demo of a Web API returning data from an SQLite Database using the ValaCode SDK, which uses LibSoup3 and SQLite under the hood. There is an endpoint for data in CSV format and another for data formatted as an HTML table.
Seams like ValaIDE is much more expensive than IntelliJIdea: CE Edition to use even with commercial projects is for free. Why the heck should I pay for this so much money. What I can do with Vala I can also do with Java. End of story. I can not understand that from the beginning.
The license price is to support further development of the product. Comparative to other commercial IDEs & SDKs I don’t believe the pricing is high. Of course, each person can choose to use whichever tool they wish.
I prefere products I can get open sourced like IntelliJIdea CE, Netbeans, Eclipse.
Of course, each person can choose to use whichever tool they wish. I know you have very happy with Java and it works well for you.
It works on all platforms including webapps and mobile with clear open source tools. No upfront costs. No subscriptions. No terror. And with a functionality vala will never reach.
As I said, each person is free to choose their own toolset. I’ve used a wide range of commercial, closed source tools without “terror”. Also, whilst Java maybe your choice of toolset it is not everyone’s.
Vala is not really best choice fpor cross platform development. It is a small team with slow forwarding. I am by self Linux enthusiast but the vals project is not growing like expected and it is definitely not developed as full stack language. So I guess there are many arguments to take care before investing and relying on it. That’s what I mean. There are other options which are better supported over the time. A one man show building an IDE and an ecosystem are never a good Idea. That is the same like being locked in with Xojo. Too less options and a too small ecosystem are not helping. Would result in the same situation like with Xojo. Or do you spend support for it? Look for a language with support and an ecosystem around. But vala? I am sorry, I only want to warn that people which are looking for alternatives to Xojo before sliding into the next problematic invest of time and money.
Developers for the Vala Lang is not much. I would consider it as a hobby language for Linux. That’s what it is made for as Gnome GTK language. Clearly said: this is not a commercial language and it should never be. So please tell people also that.
It is a nice project. But spending that amount of money for a language which can be away tomorrow while the developers are stopping…dangerous when using it for commercial projects. Can be a real fun when using it for hobby. But for Hobby I would never spend 200 Bucks a year for the IDE. That’s not connected to any other language. I choosed the example Java while I exactly know what I am speaking about.
Whilst I understand Vala will never be your choice of language, please allow others to make their own choices. Great solutions can come from small teams. Please do not compare the potential of the ValaCode IDE and the Vala language to the current situation at Xojo Inc.
The Vala language is free and open source, you don’t have to use Adam’s IDE to program with Vala. I’ve been playing with Vala today just using Geany IDE ( also free and open source ) which has Vala syntax highlighting built in ( although no autocomplete ).
Today I created a multithreaded http server that responds so fast I’m a bit blown away by it and it weighs in at just 104kb. It’s only handling GET requests so far so I’ve got to implement reading the whole request rather than just the first line…
There are a lot of libraries you can use with Vala too, although the function references are short on examples which is a bit frustrating when you’re a newbie like me.
Great to hear you’ve had a good experience with Vala today - I’ve really enjoyed using it since I switched to it.
Autocomplete was a really important feature for me within the ValaCode IDE - it is implemented using libvala. Git integration was also really important to me and that is implemented using libgit2-glib .
There aren’t a huge number of Vala tutorials for people switching to the language and are a focus for us moving forward.
You wouldn’t.
You only use Java.
You only promote Java.
Java is the best thing in your life.
We know this so well already.
Some of us use C#, some of us want to use / learn a different language. Some of us just like it when another excited geek like us gushes in the forums about their product.
FFS, linux exists, I’m still writing an OS, because its fucking fun and I’m having a great time learning (and no, it’s not in Java).
Lots of other Vala IDE’s exist, but making another is still worth it.
If I get into programing a programming language I might share it here and I swear to god it’s not gonna be like java. It may not even be cross platform. It might only work on my specific OS. And it doesn’t matter to me if it gathers developers, or if my OS gathers users, because I made it to have fun and not to convince you to move all your stuff from Java over to it.
If it means nothing to you, good for you. Some people like learning new things and sharing their creations that excite them. And some people make money doing so. I have no idea why that is so offensive so much of the time.
@Adamc I’m stupidly excited for the Desktop UI designer. Such things are an after thought recently, but Vala is on my list of things to learn, and that’d be something exciting to see.
You’re entirely correct, UI tools do exist already for Vala, including Glade which supports GTK3 with Vala. The same concept also exists with GTK4, in a tool called Cambalache.
With ValaCode IDE we’re aiming to combine the UI designer and coding. It’s an existing part of the project that is currently in development but not ready for release with this build.
Only to mention: I am happy with Java, C, C++ and Rust. Also Python I have in use. Do not reduce me to one language please. Java is here only an example but not the Language of choice. The entire point is: for all this languages you will find open source IDE’s mostly also from Jetbrains. It may sound cheap and affordable for a Xojo user but it’s a good question: is this your Business, do you write the IDE?
And I found the answer: yes! You should be as fair: the 2 People dev team wants to earn money. I can understand that. But the material I could see are showing only a little bit of that what an IDE should be able to. Using IntelliJ with Vala plugin is more productive. And the best is: you provide not even a trial version of the IDE. Buying a black box is what I see here. I am sorry but why there is no trial download? So people can test the IDE? And we are speaking about - Bucks. Sorry for asking that.