Business applications with Xojo web

As we are three developers building tailor made business applications with Xojo, we feel the urgent need to move to the web rather than the desktop applications we’re developing at the moment. Unfortunately, performance, efficient forms and the fact that users want to stay on the keyboard while entering data, is a showstopper to go with Xojo for web right now. Of course we could include tons of javascript to make things performing better and smoothly handled client side, but that combination eliminates the benefit of using Xojo (Rapid Aplication Development) for web.
We would prefer to remain loyal to Xojo and that’s why we had the patience to wait for the next generation Xojo for Web. Up till now we still don’t know if Xojo for Web will be good enough for business applications and if so, when. If we want to stay in business, we can’t do differently than looking for alternative platforms to use alongside or instead of Xojo.
I am not asking the community to point me to competitive platforms, which should be unfair to our favorite platform which is Xojo. It is to show in what doubt we are currently at.

We plan on creating a web front end that communicates with a Xojo back end.
That way we don’t lose the code we already have for our current desktop program.

i am in same of Joost Rongen
wait and wait

As I mentioned last year at XDC, the web framework is getting lots of love in this area.

  • We’re added msg an all-new HTTP/1.1 compliant server code which includes persistent connections and pipelining. Not closing the socket and renegotiating a new one after every request can be a huge performance boost on both sides of the equation. Once a persistent connection is established, Pipelining allows multiple requests to be in progress at the same time on that same socket.
  • Where possible, we are trying to reduce round-trips to the server for simple “action” events between controls. For instance the interaction between a button and a WebFileUploader’s Upload action.

I’ll be talking more about this at XDC 2019. Don’t miss my Web Framework 2.0 session on Wednesday, May 1st!

That’s a little hint of what is happening, the next crucial question is WHEN. Without a reasonable estimate of the time schedule this information isn’t worth much.
Somewhere i read that this 2.0 version was a process of about 4 years, in which year are we now?

The web framework is already relatively good and definitely useable for business & commercial applications. We’ve used it for several years for a cloud backend and frontend, various web apps, and for client projects as well that are used by a pretty good number of people.

@Joost Rongen What are the limitations of the web that you are seeing for data input? There is a lot you can do with key capture and saving things in the background. I’ve also found that screen design is a big thing for these types of applications. Of course, your situation might have some unique elements to it that I’m not understanding.

As a side note…if you move to a SPA (single page application) with JS frameworks like Vue or React, there is A LOT of javascript required to make them functional in an enterprise application. As well, you will need to write a server side application to serve up and save all the information being inputted. Xojo, as a single development environment for both frontend and backend makes things a lot easier in most cases (but not all).

I would say the current framework is definitely good enough to use to write custom business applications. However I would also point out that there is a major paradigm shift in going from desktop development to web development no matter what tool you use, even XOJO. And for your post, I suspect that might be where you are right now.

And there is also a question of expectations, if or your clients are expecting to do something of the stuff you see in SAP or MS Dynamics for instance with XOJO or similar tools then you are going to be very disappointed. Those kind of features require 100s of hours coding in JavaScript and is expensive.

I would say the current framework is perfectly adequate for custom business applications provided people have reasonable expectations or a big budget to pay for something special.

I agree with @James Dooley … I’ve been developing or leading development teams for Web applications since 1993 (shock, awe and rejoicing when tables were finally introduced) and have seen the move from mainframe to desktop to web applications. I would actually challenge someone to come up with a web application design that couldn’t be done in Xojo (not a sponsor!).

I will quickly admit there are short coming and improvements needed (go Web Framework 2.0 go!!) and I struggle with how closely Xojo is tied to the Basic language syntax (a positive for many people), but what is out there on the market right now is far more complex.

I just spent the last four months looking at the latest front-end and backend combinations that are out there. I built prototypes for a rebuild of my SaaS application and experience a lot of what they have to offer. While many of them have some great advantages, I then needed to glue that to something that might not be as good. Building and maintaining two applications (frontend/backend) that have different architectures and ways of viewing the world is a little too complex. The closest thing I found to Xojo was Meteor.js, but then I was either stuck with MongoDb or had to do a bunch of work to make it function with a relational DB.

Xojo might be flawed in some areas, but it is one of the best enterprise web development environments out there right now because it offers so much:

  • Stand alone and CGI options
  • Backend/Frontend in the same environment
  • Backend that knows the frontend exists…and vice versa
  • Customization through Javascript (this needs some improvement)
  • Real OOP

