But the first big problem has always been delivering an experience that looks and feels right on the target platform. Do you use the native UI or do you use something else? The swing Java UI's of the 00's were so kludgy, and looked unprofessional because they implemented their own UI components.
The other big problem is that how does the code run? Is it transpiled to javascript or does it have to download a python interpreter that can run in the browser/android? It's not a big issue for like a native app for mac/windows, but for the browser it is. https://brython.org takes ~6 seconds to run a simple clock because it's downloading the interpreter. Wasm doesn't necessarily help here, since either you compile the code to directly run on wasm, or you need to bring along the wasm compiled interpreter.
An example of this is Jython. It needed to start the JVM, then run the python code in the python interpreter in the JVM. Very inception like, though I did enjoy writing unit tests this way. Mostly because unit tests didn't need to be compiled against a jar. And broken unit tests didn't need a full recompile.
The other big problem is that how does the code run? Is it transpiled to javascript or does it have to download a python interpreter that can run in the browser/android? It's not a big issue for like a native app for mac/windows, but for the browser it is. https://brython.org takes ~6 seconds to run a simple clock because it's downloading the interpreter. Wasm doesn't necessarily help here, since either you compile the code to directly run on wasm, or you need to bring along the wasm compiled interpreter.
An example of this is Jython. It needed to start the JVM, then run the python code in the python interpreter in the JVM. Very inception like, though I did enjoy writing unit tests this way. Mostly because unit tests didn't need to be compiled against a jar. And broken unit tests didn't need a full recompile.