Like many many other users on here, I am trying to create a Single-Page Application without dumping 100’s of views into a single dynamic panel. The answer is easily dynamic Pages.
Now… HOW do I do this WITHOUT building a time machine to go back to 1996 to use an Inline Frame??? Using an obsolete 22-year-old hack to implement a modern day design practice (and future standard) is NOT a “solution” nor an option.
The logical way would be to dynamically load the pages into a named Panel, Box or Placeholder wrapper at run-time.
I really hope they have built a proper SPA workflow into the upcoming RP9 release!
It would be cool to have, but personally I’ve found iframes to be a perfectly acceptable solution. I’m not building a single page app, I’m building a prototype of a single page app. But perhaps your needs are different. If there was another way I’d probably use it though.
An iFrame doesn’t match the size of the content which makes it even more unusable and the prototype even lower fidelity. Mainly because this was NEVER what iFrames were intended for. (hence, my original question) Every time I have used them the client always questions it. I am tried of having to make up excuses for why it wasn’t done “right”.
I found a large JS library that attempts work around this, but it only works one direction and is yet again another HACK.
It looks like you would like an alternative and more elegant way of constructing a Single-Page Application (SPA) without the use of Inline Frames that is out-of-date and, therefore, inappropriate for the modern design trends. There is no mistake about it. You are right in continuing to apply those old methods, however, since they can lead to performance and usability issues.The best way would be to fetch the content of a container (say, a Panel, Box, or Placeholder) dynamically during runtime rather than unneeded views appearing on the screen, which would be difficult to manage. But for instance, all the newer technologies (e.g., React, Vue, Angular) are already capable of this feature through such technologies as lazy loading, dynamic imports, and client-side routing. In case you are developing a certain tool or working on a certain platform (for example, RP9 as you suggested), you may want to check if it already comes with a SPA design or if you can add the feature of dynamic load and rendering by creating custom logic. Finally, proper SPA functionality is one of the features that make the process of development in RP9 smooth and coherent with the best practices.