To answer (and comment on) the original question (which I assume is what you’re asking of me), as long as nothing internal or external is changed, the web 1 app would, in theory, run forever.
Having said that, we all know that’s not realistic. Things change outside of our control. However, that may not matter because no system lasts forever. So the key is keeping the system running for as long as it needs to run which is a more potentially achievable goal.
In general, we here at Xojo are very sensitive to not making changes that break things. We have had countless discussions internally about making an improvement where we have to throw out some of the suggestions because it would break code. Other times this is unavoidable.
And yet other times it was thought it be unavoidable at the time and only later when it’s essentially too late to realistically do anything about it, is it discovered to have been avoidable. This is likely the case with the web framework. In retrospect we probably could have found a path from web 1 to web 2 that didn’t involve requiring the user to rewrite or recreate parts of their app.
In the 25 years we have been doing what we do, this has been the one occasion that required a potentially significant amount of effort on the part of the user to move a project forward. None of us are happy about that because that’s the very thing we work hard to avoid.
Hindsight is, as they say, 20/20. We will almost certainly never repeat such a thing again. I say “almost” because I obviously can’t anticipate every change that may come along in the future. If I could, I’d be in a different business. We all (hopefully) are constantly learning. If I could take the knowledge I have now back to 1998, when we shipped the first release, there are so many things I would do differently. We have all experienced this. That’s just life. If we are paying attention, we don’t make the same mistakes twice. I feel confident that we are paying attention.
There are some that believe it makes them look inadequate if they ever admit to a mistake. I think this is entirely wrong. To admit when one is wrong shows that you are dedicated to truth and that’s a strength, not a weakness. For me there is nothing more important than truth. Thus as I have said, I regret the web1/web2 debacle. As a team we are dedicated to avoiding such a situation (to the degree that that is practical) in the future.
If it sounds like I’m carefully choosing my words it’s because I am. The cool thing about technology is that every once in a while something almost magical appears seemingly almost from no where. Sometimes this is quite disruptive. Thus some unforeseen change could in theory require some significant departure. Having said that, as I said before, we work hard to avoid this. Our latest offering, Android, is a terrific example. The underpinnings of Android are more different than any other platform we have ever supported. That you as the developer are for the most part abstracted from them is a testament to our dedication to creating productivity by allowing you to reuse as much of what you have previously learned as possible.
I hope this makes my position more clear. As I said, truth is ultimately what is most important to me.