newspeaklanguage / newspeak

Newspeak is a live object-capability language in the Smalltalk tradition
https://newspeaklanguage.org/
Other
132 stars 11 forks source link

Use PWAs instead of Electron #84

Closed gbracha closed 11 months ago

gbracha commented 3 years ago

The electron app is huge. We should create a progressive web app utilizing the local browser, rather than having to download all of chromium. This would also mean that every app, not just the IDE, could be plausibly deployed as a standalone app and not just a web page.

gbracha commented 2 years ago

Nice - but no good deed goes unpunished. I don't have it working so far. On my mac, all browsers complain about the availability of assets etc. I tried changing these from absolute paths but I keep hitting stuff. I have it at https://newspeaklanguage.org/pwa/ so you can see what happens. Perhaps it needs to be set up differently; I can't get it to run on localhost either (I know it won't install from there, but at least the app should come up). I'm probably doing something wrong, but it would be nice to have this work out of the box, and maybe have some instructions in the README.

gbracha commented 2 years ago

It looks like the original version somehow worked on Windows. But on my mac, some of these dependencies don't exist. In addition, it looks like the assumption was that the site would be loaded at the top level directory of (newspeaklanguage.org), which isn't the case. After a lot of tweaks, the site loads, but Chrome still is not satisfied enough to install it. I assume some more cleanups with a clearer head will do the trick.

Miciurash commented 2 years ago

@gbracha I'll take a look.

gbracha commented 2 years ago

Thanks! It seems like the service worker isn't correctly associated with the PWA. That may have to do with paths in the manifest. I suspect the problems stem from the fact that the PWA is not installed at the top level URI (and indeed we don't want it installed there). That is why I fiddled with paths and ended copying resources to the top level, which isn't really good even if it worked. The state we want has the resources localized to the PWA, and everything working.

gbracha commented 11 months ago

So we now have a version that works on a Mac, and on Android. It's at https://newspeaklanguage.org/pwa/. Some more testing, cleanup and refinement needed no doubt, but it looks like it will be done soon.

gbracha commented 11 months ago

Somewhat cleaned up version at https://newspeaklanguage.org/webIDE/. Not perfect, but issues are minor and do not justify maintaining electron versions anymore (though they retain some small advantages at the moment). I'm closing this issue and will remove Electron support shortly.