Developing a Web app for use as a desktop app?

My most recent app uses the WebKit HTMLViewer, and a database which contains all the pages, scripts, and resources. Instead of using a webapp with the desktop app, I use the XTeTiC framework (runs Xojo code at run-time) to execute all the code from the database at run-time, so the app can be updated also, with no download or re-install necessary. Events are caught in a number of ways (ie CancelLoad) which trigger scripts to run/etc. In all, the app is just as efficient as the Native Control version, it merely has the ability to be “themed” entirely throughout; which is much harder to do in Xojo without using custom canvas-based controls. In short, it can be a very powerful method of development :slight_smile:

This. +1

Part of the problem is that in Windows, the native controls themselves have not changed.
Xojo is ‘standard’ but its only one of several ‘standards’ now.

Using the HTMLViewer just to make pretty controls is wrong (prioritizing beauty over functionality is wrong) , unless the HTMLViewer functionality is somehow required by your app.
However if you want cool interfaces, there is one interesting project Sciter (https://sciter.com) that lets you build interfaces using html+css(as a declarative language). Maybe you can use it with declares.

Using a web app as a desktop app can help if you already have your web app written and you don’t want or have resources to invest in development of a native app.

I am exactly in this situation, but have a question about the location of the web files on Windows.

I have a web-app that I want to package using Xojo and HTMLViewer. Where could I package the web files for the Windows app? For Mac, I realize that the .app is a folder and I could hide the files within it, but where can I do something equally transparent for the user on Windows?

I’d probably try to hide it in the applications directory in the program files folder. It probably would need to be set up with an installer. I don’t think many windows users dig around in the program files folder.

Tim,

My web app is really for use as an alternative to the Desktop UI that I have. So yes, web apps can make great alternatives for desktop apps. But there’s a lot of headache too. There is considerable “lag” between when something happens on the desktop vs. on the browser. That’s because of all the translation to get code to run in the browser. Downloading lots of graphics can take time, etc. Canvases work completely different and so forth. There are some controls (tab panel for example) that do not exist in the web framework (I use Daniel Taylor’s JavaScript based controls for tab panel - but it looks nothing like the native Xojo one).

I would never want to completely replace my desktop UI with a WebUI. And I hate apps that do that. I never looks or feels or responds quite right.

Anybody know why my webapp developed with angular2 would work when called from a Xojo HTMLViewer, but not from a RealBasic HTMLViewer on the same computer? On the latter I just get a blank screen. I thought they both used the OS browser APIs.

I am asking because I have the license for RealBasic, but just the trial version of Xojo.

Would you mind sharing an example of what you’ve done to make the interface look more modern? You might find that of these things are already present in the OS, but require some declares to get the functionality.

This year I released an app with a custom interface (machdr.com) and I’ve received quite polarizing feedback. People either love the interface, or they down right hate it.

I made the mistake of believing that people liked custom interfaces due to the popularity of some of our competitors (who’s interfaces look like rejects from the 1980s), however I’ve now come to the conclusion that the most popular ones are paid placements in the App Store, which gets them higher visibility (one competitor was doing worse than us, then all of a sudden they get ‘featured’ by Apple, without an update or new release and they’re now in a whole different realm).

Edit: Here’s the thing; you won’t get brownie points for doing things right; but you will get crucified for doing things not quite right.