More interest for PWA creation in Xojo Web (2.0)?

You can already get an installed .app from this forum:

  • Open in chrome

-On the right you see the “+” click on it

  • Click on “Install”

you’ll see how easy you can get an ONLINE-only web app to .App on MacOS (or exe on windows).
As you all might know, the forum is only online.

see the result in 2 clicks:
Schermafbeelding 2020-09-10 om 10.36.09

How nice would it be to have this simplicity build a .App for you?

end result:

Kind of useless. Just for the sake of a website with local caching?

No, not useless at all.

Have a read of this.

1 Like

You are right that PWA is the future of WebApps. But a real PWA allows you to continue using the WebApp, even when offline.

So you can press buttons, enter data, make calculations, save it local on your device in a database, query that database to fill lists, sync the database when coming online with a server, etc… As a user, you hardly notice you are working offline.

In its current state Xojo Web can not do that because every time you press e.g. a button, it needs to go to your Xojo App online to handle all the logic you have programmed.

1 Like

A real pwa is simply a “Progressive Web Application”

A progressive web application ( PWA ) is a type of application software delivered through the web (world wide web) , built using common web technologies including html, css and javascript.

  • source wikipedia

Xojo web is also delivered trough the web (www).
No offline requirement…

While you’re technically correct, I disagree.

You’re right that a progressive web app is much like a Xojo desktop app: a collection of code and assets that are downloaded to and executed on the user’s machine. You’re right that there isn’t an offline requirement.

However, just like a desktop app that offline requirement comes from doing things that shouldn’t require the internet. It’s like having every button press in a Xojo desktop app require a request to a server. It’s not technically wrong, but doesn’t feel right either.

3 Likes

The next two sentences should’ve been included, from the same source:

It is intended to work on any platform that uses a standards-compliant browser. Functionality includes working offline, push notifications, and device hardware access, enabling creating user experiences similar to native applications on desktop and mobile devices

If you are interested in PWAs, this is a good introduction: https://web.dev/progressive-web-apps/

1 Like

And this part is still as W.I.P.
Discussions about adoption right now are too premature.

1 Like

Indeed, only a couple of browsers have a partial implementation and this stage has probably some time to go before being (getting) a standard. The first part of that sentence is well supported in all browsers, but Xojo Web can’t do it. For that part, they will have to be able to translate Xojo code to Javascript (or why not WebAssembly?)

Correct. They most advanced one is Chrome, with Microsoft now working as partner to design future standards that are not complete right now. PWA is a kind of public beta of experimental things. Different people does different things as everyone writes their own engine trying to handle many IFs. If offline() and x thing is not cached… If online and databaseNeedsUpdates() … If MyAPIlevelDetection()>3 …

That is another topic. There are various scenarios where WebAssemply is said as not the best resource; to be true, some people argues as “almost all, except the math intensive ones”. Currently, most of the time JS can beat or have same speed (because the compile time and wastes in call) for things JS was already optimized. Finding the optimal mix is still science being created too.

Again, PWA is a new science under development. Many APIs still as draft. The engines are rewritten all the time. If a company have a R&D department to play with it, go for it. Will it be the future? Don’t know, but surely it has a niche worth exploring. Right now? Most of us have other important matters before playing with this not mature technology.

I’m under the impression @DerkJ only wants the A2HS (Add to Home screen) functionality of a PWA and not the full thing as I see a PWA, right? That is pretty easy to implement as this is the trivial part.

I’m not even sure Xojo intervention is needed for that.

See https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Add_to_home_screen

1 Like

Yes that would be a great start. As it allows for really easy deployment, without complex code signing and since there are many more web developer available in the world Xojo Web would be a great starting point to get such developers to know software development in combination with web development.

Since i’ve already have it working it’s not a major issue. Would just be much easier if the Xojo Web has a “PWA” enable feature that sets (and creates) the minimal required stuff. All the fancy (hardware, offline etc…) stuff is not what i want nor what i or most will use.

Without all that fancy things you don’t have a PWA, you have a website with an embedded cache system. But that’s ok and simple to do right now.

Just remember that even for this functionality, you must run in https:// mode, so no idea how that works in debug mode in Xojo.

You have a PWA if it has a manifest that tells the browser that it’s a PWA. Not more not less. Just like in Xojo you would have a Web Application if you build a “Hello world” or plain project.

It seems most are thinking too complex, Xojo is all about simplicity and ease of use, while it may not be that easy for ADVANCED use (for example you could require declares or plugins).

A PWA gives the simple ability to create fast-stand-alone (web) applications. That’s all the interest i was asking for. Since the comments tell me the advanced stuff should be there too, i’m guessing you are thinking too complex.

Local (and debug mode) works without https:// it’s accepted by any browser (on the local network). Internet requires https://

Well, all I can tell is this: if, for the clients I wrote PWAs for (time and job registration WebApps), I would’ve been kicked out in pitch and feathers if I only had that functionality and called it a PWA when I delivered. :sweat_smile:

I’m sorry. I’m someone that believes that a person does not have a factory if they have a picture of factory. The A of PWA has a meaning needing fulfillment.

2 Likes

If the xojo ide provides you with the manifest and a basic worker. You’d change the worker as you please yourself. You still have the ability to do whatever you like to improve on it, add custom worker, html, js ,css ?? this is not limited by xojo in any way?

Your browser will not execute the JavaScript code needed in the Service Worker. It will just skip it. If Xojo cannot do this (even with self signed certificates) then don’t even bother.

EDIT: localhost may work, but you will have to test this.