ASP.NET vs. Xojo

Hi,
for a potential customer we need to figure out the advantages and differences between ASP.NET, which a competitor uses and Xojo, what we currently use.

We need to focus on development process, deployment and future-readyness.

I have never worked with ASP (just C#.NET). Maybe someone can help me?!

Thanks :wink:

One of the best advantages is that you can build for Mac, Windows, and Linux with one code base. It takes one-third the time to deploy an application to all three targets.

Xojo builds actual executable code, so it’s better than a cross platform solution like Electron which is a web app bundled into a Desktop app by running a stripped down version of Chrome.

I wouldn’t say anything about future-readyness. Xojo, Inc has a policy of not announcing most things until they’re ready. Big marketing ploys like Android and iOS tend do get announced, but we never know when they’ll be ready.

Sorry I forgot to mention that we provide a web application!

My statements only apply to Xojo Desktop.

I noticed that ;), but thank you anyways for your input :slight_smile:

Hi Lars,

I’m not sure I can help with the differences between ASP .NET and Xojo Web, but in my day job I’m a full-time ASP .NET & SQL Server developer.

I’m new to Xojo and am mainly interested in their Desktop and Mobile offerings, so haven’t tried Xojo Web (yet).

With that said, I’m happy to try and answer any ASP .NET specific questions you might have, if that helps?

With regards to the ASP .NET development process: Visual Studio is a well built tool with some pretty extraordinary capabilities, e.g., extensive debugging features, integrated Nuget packages (for MS or 3rd Party extensions, i.e., 100,000+ plug-ins), integrated source-control and an immersive-like code editing environment.

The down-side to the Visual Studio experience, verses the Xojo IDE, is you rarely ever do any drag-and-drop programming in ASP .NET. I actually don’t even have the graphical views enable in my VS toolset. So it’s all hand-written coding in ASP .NET. Anybody know what RSI stands for? :wink:

So with regards to “speed” of development, that could be a win for you (??).

Integrated ASP .NET deployment has many options. Some built right into VS, other are 3rd party. We use a Build Server (TeamCity by JetBrains), that handles server deployments drawn direct from source-control, with the click of a single button (per target environment). This includes our production systems, which requires simulatanous deployment to multiple load-balanced web-servers, all with one click.

With regards to future readiness in ASP .NET
 that’s a contentious topic even on the MS platform. Because in the original implementation of ASP .NET, it was widely based on the Webforms idealogy, which is no longer available, going forward in .NET 5 (aka .NET Core). Webforms has been demoted in favour of MVC and Web API designs.

Note: .NET Core can also run on macOS & Linux.

Also note: .NET Core no longer supports VB .NET, for those that might be curious.

So, if your competitor is not .NET Core ready (or is not already using MVC designs) - and if I were the customer - I’d think twice about investing in a web application project using .NET that relied on Webforms. If this were the case with your competitor, it might give you an edge with your customer (??). It’s a long shot, but might be worth some discussion with them, if such an opportunity were to present itself.

I hope some of this helps. Good luck.

[quote=368490:@Tim Parnell]One of the best advantages is that you can build for Mac, Windows, and Linux with one code base. It takes one-third the time to deploy an application to all three targets.
[/quote]

Not anymore. With .Net Core you can target all three as well, but there is a better way - Docker. That way you don’t even need to target all three, just Linux - and bonus: it runs on the Raspberry PI as well.

Deployment is also peanuts:

docker pull codesurge/eddie
docker run -d -p 80:8080 codesurge/eddie

Is enough to get the standard XOJO web application up and running on all four environments, with the web server listening on port 80.

I packaged it a while back as a demo:

https://hub.docker.com/r/codesurge/eddie/

The world has changed.

Okay, thank you.

I have an ambivalent opinion about the visual D’n’D View Builder of Xojo. Most time I would prefere a full self coded layout, espacially in the web. So this is (for me) no direct advantage of xojo, more like a peculiarity.

What are advantages of ASP.NET compared to Xojo.

[quote=368651:@Lars Lehmann]Okay, thank you.