That is the reallity for many of us. As much as xojo web is “useable”, sticking to outdated and limited tecnology is never a good option. Web 2.0 sounds good, but the problem is the WHEN. This XDC is not the first with talks about it, who knows, maybe will be more. You cant hold proyects in pure hope.

We all know Greg and his team work very hard to give us the best experience we could get, they are rightly proud of what has been achieved. But, as been said by Ivan, this is not the first conference where we get insights and announcements. We cannot be sticking to outdated technology. Some of us will be skeptical meanwhile, which should not be a burden for Greg but the management team.

Five years ago, when I started with Xojo, I would agree. But times have been changed and our customers here, wholesalers, compare what they get from us with the web applications being around nowadays. To be fair I must say that it is getting complex if you expect users filling in complex listboxes very rapidly without using the mouse but keyboard shortcuts.
I fully agree with the statement that our technique cannot be compared with the exponential more expensive SAP - and Dynamics platforms, but this would imply that there is no affordable web solution replacement for the tailor made desktop applications these small companies currently use. This creates a field of tension because as software providers we have to provide or they continue using legacy desktop systems since they lack the budgets for the enterprise. It’s mostly not impossible for them to extend life of existing software but meanwhile we, Xojo application-builders, lose income since we cannot fill in their willing to invest.

@Joost Rongen : what don’t you like mainly in actual xojo web ?

My experience tells me that you can use Xojo for Web Apps BUT you must deploy as Stand Alone and NOT CGI.

It seems on a modestly configured Windows Virtual Server I can get 20 concurrent users (with a single instance) on a very intense Stand Alone Web App that is used as a testing engine. There are lots of checkboxes and they interact with lots of logic and the response time is very usable. When it was CGI I could only get 4-5 concurrent users and it was very sluggish with that few.

I also run the open source version of NGINX as a front end. NGINX manages the certificates and acts as a reverse proxy. You can use NGINX as a load balancer and multiple instances of your Xojo app can be run on a different port and you can you can use a URL on the front on port 80 or 443. NGINX can even redirect port 80 to 443 and force an SSL connection.

There are some threads here with NGINX configuration info that I posted.

Yes the Web Framework has some issues but for me it is workable. If you need 100 concurrent users it will be a challenge but I think it could be done with some load balancing. If you only have 10-15 users on a “normal” application you should be able to make it work unless you have some other server or network issue.

[quote=427628:@Joost Rongen]
I fully agree with the statement that our technique cannot be compared with the exponential more expensive SAP - and Dynamics platforms, but this would imply that there is no affordable web solution replacement for the tailor made desktop applications these small companies currently use. This creates a field of tension because as software providers we have to provide or they continue using legacy desktop systems since they lack the budgets for the enterprise. It’s mostly not impossible for them to extend life of existing software but meanwhile we, Xojo application-builders, lose income since we cannot fill in their willing to invest.[/quote]

Let me start by saying that I’m very disappointed about where we are today with web development. I started coding Windows around 1989 with notepad and a command line compiler. About 10 years later I had Delphi and VB which of course was a major productivity boost… And then I moved to the web and good old notepad once more. Now 15+ years later I’m using a beefed up version of notepad! I see very little real progress in productivity. Every other year the toolset changes with a big fanfare. But in reality it’s just a new bunch of libraries from a new open source team doing what they used to to in a different way. And within a couple of releases they will move on to something else.

Joost, perhaps I’m wrong but I get the impression that you have very little web development experience and like the clients you serve, your expectations are way above what can be done at a reasonable price. To build the kind of application you are describing means that you have to go down to the JavaScript library level and learn that toolset and by the time you do, it will have changed. And of course the development effort is slow and time consuming.

The sad reality is that XOJO is probably among the leaders in trying to boost developer productivity, in fact I’d go as far as saying most of the big players are not even concerned about it! I know you feel you are loosing out on the income side, but suspect you are actually saving money by not being dragged into loss make projects.

The experience is relative. You could say, a century of expertice, but, you will know how to do somenting with the tool you use, not really having knowledge os all the tools available.

The simple reallity is than the “expectations” of the clients, its because they se other EXISTING working web apps with better UI and performance, and the expectations of @Joost Rongen and many others, are because we know EXISTING tools that produce such web apps, just cant be discussed here. Open source libraries are not the only web development alternatives.

I agree with James. I’ve never seen a web application that comes close to the performance of a desktop application.
so far, if you choose the web you have to accept this.
but you’ll have other advantages, of course.
and, as I read a while ago elsewhere, there are dozens of web development tools that should have been revolutionary and that no one remembers anymore.

PS sorry for my bad english