267

Quoting the author

I’ve starting working on a lemmy front end called lemmy-ui-leptos using leptos, a Rust UI framework with isomorphic support, and tailwind + daisyUI for the component styling. This could eventually replace the frankenstein’s monster that lemmy-ui has become.

top 50 comments
sorted by: hot top controversial new old
[-] Brochetudo@feddit.de 18 points 1 year ago

Isomorphic support? Isomorphic to what?

[-] jimmy90@lemmy.world 23 points 1 year ago* (last edited 1 year ago)

Same code renders ui and handles interactions on both server and browser/app

See the leptos docs on SSR

load more comments (1 replies)
[-] FarLine99@lemm.ee 16 points 1 year ago

Very good news!

[-] popcar2@programming.dev 14 points 1 year ago

Sounds good, but I hope it doesn't take too much time that they ignore some of Lemmy's issues and missing features.

[-] argv_minus_one@beehaw.org 4 points 1 year ago* (last edited 1 year ago)

Isomorphic rendering seems horribly inelegant.

My first instinct is to just use server-side rendering for this, although that may not be possible since posting a comment involves rendering part of the page on the client side.

In light of that, my second instinct is to render entirely on the client side, but then Lemmy won't work without JS, which may or may not be a problem. Mastodon seems to get away with it, but I dunno if Lemmy can. Also, client-side rendering makes it difficult to avoid breaking the back button, which the UI currently does.

Sheesh. Web development is such a mess.

[-] roze_sha@programming.dev 2 points 1 year ago

Why is it a problem to not work without js?

[-] nerdblood@programming.dev 3 points 1 year ago

This is cool. I'm a front-end focused dev by trade and have been 11 years now. I've been picking up Rust as a side hobbie for 6 months or so and have not even peaked at these front-end frameworks. I know Lemmy is all about Rust, but I still think it's pretty cheeky they're using Rust for the front-end.

About Leptos specifically... If there's no shadow dom / rerenders and not trying to be react, I already like it better than it's competitor.

[-] tormeh@discuss.tchncs.de 3 points 1 year ago

Ugh... Strong NIH vibes. There's already the Liftoff! client for mobile, desktop and web. They should contribute to that instead and ditch jerboa and the web client. Anyway, a web browser is a terrible way to interact with the fediverse since the browser doesn't know about your accounts, so I'd advocate for getting rid of web apps altogether

[-] russjr08@outpost.zeuslink.net 24 points 1 year ago

Anyway, a web browser is a terrible way to interact with the fediverse since the browser doesn’t know about your accounts, so I’d advocate for getting rid of web apps altogether

I'm confused about this - so you're saying that people on their desktop/laptop shouldn't be able to browse Lemmy from their web browser? Having to install an app really only works for the likes of say, Snapchat and Instagram where they're mobile-first platforms which clearly Lemmy is not. Even Discord, who really wants you to use their desktop app allows you to use it via a browser and most of the features are still available (and the ones that aren't are due to browser sandbox limitations, such as PTT and "Krisp" support).

I'm even more confused about "since the browser doesn't know about your accounts", are you saying that its bad that you have to sign into your instance's account when you first start using the site? Because I don't see how that is different from mobile (or even a desktop app) either, I use Liftoff on my phone and its not like it magically signed me into my account even though I had other Lemmy apps already signed in on my phone. I feel like I must be really misinterpreting what you're saying here.

I know that Android does technically have an Accounts Framework that multiple apps can tie into (so that if you have multiple apps from Microsoft for example, signing into one app signs into the others) but I'm pretty sure that only works if all the apps are signed by the same digital key - which makes sense for your general corporation like Microsoft, Google, Apple, etc but not for apps made my multiple independent developers since that would be a massive security issue.

And even if that none of that were an issue, Liftoff is made with Dart/Flutter, which dessalines (the main dev of lemmy-ui and Jerboa) may not have any experience with which could be another potential issue. I've contributed a couple of small fixes for Jerboa, but while I have Kotlin + Android experience, I don't have that much experience with Jetpack Compose (the UI framework Jerboa uses) which means in order for me to make any major contributions to Jerboa I'd need to get caught up on the whole Compose stack first (which when I originally did try to learn it, was an incredibly rapidly moving target like Swift/SwiftUI was in its early days) and I wouldn't be surprised if Flutter was somewhat similar to this.

[-] tormeh@discuss.tchncs.de 3 points 1 year ago

The issue is really with links specifically , and the concept of web addresses for federated content in general. The web model does not map very well onto federated networks. Concrete example: If I search for something on google and then get a lemmy/kbin result, my browser doesn’t know that I want to view this content through my home instance. The question “I have a Mastodon/Lemmy account, so why can’t I fave/reply/whatever this content?” comes up a lot. The issue here is that people view the content through a web browser, and web browsers don’t understand the fediverse.

[-] anton 2 points 1 year ago

The best solution there would probably be some brower plugin/extension/whatever that replaces fedivers URLs with the "redirecting" URL of your instance of choice.

Given that it's a simple text replacement, the most complicated part is probably recognizing fediverse sites (a list of sites with a fallback button would also work).

load more comments
view more: next ›
this post was submitted on 18 Jul 2023
267 points (100.0% liked)

Rust

6133 readers
12 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS