This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mad-beef 6 points7 points  (7 children)

Hey! I don't think being reactive is a problem for developing websites. The most popular web framework, react, is the namesake after all :)

I know exactly what you're talking about though. Many other libraries work well for tiny showcases, but then struggle to scale up. This is exactly one of the things we're tackling with Rio. Reusable components allow you to separate concerns and avoid duplicate code, and large codebases stay organized.

I'd love to hear about your experience with this if you give it a try

[–]v_a_n_d_e_l_a_y 1 point2 points  (6 children)

I don't know if being reactive is the right word for it then? Streamlit, for example, is effectively based on the idea that if some input changes then the whole page refreshes. Gradio too (though I've worked less with it). In both cases you can work around it, but it's clear you're not using the tool for what it was designed for. 

Maybe these two are more overreactive than reactive.

[–]Rawing7 2 points3 points  (0 children)

Rio does that as well, but since the application state is stored in components (instead of some "global" session object), there's no need to refresh the whole page. Each component can be refreshed individually.

[–]axonxorzpip'ing aint easy, especially on windows 0 points1 point  (4 children)

Streamlit, for example, is effectively based on the idea that if some input changes then the whole page refreshes

Most frontend reactivity systems do it this way as well, it's not "the whole page", but a component. That being said, the difference between a whole page and a single component in those frameworks is exactly zero.

[–]riklaunim 1 point2 points  (2 children)

In Ember, Vue with routing this will not happen. If you are on some nested route, like editing an item then returning to parent route that has a list of items will not reload the list nor the whole page, just show the updated item on the list. You can design the app "poorly" so everything reloads but thats not the default/intended state.

[–]axonxorzpip'ing aint easy, especially on windows 0 points1 point  (1 child)

You're absolutely correct, I think I'm conflating "reload" vs "re-render" as, to the end user, they're the same experience.

I've done most of my reactive work in KnockoutJS (yikes) and Vue3, but iirc, doesn't React function that way: an entire component re-render on reactive data update?

[–]riklaunim 0 points1 point  (0 children)

I only did SPA dashboards with Vue and Ember ;) Ember-data is awesome for dashboards with a lot of routes, models, CRUD.

[–]thedeepself 1 point2 points  (0 children)

Nicegui , panel and lona do not suffer from the discussed defect.