Replies: 1 comment
-
Hey there @ryskin! I appreciate your thoughts. To summarize your point, you're advocating for keeping MST in the Ignite boilerplate (given we have talked about removing it in v10), because MST is an excellent state management solution (agree) and including it in Ignite makes it easier to get started with it (agree) and also provides a viable alternative to Redux (agree). So, I agree with your main three points. TL;DR of the below: MST is great and still recommended for Ignite. We are removing it from the default boilerplate to serve Infinite Red's evolving needs as well as community trends. Here's some history and context that might be helpful. When we created Ignite in 2016, our clients expected us to have strong opinions on the full stack, including state management. With Ignite v2, we wanted to get away from Redux because of reasons. So we evaluated a few different options and settled on MST. Like you, we had a great experience for years. So there was little incentive to move away from MST. In the last two years, however, the React ecosystem has matured and more clients come to us with their stacks more established. There's been increasing pressure from our clients to adopt the state management systems that they already have in place. This means more and more we're pulling MST out of Ignite and putting in [RTK | Apollo | React Query | etc] to satisfy the needs of the client. Additionally, we've heard feedback from the community that one of the big obstacles to adoption is MST. It's not that people don't like MST (they often haven't even tried it), it's that they already have established preferences and it's offputting to consider having to learn a new state management solution. (Sidenote: I sometimes hear "I don't need a state management solution because I use X instead" ... and then when I look at their code, they're just building a worse, implicit, ad-hoc state management solution instead. But I digress...) So -- what's the solution going forward? We still recommend MobX-State-Tree as being the best Ignite experience. You've articulated the reasons well in your post, and I can give even more reasons if people want. I plan to do a series of YouTube videos on this, so subscribe to my channel if you want to see that. We will be removing MST by default. The reasons are stated above. We will provide a very good MST integration story. We will at least provide a solid Ignite Cookbook recipe. We will possibly provide a Flame AI AI-powered integration script. We might provide a non-AI integration script. We will certainly add our MST recommendation into the documentation. Regardless, the patterns are well-understood and we can help you get there. Again, I appreciate your feedback, it means a lot! |
Beta Was this translation helpful? Give feedback.
-
Dear Infinitered,
I'm reaching out to express my deep appreciation for MobX State Tree (MST) and to advocate for its continued integration in Ignite.
Several years ago, I was fortunate enough to encounter an Ignite build pre-configured with MST. This experience marked the beginning of a long and fruitful journey with MST, which has since become an integral part of my development toolkit across numerous projects.
I understand that MST might not be as widely adopted as other state management solutions like Redux, potentially leading some to consider removing it from Ignite's default setup. However, I firmly believe that MST offers unique advantages that merit its inclusion, especially for those who are just starting with Ignite.
Here's why I think MST should remain a staple in Ignite:
Ease of Use for Newcomers: For beginners, setting up MST can be a daunting task due to the smaller size of its community and the scarcity of ready-to-use resources. The pre-configured MST in Ignite significantly lowers this barrier, offering a more accessible and smoother entry point.
Innovation and Diversity: MST's presence in Ignite's default setup not only offers variety but also encourages innovation and exploration of different approaches to state management.
Personal and Professional Growth: On a personal note, MST in Ignite has been a compelling argument when advocating for its use in new projects. Its presence in a respected platform like Ignite lends credibility and encourages others to explore its benefits.
In conclusion, I sincerely hope that the Ignite team will consider the benefits of keeping MST as part of its core offering. Its continued presence not only benefits current users like me but also opens doors for future developers to explore and adopt this powerful tool.
Thank you for considering my perspective.
Best regards,
Alex Ryskin
Beta Was this translation helpful? Give feedback.
All reactions