DEV Community

Discussion on: How do I create a desktop app that easily allow plugins?

Collapse
patarapolw profile image
Pacharapol Withayasakpunt Author

I actually realized that at least Golang (via Otto) and Java (via Nashorn / GraalVM) can also parse JavaScript on the fly. Python is much less supported.

Of course, if I use Java, I can also parse JAR or JVM bytecode on the fly.

As for how I can make it, I can see two ways,

  • Serialized data (maybe JSON)
  • Hooks
Collapse
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

Have you looked into RUST?

Honestly i would stay away from java, there is a heated copyright war going on between oracle and google, which oracle is trying to make API copyright. Java seems to keep migrating further and further from OSS>

I like Golang, but haven't had the fun to get to apply it yet. C# is an option. Within my unity mono framework this stuff is cookie cutter. I know most people use it for games, but you can use it to design web sites and productivity apps for engineering and medical.

JS is probably one of the most extensible flavors for what your trying to do, however its JS. Typescript might be more favorable since you will be working with alot of data driven stuff and parsing. Basically you need to write en.wikipedia.org/wiki/Interpreter_... that translates scripts into overloads.,

you can also write your own DSL. This is what i invented dragon for, but its so new i haven't been able to work on it. github.com/ZoeDreams/Dragon Maybe my diagram might help?

my only advice is to just try to get a single overload working. and adding in a dir scan. gl;hc;

Thread Thread
patarapolw profile image
Pacharapol Withayasakpunt Author

I actually realized that Deno allows not only browser-compatible Javascript, but also Rust plugins.

Though, I don't feel it is production ready yet.

Thread Thread
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

hype

don't believe the hype. I personally think deno is a terrible idea and uber insecure. We run remote code locally because fo spoofying. Its an exciting idea on paper, but i would not use it for anything important other than making web sites to catalogue my friends cats or some goof like that

Thread Thread
zoedreams profile image
☮️✝️☪️🕉☸️✡️☯️

honestly if its not a force requirement i would focus on getting verticle slice working for one system that your most comfortable with, get some people to give you money or kickstarter, and port a separate code base. cross platform is a bit overated.. OBEY!