Alternative to Adobe PhoneGap

Since Phone Gap built service has shut down in October 2021, what is the simplest way to make TMS WEB Core JS code run under Adroid? Any suggestions which way to go?

Best regards

Hi,
First alternative would be Progressive web apps (PWAs) which can be developed using WebCore much like native-app-like experience unless you have some native Android API requirements.

1 Like

Hi Mehmet,

thank for your reply. I'm trying to run a small PWA, created with TMS WEB Core VSC, on my Android phone. Can you pls provide the necessary steps to install the files of the output directory on my phone?

image

Best regards

Hi,
Install app menu will put your app to home screen.


See also:

There might be a total misconception of understanding on my side how this kind of (PWA) application should run/execute. I'm able to create a PWA from VSC or Delphi IDE and install it in the browser which puts an icon on my windows desktop. As soon I'm closing my development IDE this app is not running anymore.
From my understanding it needs a running webserver to "run" the code inside a browser. I know how to run this PWA outside my development IDE by using the TMWebServer.exe for example. What I'm missing is, how to proceed to the next step deploy and run this PWA on an Android device?

A PWA is just a website with a bunch of extra metadata to help various platforms make it "feel" closer to a native app. But it is just a web app - it needs to be hosted via a web server just like any other regular TMS WEB Core app. Miletus and Electron projects will generate a local executable that you can run without a webserver - there's one built into those applications. That's not the case with PWA apps.

From the website that hosts the PWA, it walks and talks just like a regular website. To "install" it on Android or any other platform you'd visit the website with that platform's browser and then use the "add to home screen" or equivalent to then add an icon that looks like a regular native app.

Andrew,

thanks for your confirmation! I think my mistake was, when I saw this TMSVideo

that Phone Gap is a kind of framework which makes it possible to compile/run TMSWebCore generated code on Android devices like you mentioned Electron and Miletus is doing this for Windows/MAC-OS/Linux.

Yes. I think PWA is an increasingly poor substitute for native apps (generally ignored equally by Apple and Google for a very long time), but they do work and that's likely the best option at the moment for a lot of different reasons. I hope to wake up one day to a TMS news release announcing Miletus support for Android/iOS, but not sure where that is on their list of priorities, if it is even on the list at all.

You might have some luck building an Electron app and converting that to Android, but I've honestly not looked at that in quite a while. Have you looked at Apache Cordova? Seems like it might be worth checking out, but I've not used it myself.

I'd be interested to learn what exactly you experience as 'poor'?

Not a criticism of TMS's support for PWA, by any means. Just annoying things, mostly to do with iOS because that's what I use most.

  • Long delay and white screen flashes inexplicably during app launch
  • Splash screens are difficult to sort out for different devices. It seems to stretch them even when given every conceivable variation of files in terms of their dimensions. And if you get it right, rotating the screen messes it up again anyway.
    -Various inconsistencies in how resizing works in a PWA app versus Safari, particularly when adjusting the zoom on a page or changing the orientation.
  • You might be able to get the app to be fixed in place (no scrolling - a full-screen app), but then things go sideways if you do anything that involves scrolling within the page when trying to have a responsive design.
  • Non-trivial to clear an old cached version of the web app and replace it with a new version, without requiring the user to do something. And even when it works, you end up with an extra page load which (given the long delay at startup) seems kinda silly.

I mean, these might not seem like big things but when compared to the polish of a native app, it can be jarring and certainly detracts from the native feel of things.

The dream is that Miletus could generate an XCode project that could then be compiled, with the opportunity to set things like the splash screens so that they work properly (or better yet, offer a tool to make this less of a nuisance). Just putting up a full-screen web page that is shown after everything is addressed cache-wise would be an improvement. At that point, it could even be used to generate an AppleTV app, something we can't really address at all at the moment. This is sort of what these tools are doing anyway.

Anyway, I do like PWAs and use them (and TMS WEB Core support for them is great!), just that they are definitely a second-class citizen, and I don't get the impression there's any motivation to change that from Apple's perspective.

I agree I observe little motivation from Apple indeed and they know why :wink:
We will check whether the items you list here are inherent to the Apple browser behavior or can somehow be addressed from TMS WEB Core to try to cut some rough edges from the experience.