You can create apps that allow users build views themselves. New views will behave exactly as ordinary Jet views. They will be navigated to from the URL or with show() and loaded as subviews.
View Locating Logic
You need a way to register newly-created classes so that the app could find them. Create a helper module that will be used to register new views. It will store the hash of view URL segments and the corresponding entities.
Next you need to expand the default view creating logic and redefine the view setting of the JetApp configuration. The app will first look for a view among localViews. If it does not find anything there, the view will be located as usual, in the views folder.