8 ms·
Why we write elementary apps in Vala (2014)
- javchz 4y agoNot a fan of bala itself, but I think this approach generates a filter for Elementary like apps, to have a strong commitment and standard practices that translate in an amazing UX and look and feel
- WastingMyTime89 4y agoThat's a 2014 article by the way. Did Elementary survive the fall out between its two cofounders? I haven't really followed.
- NoraCodes 4y agoDanielle has been posting substantial update blogs every month, so I'd at least tentatively say that the project seems to be moving forward.
- jyrkesh 4y agoIt's a little bit sad, because I wish the game theory didn't work this way, and because I'm someone who tends to stay attached to the same project, but I almost wish smart people like her and anyone else working on ElementaryOS would move on to projects that have a better chance of gaining a foothold in the marketplace. At this point, I think EOS is probably NGMI
- that_guy_iain 4y agoHonestly, I think this is the sort of project that where if you manage to get 0.5% of the market share you're still going to make enough money to get by. The market is massive. A partnership with the right orginsation to make this their operating system and it would be able to survive and allow the developers to carry on doing what they want to do.
- mythz 4y agoA similar language that was created to make creating GUIs more pleasant is Jakt [1] for SerenityOS which is Impressive to see how fast they've been able to develop a pleasant modern native language, went from 0 to rust-based then self-hosting compiler inc. VS Code static analysis & intelli-sense in weeks. Like most of SerenityOS you can follow much of its development is on YouTube [2]. A good video series that captures the language ergonomics is in the "Jaktness Monster" series which goes through creating a NES Emulator from scratch [3]. [1] https://github.com/SerenityOS/jakt https://github.com/SerenityOS/jakt [2] https://youtu.be/RXp2T_iAhWc https://youtu.be/RXp2T_iAhWc [3] https://youtu.be/47svsnd7HIQ https://youtu.be/47svsnd7HIQ
- Kukumber 4y agoSo they made Swift and slapped a new name to it
- ceceron 4y agoExactly my thought. Looks like a poor man's swift (poor because many features from Swift are still only in planning). The one difference is that jakt is transpiled to C++ (IMHO it's a disadvantage, but could be useful).
- mythz 4y agoObviously Swift is going to have more features given Lattner started first developing it in 2010, but it's built on flawed foundation given many years after release valid syntax would kill both the compiler and bring down Xcode as well. Having experienced compiler engineers from the start is important for how well designed the language is syntactically and how strong its foundation is which helps with correctness and development velocity. Swift is always going to be the primary choice for Mac/iOS Apps but it sees relatively little usage elsewhere, either way it's going to be interesting to track Jakt's progress given how well designed it is and how fast they've been able to develop it.
- Dylan16807 4y agoAny idea what kind of effort it would take to get Jakt working on another OS?
- Klonoar 4y agoI don’t really want to wade into the Rust vs other languages thing, but I would be curious for Elementary’s take on why Vala over Rust (gtk-rs seems to see widespread use and all). Anyone know if they’ve noted it somewhere? Is it just the investment in Vala and their custom widget library that set the direction?
- berkut 4y agoWell, for a start, that blog post was written one year before Rust 1.0 was released.
- cyber_kinetist 4y agoA counterpoint: Vala hasn't done a 1.0 release yet. But still, back at that time (2014) there was far less research done on how Rust library authors can ergonomic bind to C/C++ libraries that have their own object system. Nowadays people have figured out some techniques and we can actually use GTK and Qt from Rust, albeit in an awkward manner (lots and lots of macros).
- agumonkey 4y agoIt seems the benefits of vala were so large that not having a proper version one was not a problem.
- bonzini 4y agoVala had made up its mind for many years on what it looks like and feels like. Older Rust version had green threads and IIRC even a garbage collector, it was absolutely not the same language as Rust 1.0.
- Klonoar 4y agoHa! You're totally right. I read this on mobile and I don't think the title had (2014) in it when I did, completely overlooked it.
- cyber_kinetist 4y ago
- arjvik 4y agoGTK invented its own bespoke Object Oriented Programming system for C, called GObject: https://docs.gtk.org/gobject/ https://docs.gtk.org/gobject/ Naturally, it's very annoying to use this C-based OOP API in any other language, especially languages that have their own incompatible OOP type system like Java or C++. One of the biggest reasons to use Vala is that it's OO system is GObject, making interacting with GTK and GLib code significantly more painless.
- pavlov 4y agoGObject is a real tragedy of the NIH syndrome in open source. In the late 1990s there already was Objective-C. It already had open source compiler support, a battle-tested runtime, a free software desktop environment, and a corporate sponsor that became the world’s most valuable corporation. Instead of using what was already there, the Linux GUI community extracted a poor shadow of Obj-C out of the GIMP image processing program (itself a poor shadow of a commercial market leader).
- tannhaeuser 4y agoI've always wondered why GNUstep didn't work out; would've been a fantastic way of porting Mac OS apps, in theory at least. I guess that is what you're saying as well.
- PaulDavisThe1st 4y agoGIMP development started in 1995. The GNU Objective C frontend (the one that has stayed in use) started in 1993. I would hardly consider the GIMP developers (who became the early developers of GTK) to be rash in their option not to adopt a language that had only been available for a couple of years in the open source world. And all these years later, at a time when Apple has essentially abandoned Objective C, GTK and Glib continue to provide bindings for dozens of languages to create cross-platform GUI applications, and even if many of us don't agree with the direction(s) it has taken, GTK itself has continued to evolve, whereas UI libraries that came with Objective C have become frozen in time. So in short, not really a tragedy at all.
- Normille 4y ago>Elementary OS – Why we write elementary apps in Vala (2014) Fixed the title for you.
- bronxpockfabz 4y agoI wonder whether this choice ended up leading to Elementary OS being the least stable Ubuntu-based I’ve ever attempted to use. I really wanted to make it work but neither Luna nor Jólnir were actually stable enough to daily drive, as much as I liked the looks of the DE.
- deleted 4y ago[deleted]
- tayistay 4y agoElementaryOS had an app store in which your code had to be open source and they still were going to take 30% of the revenue. As an indie app developer initially interested, that really turned me off.
- DanRabbit 4y agoHey I just wanted to respond to this comment real quick. This platform fee covers the cost of payment processing and helps pay for the server infrastructure. AppCenter in itself is not a profitable venture at this time and it struggles to break even. Reducing this fee would guarantee that it runs at a loss, which might be feasible to consider in the future but for right now there’s not such a wide margin in the budget to run services that lose money
- tayistay 4y agoI actually don't have big problem with the 30%, especially for a small operation, but I do have a problem with both the 30% AND the ideologically-driven requirement that my software be open source. You just didn't provide a compelling alternative to other platforms. Your platform actually demands more of me, the developer, than Apple does, amazingly.