mui / toolpad

Toolpad: Full stack components and low-code builder for dashboards and internal apps.
https://mui.com/toolpad/
MIT License
1.31k stars 295 forks source link

Export to high-quality React code / eject #316

Open prakhargupta1 opened 2 years ago

prakhargupta1 commented 2 years ago

Problem

  1. Visual vs. Pro-code. In our latest survey: https://mui.com/blog/2021-developer-survey-results/#if-mui-considered-building-a-low-code-tool-what-primary-use-case-would-match-your-needs, many developers entertain the idea that generating high-quality React code after visually building could be great. While people are pretty bad at predicting what they really want and how they will really behave, this is an interesting data point for us. In practice, I don't think that it means that developers want actually a visual tool that outputs codes, e.g. https://openchakra.app/, but how developers would appreciate a tool that can intertwine visual development with code development. Each has its strengths in different contexts.
  2. Lock-in fear. An only visual development tool could lead developers to not even consider trying the tool out because they would fear that their work will be lost, as soon as they hit a customization wall.

Pains

Benchmark

https://user-images.githubusercontent.com/3165635/166156774-ee4d9338-381c-4cc2-ac14-4d4575d4a193.mov

Screenshot 2022-06-25 at 14 09 08 Screenshot 2022-06-25 at 14 11 25
oliviertassinari commented 2 years ago

@newguy-123 I have iterated on the content of this issue, added more details and options

ShaalanMarwan commented 1 year ago

Any update about this feature ?

oliviertassinari commented 9 months ago

I experienced the same need from https://github.com/mui/mui-public/pull/147. My ideal workflow would have been:

Right now, it feels like having to start from https://mui.com/x/react-charts/ is more work than it should be.

prakhargupta1 commented 7 months ago

While code generation and ejection can help in quickly scaffolding an app, the majority of future development is bound to be code-only. Instead, for use cases like admin applications, a combination of higher-level components and intelligent data management interfaces can be an option to code less and build fast. Check out https://github.com/mui/mui-toolpad/discussions/3311 RFC to read more on this idea.