Hacker News new | past | comments | ask | show | jobs | submit login

While I'm very enthusiastic about the Librem 5, I think it would be better if they recommended a non-C language for app development. Gnome Builder, the IDE they recommend, has support for Vala, Rust, and Python, all of which should provide a much better developer experience, not to mention should enable more reliable apps.



Technically you can use any of those languages. It's just running their flavor to Debian (which runs today on their laptops).

I'm super excited for doing mobile app development in something that doesn't require Android's overly complex toolchains.


Less people know Vala than C, the Qt crate for Rust is some autogenerated thing that doesn't look very well-supported (not sure about GTK), and Python might not be the right choice for an embedded platform.

I'm fine with letting the platform mature a little before the scope of the project is broadened.


> Python might not be the right choice for an embedded platform.

I use micropython in several of my projects for CPUs that are waaaay less powered than the thing they're putting in the Librem5 and, despite not being a 100% feature full implementation of python, it's still a very capable platform. Granted, I don't drive any UIs (yet), but those components would be handled by some native libraries anyways on the Librem5, and the choice of python vs C would not matter from that respect.


But it's not micropyhon, you have many apps running on a phone and want them to be as efficient as possible.

From my experience with Vala (compiles to C) it would have been a much better choice.


GTK is re-writing bits in Rust, so it’s a pretty robust option overall. Lots of work left to do!


I only dabbled with Gtk-rs for a bit, and Rust does not really fit my UI/UX workflows, but I would still suggest as major improvement a better way to being able to reference struct fields from callbacks without the current Option<Rc<>> workarounds.


There are already some projects that let you do that, consider Relm for example: https://github.com/antoyo/relm/blob/master/examples/http/src...


Is Qt with Rust usable already, or it's still very experimental?


I don't have personal experience, but my understanding is that GTK is much easier since it's in C; QT makes use of some C++ features like inheritance that don't have a direct analogue in Rust that makes it hard. I've heard of several people doing things, but am not sure there's a particular go-to amazing solution at the moment.


The last time I looked into it, there was this project: https://phabricator.kde.org/source/rust-qt-binding-generator...

But it was in the prototype stage then.


I'm excited C is supported, creating a hello world app is a few lines in a main.c (http://www.levien.com/gimp/hello.html) file and calling GCC. That's immediately so much simpler than complete and utter mess that is android development.

As for rust, I'd prefer they get a stable ABI so my phone doesn't end up with statically compiled bloat.


I'm really glad they chose C-language for this, personally. The reason is, I've been solving the mobile dilemna for the last few years by focusing on one policy: Lua is the platform.

So as soon as I can access a Libre-phone, I'll put my favourite Lua-based engines on this thing, work out a toll-free-bridge for any of the nice OS things, and put all my apps on it as a target platform.

Just a matter of having the hardware.

(That said, there is absolutely no reason one could not do the same thing: use your language-of-choice, with a bridging layer. The use of C makes this a lot more tenable than, say, other systems languages.. at least in terms of tooling and methodology.)





Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: