Loving all the polls around here recently, I thought I’d drop in one more.
What is the optimal situation for a web framework? Should your app start with everything being client/server reactive, and then you turn it off when you don’t need it (opt-out)? Or should your app start assuming non-reactive data, and then you add it in where you need it (opt-in)?
Let’s call out a few things:
- Reactivity is often more expensive to operate than not-reactivity
- Reactivity results in a better base user experience, but not always, since UI moving around unexpectedly isn’t great
- Not all backends support reactive features, but a good number do
- Reactivity often saves you from needing to manually update the UI via refetching data, speeding up initial dev time in most cases
- If you start building your app assuming full-stack reactivity, it might be really hard to get rid of it later even if that is an option, since you might have built your UI in a way that assumes that feature
So what do you think? I guess this isn’t really covered by a poll, so post a comment too!
- Opt-in, off-by-default reactivity
- Opt-out, on-by-default reactivity
For reference, here are a few options that fit in the above categories:
- Opt-out Meteor, Firebase
- Opt-in GraphQL with subscriptions available, Redux with REST and an event stream
I’m curious what people think is best both for initial development time, and for long-term sustainability, etc.