Why use Web 2.0?

+1, great post! As for CSS: yes it is a “complex” topic, but it offers (meanwhile) so many possibilities! And that’s for me the killer argument, that it would be silly (and impossible) to translate / map everything into Xojo. Though I do agree, that some basic stuff is still missing.

If you take for instance my plugin teccToggle. Not only because I’m lazy but because in general I am trying to simplify any solution, I’m using CSS for all the different positions of the toggle button by using ONE(!)) CSS statement, which flips, mirrors and turn my control as needed.
I don’t think this needs to be included out-of-the-box in Xojo but it is great that we are able to use it, if needed. It is a pity though that for some hacks we need to use JS, which could be solved otherwise. If Xojo would use more CSS variables, this could simplify some customizations dramatically.

1 Like

I think Web 1 was much more suited to in-house web apps. as well as for those who don’t know and don’t have the time (because they would never use them enough) to learn and become proficient in web technologies like CSS JS etc.

Web 1 was very directly aimed at such people…

Web2 is a different product aimed primarily at different audience with different optimal use cases.

At least that is how I see it.



Yes, I agree.
However, if Xojo succeed in developing Web 2.0 into a full-range api, it has the potential to be a mighty impressive tool.
We keep our fingers crossed!


I would like to suggest Xojo’s Team to host Eddie’s Electronics web application
using Web 1.0 and Web 2.0 (compiled individually using Xojo2020 and Xojo 2021).
It can be a good benchmark to evaluate the performance and ease of use for the 3 versions. (Web 1.0, Web 2.0-Xojo2020 & Web 2.0 - Xojo2021-New JSON Engine)


I tried using the Web API 2.0, but I quickly abandoned them. I have developed several WebApps. Some are really big and difficult to migrate to the new Framework. I had developed a CMS with Xojo in which themes made with a Custom language were loaded. Xojo then rendered and printed HTML. There are 5 sites using this CMS.

The work was huge, over a year and when I was done, Framework 2.0 came out. I tried to migrate but it’s complex.

I am a J2EE developer by profession, if I have to import themes and customize objects I use Java. If I need to have the simplicity of development with many ready-made tools available (such as events etc …) I use Xojo. Because it has the speed and simplicity of development. But I don’t use the web part anymore. For that I still use the 2017 version.

Great for mobile and desktop development. But even I don’t see anything so exciting in Web 2.0, it doesn’t feel like Xojo to me.


web2 is very different from web1 projects
I wouldn’t bother converting big projects from web 1 to 2 it’s a completely different framework.
you should work from scratch a new project.
I was also at a period between web1 and 2 to start a new big project.
happy I have used the web2 because now I can see the future !
it wasn’t easy all this time, but now I appreciate the framework.
if you’re used to web 1 it’s may be a complete different story.

1 Like

If it ain’t broke, don’t fix it :slight_smile:

1 Like

Where are using web2.0 on all future projects. We spent a lot of time looking at other tools and then nearly went a different direction. But we had so much base code that was in Web1, that the thought of rewriting it in another language was just a little bit more painful than the thought of rewriting it in web2.0.

In our opinion, web2.0 is about 85 % baked. There are bugs as in any other language, but these bugs are not the kind of bugs you find in mature software. We currently spend about 50% of our time actually coding and 20% learning and 30% of our time working around bugs. The amount of time we are spending on bugs is going down as we find work around for the major stuff.

We haven’t found a bug yet that we couldn’t work around. That doesn’t mean we haven’t bloodied to our heads banging it on the desk getting there. “Is this a bug or does it just work different?” It’s a thought that spends a lot of time in my head.

My gut tells me that in another 18 months it would be good and solid.

Having said all that, We’re committing to our first large scale project in January using web2.0.

1 Like

Just in time for another new idea… Web3, api3, new product name, Who knows :stuck_out_tongue_winking_eye:

Still on web 1 here.


I am working on something now that could either be a web app or have a web app (just for generating management reports) to compliment a desks to app whee teh data entry happens.

Because of that I considered buying a web license during the black friday sale… but it was those types of potential issues that made me decide not to.

In the very days of web 1 (11 ish years ago IIRC), I was able to cobble to gather a small but useful web app pretty quickly… Yes there was some head scratching and some bugs, but the overall design of Web 1 was close enough to using desktop that I, someone who does not know web technologies at all, was comfortable working with it…
The shortcoming that seemed of most concern for Web 1 from what I gather was performance because of round trips to the server, and issues with dealing with the different /small screen sizes of mobile devices…

But for a web app to be run on a single site intranet accessed from PC browsers, those are not significant issues.

This project would have been much more ambitious (and needs to be done ASAP)… Web 1 , before it was superseded, was much more mature than when I last used it in its infancy, and I would have felt more comfortable trying to use it

I did not feel confident in trying an ambitious (for me) Web 2 project with it’s different philosophy and its immaturity and my lack of web technology knowledge with a tight timeline…

I considered buying a Web license just so I could use Web1, but given that has less support going forward than API 1(at least it seems that way to me), I decided to pass on doing a web app and just go with a fat client/ (DB) server desktop solution. I feel I have a better chance of getting that done in a reasonable time frame.



I agree with you, they are completely different worlds. You are right that migrating large projects is a burdensome job and should be avoided. In fact I avoided. I tell you that I am better off with web 1.0 because it is very similar to xojo desktop development. It was almost identical. I chose Xojo for the Desktop part, I have always developed Desktop applications since it was RealBasic. And being able to easily migrate from Desktop to the web was almost magical.
If I will use Web 2.0 I will do it with a project from scratch, but for now it is not for me. Then I do not deny that we are aiming for a future different from the past in which different paths open up. But this is a business choice, mine was a choice of my personal convenience. I loved VisualBasic and Xojo allowed me to do the same thing I did on Desktop on Web. The only thing I regret is that WebApps developed with Framework 1.0 will not have a security update, they will be dead.

