I want my user customize their form in runtime. I doesn't mean form size change or something like that

I mean how a enduser can change a item's place,
delete a unnecessary item, add a new item on the form

and how can I store this new form designed by my user.

Thank you