Giter Site home page Giter Site logo

lemmy-ui-leptos's People

Contributors

baptistemontan avatar dessalines avatar jim-taylor-business avatar sleeplessone1917 avatar sunaurus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

lemmy-ui-leptos's Issues

Add dependency on lemmy-client

Now that there is a rust library specifically for making requests for lemmy, it makes sense to shift to using that instead of the hand-spun one currently used in this repo.

Homepage as close as possible to lemmy-ui homepage in functionality

Hello! I've been learning Rust for the last couple of years and just so happen to have used Leptos in my last personal project.

My background is in decades of web development of all types so I would very much like to contribute to Lemmy, specifically the new Leptos UI to start.

I have already been working on my own branch for a week or so to get familiar with the code base and dev environment. Things are going fine!

I was wondering how work pieces are managed in the project and it seemed sensible to start with an Issue to indicate that I would like to work on a part of the new app so that other people also working on the app can organize themselves with that in mind.

I've been working on bringing the Leptos homepage up to the function and graphic design of the current UI but using the SSR and hydration of Leptos and the widgets and tools of Daisy and Tailwind.

I'm happy to carry on with this and it would be great to have the blessing of the team. I'm also totally happy to move on to another part of the app or just collaborate and help with work other people have already started.

Is leptos the right choice for the UI rewrite?

@phiresky mentioned in the maintainer chat that he has concerns about using leptos for the UI repo. While I think leptos is definitely a step up from inferno, I have my own concerns about it. To spur discussion, I'll make some pros/cons lists for leptos, solidjs with solid start (my first choice of leptos alternative), and nextjs (popular fullstack framework with many compatible libraries).

Leptos

Pros

  • Lets devs make UIs in rust, an incredible and ergonomic language.
  • Lightning fast
  • WASM bundle for whole app sent to browser on first load, making client-side page changes very fast
  • Great support for progressive enhancement and graceful degradation

Cons

  • Rust's high learning curve will make it harder for many devs to contribute, especially frontend devs who are less likely to have used the language
  • Very limited ecosystem; many useful libraries are maintained by only one person with few commits and seem likely to be no longer actively developed
  • Documentation and other supplementary information is fairly limited
  • All of the WASM being sent on first load could make first load time slower

SolidJS/Solid Start

Pros

  • Performance on par with (and sometimes even better than) leptos
  • Small bundle size
  • Excellent tutorial
  • Support for progressive enhancement/graceful degradation on par with leptos
  • Semi-decent ecosystem compared to leptos
  • React-like without many of react's footguns

Cons

  • Relatively unused compared to other frameworks
  • Solid Start is still in beta and will probably have bugs not present in other frameworks
  • Ecosystem smaller than other fontend/fullstack frameworks like react, angular, and vue
  • Supplementary learning materials outside of the official tutorial and docs sparse

NextJS

Pros

  • Uses react, which is known by many frontend developers
  • Batteries included(ish, at least compared to the other frameworks listed here).
  • Very large ecosystem of compatible libraries that can be used.
  • Easy to find supplementary learning materials compared to the other frameworks listed

Cons

  • Uses react, with all the bloat and footguns it entails
  • Support for progressive enhancement/graceful degradation lacking compared to leptos and solid start

This list was made off the top of my head from my experience working with these frameworks. I'm likely forgetting to include other useful information about them. Then, of course, there are many other frameworks to choose from (I'd say too many). I've heard svelte/sveltekit is both nice to develop with and fairly performant, although I have no first hand experience with it.

Discussion: Is there a point to keeping the gloo-net client?

Currently, the LemmyClient trait is implemented for both the awc client and a placeholder Fetch struct which uses gloo-net. I take it that the point of the browser client is to be able to make requests from the browser when needed. However, with Leptos's server function feature, I question if this is necessary: browser-side calls of server functions use a stub that uses the browser's native fetch API. With this in mind, is there a reason to keep this logic? Stripping it would make the client implementation much simpler.

Issue with new lemmy_client

@SleeplessOne1917 @dessalines

i was unable to get the new lemmy client to make any successful request apart from the home page content (list_posts) on the server side only.

i noticed the home page content has been commented out completely so i assume this was a known issue.

i have left all the code there and only added some prototype code to add the authentication header.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.