Porting to Web 2.0

porting of projects to web 2.0. First big problem, keypress event in the webtextbox, the event

it starts very very very badly. :rage: :rage: :rage: :rage:


I’ve made a collection of fixes and tools that help make migrating to Web 2.0 a little bit easier. It restores things like the KeyDown functionality :slight_smile:

It’s like MBS, but smaller, and for Web.

More information here: https://strawberrysw.com/tp-webkit
Demo app here: https://webkit.xojo.dev

And definitely check out what Xojo has to say about migrating to Web 2.0


I thank you and I will consider it, but it is really embarrassing that in order to use existing features in old versions, you have to use third party components. do i buy xojo? ok xojo must give me the basics do not take away what already existed and focus on third-party tools to compensate for its shortcomings, such as the problems that arise with the use of data sources and with very large varchar data, xojo suggest to use mbs components… ok but then it seems done on purpose.


in addition, using external components complicates the maintenance of projects. I hope not to run into any further problems but it seems to me that the choices they are making do not take into account the time it takes people to plan and work around the problems that xojo already has, let alone introduce more.


In case you have not yet encountered it, do not be surprised when you cannot apply styles to your controls in the same way as you did in web 1.0. While there are some limitedoptions to change certain stying elements of certain controls, you must now for the most part use a minified CSS theme. Not a big deal if you are already used to developing your own themes, but quite a rude awakening if you are not.

1 Like

I love good news :joy:

1 Like

Porting to Web 2.0

its more a rewrite and not all features from api 1 (classes) exists.
api 2 is also not 100% functioning (means there are open issues)
you should better start with a prototype to test all requirements.

I wrote a few articles around Web 2.0 (as others did, here and on the Web), and perhaps a few things are useful for you.

My suggestion (even though I am repeating myself) is to really take into consideration that Web 2.0 is a complete re-design and we/you should deal with it as with something completely new (at least at the beginning). Web 2.0 has to offer a lot but it can indeed be frustrating trying to mimic Web 1 functionality 1:1 with the current release. Better stay with Web 1.0 for your old apps (which is still working) and build something brand new and check if and how you can solve your ideas with Web 2.0. I’m sure Xojo will add more features but not necessarily everything. I would only try to convert very small Web 1 projects, but I even didn’t touch those. But I am quite happy with the current possibilities in Web 2.0, but @MarkusR is right that some open issues might yet be a showstopper, but there are workarounds (basically not using that functionality yet).

The mouse and key events for instance were skipped as they caused some serious issues due to latency and sending to many events between the server and the client(s). These are sad news for those of us who deployed Web solution in an internal local network, but it is the right decision on the internet, as an app run in Texas, might work perfectly fine over there, but not all in Munich … I understand that from Xojo perspective it is a good thing to avoid that people not familiar with such problems will avoid to run in problems where an enduser has a big problem, but for the code close to “his” server everything is working perfectly fine.

@Tim_Parnell solution has low footprint and is fairly priced I think.
Dealing with native CSS or bootstrap templates is not very complicated once you get used to it.


1 Like

see, there are problems of the old web 1.0 never solved! the webListbox had a lot of them for example, there are cases of mine from years ago, taken in charge and never resolved, either at rel 3.2 !! I suppose that the problems of the old release will be ignored from now on (since they are ignored before …) so I would have gladly migrated to ensure continuity to old projects, but now the solution is really complicated, since you say that release 2.0 are still unstable !!!

1 Like

the problem is you think the method (framework) work as expected and you waste hours to find out why it does not work etc.
unfortunately it happened a lot of times.
fundamental methods must work or a class is useless in this status.


I didn’t say unstable. I have build some huge Web 2.0 apps (even when it was still in beta) and I really love it. I only confirmed what Markus said, that there are some open issues (all different than Web 1) as far as I overlooked it. What did Microsoft do with Visual Basic and its successor ;-), Apple is very good in starting from scratch too. Web 1 was over 10 years old and even the original creator admits that it was the right thing to do starting from scratch. Does this hurt? Of course, but it is what it is.