In short words. Starting from Zero for a new project on Web 2.0 makes sense as you say, indeed it is logical and safe. But my personal preference is different.

I had some issues with the latest Web2 Xojo releases and no time to debug those. I fixed the new errors wich popped up with the newest releases, but my app didn’t work as expected. Again, as I had no time, I just reverted everything back via a server restore from a backup.

This morning I compiled https://xojodocs.com/ with the newest release 2021 3.1. Kudos to the whole team, everything seems to be working again. Great job.

Due to some customers requirements, I am working now for several months on non-Xojo web projects. They are fun, but they are not bug-free either, though you have by far more “plugins”, basically libraries for everything. But the learning curve is huge and should not be underestimated.

I’m not saying that Xojo Web 2 is perfect, nor am I saying that Xojo Web 2 is the best fit for all possible requirements, but it is a very solid foundation and (for me most important, others might of course have different requirements) it is still unbeatable for quick prototypes and for people who don’t want to spend a lot of time with CSS, WebPack/Vite, Front- / backend segregation, learning a new IDE, new plugins, etc. One probably only gets the big picture while using other Web programming languages. Of course there are competitors to Xojo offering a similar approach for Web. But the possibility to use existing (already paid plugins) and code snippets from non web xojo projects should not be underestimated either.

Especially in terms of “security” Xojo Web 2 is doing a lot for you under the hood, and that’s where Web1 is what is is: outdated and probably nothing which can successfully compete with the latest web technologies in the near future (though I’m myself still running a few web1 apps, but which I won’t touch any longer).

As with any cross platform tool, you will run into some kind of limitations, but overall one who doesn’t know much about Web can do a lot with Xojo Web 2. I still believe it would be great if Xojo Web 2 had an integrated authentication and authorization toolset, but that’s just a wish and the roadmap none of my business.


Web 1.00 was around for a decade or so. Chances are Web 2.00 won’t be replaced for a long while.

1 Like

Don’t give Xojo any ideas! :stuck_out_tongue:

I don’t really agree with this sentence.
With Web 1.0 I put the Button on the form
Then I created the style, put the color in it and applied the gradient in two mouse clicks. Total time 1 minute. Then I applied the mouse-like style to the buttons I needed.
Same thing on rectangles, objects etc …

With Web 2.0 you have to import a CSS that is the same for all objects. If you want to change it you have to get your hands on the CSS code. If you want a gradient in a particular object you have to create the style on the code side and apply it on the code side.
The realization time was 1 Minute of the previous framework, with the current one we are above the threshold.

This thing besides the fact of the lack of events that have always been there (MouseOver etc.) I do not like.

I develop in J2EE every day at work, I had chosen Xojo for that 1 Minute … I sat putting my hand to the CSS and code to change a button … I do not do it spending the money on Xojo.

I repeat: Desktop and Mobile part fantastic, truly wonderful. Part Web 2.0 from my point of view far from RealBasic standards.


In the beginning, I shared your thoughts regarding Web 2.0 styling (you may have read some of my vitriolic posts). My first custom CSS file took an awful long time to create. I did not see the benefit. And I am still a bit wary of the next one I will need to create!

Then, I recently needed to start development on a second application with the same visual signature. It was a 10 seconds job to set the visual signature, simply by assigning the same CSS file to the second application. Basically, all the formatting is now reusable without much effort (this is also true of corporate developers using the corporate web site CSS). There is a benefit to CSS after all.

It happens sometimes that one specific control should have a different style than others of the same type. This can generally be handled quite easily by subclassing the control and assigning style properties in the open event of the subclassed control. Or, less easily with javascript. This is all somewhat less user-friendly than creating a Web 1.0 style, but quite easy nonetheless. And I can copy my subclassed controls (and methods if required) from one project to the next, just like I did styles in Web 1.0.

It is a big change. CSS is not the most straightforward thing to deal with. Figuring out what to change in the CSS template for a given Xojo control is not the easiest puzzle sometimes. Yes, I wish this could be improved either through some targeted Xojo-CSS documentation or some IDE tool. For the moment, I inspect the pages, find the classes and then modify the CSS. It is still largely hit and miss (hence my wish for Xojo-CSS documentation). I use a CSS editor (Stylizer 7), which makes the process more manageable than with a text editor.

As an aside, since the beginning, Web 2.0 was much slower in my use cases than Web 1.0. As of 2021 R3.1, my benchmark test application is now faster in Web 2.0 than the same application (minus the adaptations for Web 2.0 API) in Web 1.0. As one might say: if you can’t beat them, join them. This proposition is becoming more attractive with each new release.


I know how to use Css very well. I use it for work. I use Xojo for some types of personal development and for some projects. For 20 years xojo has been the language and the idea of ​​philosophy a few clicks and a little code and everything goes. you choose it for this. if I have to start editing the css … I install eclipse, tomcat and I do my development in Java with spring and css. no cost. It is not a question of difficulty … but of philosophy.

If you feel compelled to use it, then use it. I will only use the Desktop part.

I promise I don’t write anything about Web 2.0 anymore

1 Like

What about the mobile disconnect bug? That one bit me hard. Injecting JavaScript to reload the page on disconnect doesn’t help if the page is loaded with user data that will be lost.

Edit: sorry if this seemed off topic. It was an honest question, but also a gut reaction while reading through this thread. There are things I like about Xojo Web 2.0 (versus 1.0). But this, and a couple other show stopper bugs, really undermined my initial impression and willingness to use Web 2.0. If we could just get a fix or work around, that opinion would sharply change back to positive.


So, is there a straightforward new / compare features list available? Still on 2019R3.2 here…