• 0 Posts
  • 37 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle




  • Hawk@lemmynsfw.comtoRust@programming.devStack advice
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 months ago

    Yeah, it’s funny because I’ve been doing the same thing with my wife on some personal projects like family wiki and event calendar and things where we wanted a web application that could be used on both desktop and mobile.

    Here’s what I found so far, Avoiding JavaScript entirely by using a templating language and a HTTP server like Axum Produces fairly sub-par results if you are hoping for interactivity ( Frequent page reloads mean that you can’t have big sodebars etc.)

    Qt/qml are OK, but no mobile.

    Leptos is what I was looking at, but in the end TypeScript with solid-js was simpler, more performant and more features (although I absolutely hope to revisit leptos down the line).

    What you get with solid is signals/slots for state, server side functions to avoid the need for an api, routing for template management, easy tailwind integration and of course any js you may want (eg full calendar io).

    I wouldn’t recommend egui if your focus was web.

    Oh, and finally, the other issue with Leptos over Solid is that it’s a bit more work to get into Electron from what I understand. Tauri Does not support Linux, so that’s not really an option for a cross-platform.


  • Well you will write 0 js in leptos, however js is used to initialize the WASM.

    What is your goal and the reason against JS and maybe I could provide more recommendations.

    If it’s a personal choice against Js, leptos will be the best compromise. One could use Axum with minijinja but if you’re not careful about routes etc. performance will be shit.


  • Hawk@lemmynsfw.comtoRust@programming.devStack advice
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    Id just use leptos. There will be a little bit of js to load the WASM but that would be it.

    If it’s a performance concern, i think solid-js had better performance than both egui and leptos anyway plus you get some niceties like codemirror (vim bindings), marked.js etc.

    Egui is really nice dx wise but you will be restricted to those widgets, immediate mode may not scale as well as signals/{slots, effects}.

    If it’s a general dislike of JavaScript, you may want to look at QML.

    I personally found QML to have really poor documentation around a lot of the widgets. Leptos is good, but I found SolidJS to have more of what I needed and the performance was good enough that I went without for my own personal stuff. But I also had different needs. I really needed something that could do charts, data tables, and your general GUI stuff as well.







  • That’s a fair point. But it also depends on the application as well.

    To use the example from earlier, good luck getting Emacs 25 to run on Windows 11.

    …but maybe another perspective is that it works really well with Windows because they prioritise backwards compatibility at the expense of development time and they can do that because they’re a large company and as a large company the community gets a very little say in the way that their operating system works.

    Linux is your operating system. It’s community driven and community developed and one of the expenses of that is that users are going to need a higher degree of technical capacity. The trade-off is that you get more privacy, and more say.

    However, I believe that it’s achievable for most users.

    I mean this sincerely, how can I help? I’m not an expert but i did teach this to university students and I’m a big advocate of privacy. What would you like to see?


  • Yeah I’ve installed heaps of old apps, it depends on dynamic vs static libraries etc but some people still use Emacs 25…

    I have lost power whilst updating, can be a nuisance depending in the distro, but snapshots (zfs and btrfs both work well for me) have been life saving.

    Mac and windows simply don’t have a lot of quality of life features. Working with them is painful. As self a documenting systems they are fantastic though, however, when I was younger we had things called schools that served to address that gap, these have fallen out of favour in modern times.




  • Common laws is dynamic, subject to interpretation and serves often to fill gaps in legislation.

    Common Law is simply a principle that similar judicial findings are binding for future cases. Whilst US, UK, South Africa, Canada etc. Are all common law countries, the application and interpretation of common law is by no means consistend and the US has diverged the furthest from the English tradition.

    So whilst a traditional common law principle may be alive in law, it may also have been modified by a combination of contemporary judicial findings and legislative intervention.




  • With Arch pacman -Syu will do it for you. Generally you are encouraged to stick with the version in the repositories.

    You can install things from source by downloading the source code, building it (eg. gcc code.c or cargo build) and then copying the binary somewhere.

    Typically if you were going to install things from Source, you would write a pkgbuild for it and that would integrate it with pacman so you have a centralised manager of everything that you have installed to simplify updates and removal and conflicts etc.

    Doing this for small packages is pretty trivial and sometimes necessary. For a large package like KDE plasma It is a very large undertaking and you would never do it in practise.

    The maintainers package the desktop environment with a pkgbuild, test it, And then upload it so that you can use it.

    Also note that when the arch maintainers do package that software they compile it into a binary so you just have to download it. You don’t also have to build it.