AppGyver for Cross Platform Desktop Application?

Hi, I am browsing the web looking for a product that will fit my needs. I am developing a dog sports trial secretarial software. this has to be desktop because dog sports are usually held in locations with no internet access. I develop on my MacBook, and I need something that will run on both Mac and Windows.

I currently have an application developed in Filemaker, but Filemaker has a lot of things I don’t like about it. I’ve looked at Xojo but it seems it’s very difficult to make the user interface look nice and to customize it.

I probably need a database, though I’m not sure if there is an alternative. I was a programmer before I retired from work, and this is a project I do at home in my spare time. My user base is very, very small. If I can sell 100 copies at $200 each that would be a lot of sales.

I’d love to hear if AppGyver is something I could use. Thanks.

Sorry for taking a long time to respond! Currently, there’s no native support for Windows apps (though there is for macOS apps) and while you can use client-side data in web too (saving records to browser localstorage), we haven’t spent effort on making web apps work completely offline.

Windows app support is upcoming, but no timeline for it yet!

Are there any news on yet?

No timeline on this at the moment, I’m afraid.

I will be following this up but until then, would you think there is a way to export the webapp and use an HTML compiler to bring to be a sort of windows usable offline app ?

Hmmmm I don’t know, I don’t think anyone has tried? Let us know how it goes?

A progressive web app solution might fit your need. But as long as my search on the forum goes there is no native support for that. But I am super curious on that, so maybe will build a small sample app to test how it goes. Will definitely update here. ;D

Further reading on Progressive Web Apps (PWA):

Progressive Web Apps - web.dev

So just a quick heads up.
After building your app and going through the build process you download the .zip file and do a bunch of tweaking around, add a manifest.json, a service-worker.js, an extra script.js and a few html meta-tags to the final pages and you indeed can make a PWA after creating the app with the Composer Pro.

I just had some time to play around and it utilised local storage, and you could in fact sync data with any other database when you get online. Here is a screenshot of the simple&sample PWA:

This utilises the minimal-ui, so that you don’t really need to build a navigation as well. But you can go with whatever settings you wish.

I will try to create a comprehensive guide on how to transform your app to a PWA later, with some sample code and resources. So stay tuned. ;D

1 Like

And Google is the best way to find solutions to one’s problems. For the time being I do not feel the necessity to write a comprehensive guide on transforming Your Appgyver app to a PWA.
This is the reason:

There you can easily generate the required manifest.json and service-worker.js.
The only thing you have to manipulate is the index.html of your Appgyver web app. This you can do after downloading and extracting the built app.

It is important that wherever you set up the hosting for your app it has to have secure connection, else the PWA won’t work. For a small project any hosting + Cloudflare routing should and would work.

Just a few notes:
Sometimes the PWABuilder provides wrong manifest.json.

  • If you have the affinity then check the generated file. It should look something like this:
{
    "background_color": "#ffffff",
    "display": "minimal-ui",
    "name": "Hey, Alfa!",
    "orientation": "any",
    "scope": "/",
    "short_name": "Hey, Alfa!",
    "start_url": "/",
    "theme_color": "#ffffff",
    "icons": [{
            "src": "/logo-alfatours.png",
            "type": "image/png",
            "sizes": "1001x1001"
        },
        {
            "src": "/logo-alfatours.png",
            "type": "image/png",
            "sizes": "1001x1001",
            "purpose": "any maskable"
        }
    ]
}

Also the service-worker.js will look a bit different for each choice you can have there on the website, but should look like this:

const CACHE = "pwabuilder-offline";

importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');

self.addEventListener("message", (event) => {
  if (event.data && event.data.type === "SKIP_WAITING") {
    self.skipWaiting();
  }
});

workbox.routing.registerRoute(
  new RegExp('/*'),
  new workbox.strategies.StaleWhileRevalidate({
    cacheName: CACHE
  })
);

These two are the separate files, that you have to add to the folder, your downloaded and unpackaged app. Also make sure to create an icon that is at least 526x526 of the size and upload that. Always update the manifest.json according to your icon’s size.

For example here is my final output of the latest project here. An app with 9 pages, Firebase auth, and hundreds of data in FB. Run smooth and feels native on MacOS and Windows10 as well. (I am pretty sure there is no reason why it would not run perfectly fine on Win11 either, since it runs in fact in a specified browser window.)

MacOS:

Windows10:

2 Likes

Thanks for this ! Would you know if this would work with on device storage ?

I have not tried it yet, but since the on-device storage in case of a web-app is in the browser, and the PWA runs in a specified browser window, I think there should be no issues in that case.