The general gist in a program is that it is an activity that is done when needed, rather than being done in a separate execution (typically beforehand). So in the computer sense, that means the work is done while the program is executing, rather than doing it "offline", or once before any program is run and reused every run.
The advantage of creating something "on the fly" is that you can create it based on the very latest information. The disadvantage is that you may end up doing a lot of work to create the same thing multiple times.
simultaneously with another task