I have some non-trivial computational code that need to be applied on data already downloaded into the browser DOM and captured from user interactions. I do not wish to expose this code. I am wondering if:
Q&A such as Usability of Java applets on the web and several others are also discouraging.
Are Java applets a dead technology? There aren’t even Q&A on this topic these days! Additionally, Java may not always be bundled with all browsers (desktop, tablet or mobile)?
Are there better ways to accomplish the same like hide code, utilize client CPU/RAM, minimize data traffic?
I thinks the biggest disadvantage of an applet is that it assumes you have a JRE installed on a client machine. Is it really a viable assumption?
You should understand that the only real way of protecting your computation code is putting the computation on server. I mean, that even if you have a compiled binary code, Java’s assembly is easy-to-understand for a skilled attacker. And obfuscation that you mentioned (it’s obfuscation, not signing a JAR file) makes it slightly harder, but still not impossible.
The only concern I see here is that if you have a lot of clients that are running the computation simultaneously and you put the burden of computation on your server it can collapse eventually.