I have an ambivalent opinion about the visual D’n’D View Builder of Xojo. Most time I would prefere a full self coded layout, espacially in the web. So this is (for me) no direct advantage of xojo, more like a peculiarity.

What are advantages of ASP.NET compared to Xojo.[/quote]

how did you go about doing full self coded layout for the web??

I don’t understand the question :smiley:

Can someone tell me something about the performance and the scaleability of a ASP.NET-App?

just wondering about this “Most time I would prefere a full self coded layout, espacially in the web”

You’re trying to compare apples and oranges here. Xojo web is a framework that sits on top of a “web server” that provides the ability to rapidly develop web applications. Where are ASP.NET would be more akin to what Xojo web is written in, not the final product.

You can get an ASP.NET web app running pretty quickly these days with tutorials. If you’ve worked with C#.Net then you wont have any troubles getting to grips with that.

Xojo web will get you further faster but Xojo’s lack of published metrics leads me to believe that it doesn’t hold up under load, but I’ve not used xojo web that much as I’ve certainly never load tested a comparable test site to see the difference so all I can do is draw conclusions from the lack of published metrics. Put it this way, if it were an IIS killer, I’m sure they’d publish that somewhere.

As for scalability, they are equally so in that they can both sit behind a load balancer and multiply like rabits, just consider that when developing the app, as for what ratio one betters the other is a guess at this stage.

It basically boils down to concurrent connections vs time to implement vs cost.

Then you have to compare the quality of the finished product. cough Example cough

Horses for courses as they say.

Why do you wonder? I just want have the full control of the layout and stuff. You have no chance to change the way standard controls are build. You’ll alway need to inject your own css and js and html into the page, which feels kind of weird for me.
This might be a cool thing for web newbies, but for an advanced web dev the lack of possibilities or the amount of workarounds feels wrong.

[quote=369093:@][
][/quote] Thank you Julian!

As mentioned before, I have no experience with Xojo Web, but I can say that ASP .NET performs and scales amazingly, if you know what you’re doing.

As a small contribution to what could reasonably called a subjective metric on ASP .NET, I work with a company with offices in 70+ countries, with about 18,000+ employees.

One of my projects, which I’ve been working on for a few years, is a rather large internal ERP system built on ASP .NET (with a SQL Server backend).

There are 4 load-balanced IIS Webservers running ASP .NET 4.5 (with dynamic & static file compression enabled) running in VM’s with the database as a two-node Cluster (one active, one passive). The servers are hosted in the UK on a private WAN.

We have on average about 8,000 active users a day, with an average of just over 500 concurrent users at any one time. Which adds up to over half-a-million application hits a day (not counting static files, i.e., images, css, js, etc.).

The database cluster is at about 30 to 40% utilization, but the Webservers , running ASP .NET are only at 5 or 10% utilization (with the occasional spike of course, because we also share these servers with other processes). Even though we don’t need them right now, we could drop-in extra servers to scale up further pretty effortlessly.

The load-times are in milliseconds, or just low-digit seconds. Which is pretty good considering some of our key database tables hold millions of rows of data.

On the rare event of unexpected down-time, it’s usually a network fault.

It’s taken 4 years to get to this point, with the system still growing, with just half-a-dozen of us developers to manage it. But at one point, we had over 30 devs dedicated to it, as a start up cost.

With the next iteration of ASP .NET moving to .NET Core, where we’ll be able to deploy to Linux Servers (including SQL Server), we expect ASP .NET to keep performing and scaling up quite nicely.

So, in my not-so-humble opinion, given competent developers, ASP .NET performs and scales exceedingly well. But it does take effort and cost.

As a further bit of information, I find the decision process for competitive project bids like this, mostly come down to what the buyer is willing to invest for a long-term return (if they’re thinking long-term) and the people they trust the most - to make the technology choices for them.

In other words, don’t get hung up on the technology. Either have the confidence and commitment to deliver what you know to be the right path forward - and let that shine through to your customer, or acknowledge that you may not win every bid and be okay about it.

I hope that helps.

Thank you Scott!!!

Locking this thread because of forum guidelines about competitive products.