gnh1201 / welsonjs

WelsonJS - Build a Windows app on the Windows built-in JavaScript engine

Home Page:https://catswords.social/@catswords_oss

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Roadmap] WelsonJS.Android (For mobile devices)

gnh1201 opened this issue · comments

Summary

Since the inception of the WelsonJS project, there have been inquiries about whether a similar concept could be extended to systems beyond Windows, specifically targeting Android and iOS.

The demands from these users align with the coding conventions pursued by WelsonJS, aiming to minimize the software build process and predominantly perform tasks through scripting.

While there is currently no suitable candidate for the iOS environment, the most promising option for the Android environment is Mozilla Rhino (a Java-based JavaScript engine).

Here are some projects worth considering:

  • Mozilla Rhino: An implementation of a Java-based JS engine developed and distributed by Mozilla. It has relatively rich examples of integration with Android.
  • Chakracore: An open-source JS engine developed and distributed by Microsoft. The project includes information on porting the JS engine with Android NDK and supports iOS, making it a potential candidate for iOS in the future.
  • LiquidCore (formerly, AndroidJSCore)
  • Zipline (formerly, Duktape)
  • Nashorn
  • JsEvaluator: JsEvaluator may help you run JavaScript in an Android app and get the results. This is an alternative to evaluateJavascript method of the WebView. Supports Android version 4.0 (Ice Cream Sandwich) and newer.
  • (Added on January 5, 2024) Wine for Android: There is another option that differs from what was mentioned above. It is Wine for Android. While it seems possible to enable WSH by referencing the winetricks script on x86 machines, since Android primarily uses ARM architecture, you will need to refer to the Windows or ReactOS ARM build.
  • (Added on January 5, 2024) JavascriptCore (iOS): Read the article "Javascript and Swift"
  • (Added on April 22, 2024) We need to consider how to allow Android devices to act as HTTP servers to remotely execute JavaScript. In the past, there was a package called NanoHTTPD, but it has been discontinued. Recently, there are other packages available that allow the use of HTTP servlets. Check out: github.com/piotrpolak/android-http-server

Related links

(Added on January 5, 2024) Wine for Android: There is another option that differs from what was mentioned above. It is Wine for Android. While it seems possible to enable WSH by referencing the winetricks script on x86 machines, since Android primarily uses ARM architecture, you will need to refer to the Windows or ReactOS ARM build.

(Added on January 5, 2024) JavascriptCore (iOS): Read the article "Javascript and Swift"

(Added on April 22, 2024) We need to consider how to allow Android devices to act as HTTP servers to remotely execute JavaScript. In the past, there was a package called NanoHTTPD, but it has been discontinued. Recently, there are other packages available that allow the use of HTTP servlets. Check out: github.com/piotrpolak/android-http-server