There is a project with title Add components programmatically in the components category of GSoC projects.
Project definition :
Currently components as Sprites have to be manually added to a Canvas to be able to use them. In situations like games, it would be a lot more useful if Sprites could be instantiated and created when needed. In Scratch this functionality is called cloning and it would be a great starting point to see how cloning works to design a similar feature in App Inventor.
I have attached a photo here showing how implementation can be done.
In the blocks editor we can give an option for creating a new component .By choosing the component we can create a component. As we select the component the properties menu will pop up on the right side of the blocks editor. we can set all the properties. & As we add the component it’ll also be added in the components shown in the designer.
After that we can create more built -in blocks.
example : if we create a button then in which layout it should be added.
Can we implement like this??
Is it appropriate way to do this?
can we do the same thing any other way ??