
Show HN: CheerpJ JavaFiddle – Run Java in the browser - apignotti
http://javafiddle.leaningtech.com/
======
swiley
Now you can just shove this in electron and have java apps everywhere again!

~~~
fenwick67
Then run the Electron application in the browser with Emscripten

------
benjismith
Awesome! I'm very excited about this...

As the primary developer of a large sophisticated Javascript app
([https://shaxpir.com](https://shaxpir.com)), working with Javascript is an
ongoing nuisance, and I'd love to switch the majority of my development to a
type-safe language.

I've been considering a switch to TypeScript, but with 17 years of experience
as a back-end Java developer, my natural first-choice of language is Java.

But this is a modern webapp, so I'm not really interested in seeing
Console/Swing/AWT demos. I'm much more interested in seeing demos that
integrate Java code with native Javascript dependencies, especially around DOM
manipulation and browser event handling.

I want to rewrite all my own business logic in Java, while continuing to
integrate with my existing dependencies in the browser (JQuery, Bootstrap,
Quill, etc).

A demo like that would be very compelling to me!

~~~
multimillion
Hello Benji!

Please get in touch with us, your project is very exciting and would be a
great use case for CheerpJ. Just drop us a line at
[http://leaningtech.com/cheerpj/#early](http://leaningtech.com/cheerpj/#early).

CheerpJ has full DOM access and interoperability with JavaScript. Demos of
these case study will be coming soon.

Cheers - LT

------
jay-anderson
Seems to work pretty well. I like this approach over things like GWT. Though
creating a syntax error caused a bad exception:

    
    
      public class JavaFiddle
      {
          public static void main(String[] args)
          {
              x = 0;
          }
      }
    

Results in

    
    
      An exception has occurred in the compiler (1.8.0_131). 
      Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
      java.lang.NullPointerException

------
murkle
Wow, good job! The CheerpJ Chrome Extension to run old Java Applets actually
works, eg
[http://dogfeathers.com/java/octicos.html](http://dogfeathers.com/java/octicos.html)

------
feikname
If you don't see any "compile and run" button or the text console, you may
need to zoom out or go fullscreen. That was my case on Firefox 54 with a
1366x768 screen.

------
RegW
I don't anticipate ever using AWT or Swing again. JavaFX would get me
interested but I don't see it mentioned. How feasible would that be?

------
fullstackhuman
The boilerplate HelloWorld code hangs on `compiling...` for me. Not sure if
it's my network ad-blocker or something else though.

~~~
multimillion
Hello there. Can you share your browser and OS? We can't replicate this here.
- LT

~~~
biowaffeln
Same here. Worked after I deactivated my addblocker (uBlock Origin)

~~~
plod
same here using privoxy

------
brian_herman
The future is coming. [https://www.destroyallsoftware.com/talks/the-birth-and-
death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-
javascript)

------
invalidname
Besides the Swing/AWT support which isn't very interesting to me how do you
compare to teavm?

We currently use TeaVM and it's pretty performant/small.

------
Alupis
Obviously not a problem with the platform, but your example Java code doesn't
really use standard Java conventions. A bit odd for samples usually.

------
_pmf_
Horizontal non-resizability of the editor is a bit of an issue (Chrome /
Win7).

~~~
multimillion
You are right of course. This will keep improving over time, especially on the
HTML side of things. We'll keep your comment in mind. Cheers - LT

------
bitmapbrother
This is seriously cool. Who needs a REPL when you can just use this.