That’s why I urge you to embrace the new possibilities first and perhaps you are lucky like me and you will find other and better ways to solve your ideas. It is very likely that you can re-use a lot of your main code, but UI-wise you need to be flexible and embrace the new stuff.


Of course I have to agree with this valid statement, especially if many of us are investing individual time to conclude that it’s just not working as promised. But I was impressed how many reported bugs were fixed in the dot release, so my hope with the first release in 2021.


Backe when I did use Web 1, it only for that purpose, and it is the only reason I might have consolers using Xojo web in the future.

What I don’t understand is why not keep the feature in addition to what Web 2 does, just documenting the potential issues with internet vis Intranet apps?

IMO “Citizen Developers” (those that do things for their job etc but not part of the IT group and one the major customer groups Xojo targets) are likely to mostly want to do intranet stuff …

IMO they (we) are least like to know/want to deal with CCS or have the time to learn it, and since they often pay for Xojo on their won and don’t make money with it, don’t want to have to by plugins.

The only reason I stopped using Web 1.0 long ago was that for may years we did not have a single intranet at work … No central server (and each department has it’s own router and direct connection to the net, so departments were islands, which limited the usefulness.


1 Like

Agreed. Probably a question of priorities I would assume … as it was a complete redesign. So less about cutting what existed, but not yet implementing into Web 2 what existed in the “old world”. Again speculation form a simple user ike you, no evidence whatsoever. And as often said before, I gave up on expecting answers to such questions, it is usually a loss of time (as valid as they are). I’m using what is on the plate and finding my ways around it, or not using it, if there is no path.

I agree as well, but it is no way different on any other platform. Even if hey are free, there might be paid IDEs, or better (paid) plugins etc. @Tim_Parnell succeeded in finding a solution, so Xojo is great, everyone can do it and create their own plugin, or buying it from him. No offence here, I believe you are getting what I’m trying to say.

If I remember it correctly Geoff said there will be more mouse events, without “promising” which events.

If we all agree that Web 2 is a complete new “thing”, I would say it is the best “first version” of anything Xojo has published in the past.

LOL, You are really late to the discussion. Many users had said that the las couple of years, but, you know, they didnt listen.

Is not a “For Now”. Xojo already said that Web 1.0 is dead and that is not going to have any update/fix.

Web 2, sure, it is technically usable… less events, no styles, slower in many cases, lots of bugs, lots of hacks and workarounds and/or third party solutions.

This maybe is a good thing, but it is also really sad :confused:


Web 2.0 is not mature yet. Xojo (in my very subjective opinion) released an mvp (minimum viable product). It is good enough for simple things and certain use cases, but it will require much love in order to become as widely useful as web 1.0 was - and still is. I am hopeful that improvements will come. Hopefully faster than they did for IOS.


No longer the case. Geoff rethought the situation in response to user feedback and wrote a blog post stating that they will still support 1.0. It may not get new features, but some things will still be addressed. I don’t recall the specifics.

Here is that blog post :slight_smile:

Yes, I saw that, but that blog is something like: “Web 1 is not dead because you can use an old Xojo release in the foreseeable future”. Sounds like an excuse. And the “if someday web 1.0 stops working in a browser, call us and we will see…”

If we are lucky that means a 2019r3.3 to make it work in the browser again, but the reality is, no bug fixes, no new web 1 features, no compiler nor IDE new features or fixes.

What would be the name for that if is not dead?


Is this different to Visual Basic 6? Is this different to any legacy/deprecated OS version (be it Windows, Mac, Linux), any old browser? Last week I extended a certificate for ksign. Requirement: please note that you can only use a native non Edge Microsoft browser, or the Firefox version (whatever version, I can’t recall, but meanwhile deprecated too). So for getting a certificate for the latest and greatest security “feature” on the newest Windows, I have to re-install an old unsupported browser versions to fulfil the prerequisites?

I’m not saying that I like this kind of things happening, but it is just the nature of IT. I’m happy that this old version is still available and that it got at least security patches. So I have a particular business case for this old browser version, but I will still continue to tell my customers that this particular browser is outdated and that we will certainly not support it any longer for new developments or updates.

Extended maintenance?