
Show HN: Unmodified Java Swing apps in any browser, fully client side - apignotti
http://cheerpjdemos.leaningtech.com/SwingDemo.html
======
j_s
Cheerp[J] seems to have a handful of fans here on HN:
[https://hn.algolia.com/?query=cheerpj&sort=byPopularity&pref...](https://hn.algolia.com/?query=cheerpj&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

apignotti also posted the big discussion yesterday; gratz! Definitely some
interest here.

CheerpJ Applet Viewer – Runs Java applets without a local Java installation |
[https://news.ycombinator.com/item?id=14587296](https://news.ycombinator.com/item?id=14587296)

Not really sure on the licensing model; it doesn't appear to be open source.
From the FAQ: _Details on the commercial licensing model will be made
available at a later date._

------
dpratt
I don't know the details of how this is implemented - I'm assuming that it's
some sort of translation of JVM byte code to asm.js and a re-implementation of
the core JDK runtime - but the question arises: why?

If you're still forced to use browser-based client-side Java applications, for
whatever reason, what does this get you that just using the actual JVM plugin
doesn't?

~~~
ComputerGuru
Are you kidding? If that's really what this does, you've just properly
sandboxed a horribly insecure binary plugin, eliminated the need to constantly
install patches, heck, eliminated the need to even install a plugin
whatsoever.

------
jlebrech
I want to be able include libraries that are server side only but the
framework knows to separate that out and run on the server side and handle the
data transmission.

~~~
alextheparrot
Might be worth looking into Autowire [0]. Runs Scala code locally, compiles
your API through ScalaJS, allowing you to write your app all in one language
without exposing the business logic to the client.

[0] [https://github.com/lihaoyi/autowire](https://github.com/lihaoyi/autowire)

~~~
jlebrech
my idea for now are objects that can be compiled twice, once for private
methods which run on the server and public methods on the client and the
compilation process handles the wiring.

------
anujku
Oh man, GWT mechanism all over again ?

