{"id":691,"date":"2019-11-30T18:40:57","date_gmt":"2019-11-30T22:40:57","guid":{"rendered":"https:\/\/jausoft.com\/blog\/?p=691"},"modified":"2019-11-30T18:53:29","modified_gmt":"2019-11-30T22:53:29","slug":"resurrecting-a-dying-species-bring-back-java-to-the-browser","status":"publish","type":"post","link":"https:\/\/jausoft.com\/blog\/2019\/11\/30\/resurrecting-a-dying-species-bring-back-java-to-the-browser\/","title":{"rendered":"Resurrecting a dying Species? Bring back Java\u2122 to the Browser?"},"content":{"rendered":"<p>While I was doing the admin work for the <a href=\"https:\/\/jausoft.com\/blog\/2019\/11\/30\/jogamp-2-4-0-release-feature-freeze-complete\/\">next JogAmp release 2.4.0<\/a> I added some old video teaser supporting the point of enabling high performance hardware accelerated features to anything Java\u2122&#8217;ish for any platforms.<\/p>\n<p>It rang some belts that all these demos were easily and interactive launched used Applets within the browser.<br \/>\nSadly today, browser don&#8217;t support such plugin&#8217;s anymore, which enabled simplified launching of Java\u2122 Applet&#8217;s and its seamless integration into the web page.<\/p>\n<p>I well remember the debates back then, about bloated browsers and security issues. But what do we have today? Bigger (or bloated) browsers containing the VM implementation itself, only that this time it is not Java\u2122 but a JavaScript VM. Not a big qualitative change, but a restriction to choice, IMHO. This move only disabled third parties enabling their content via the browser interface. Almost sounds like the old Microsoft and Firefox browser wars, only that this time all browser vendor are aligned and believe to be the good guys now \ud83d\ude09<br \/>\nMost notable for me is that the security issues has not changed here at all.<!--more--><\/p>\n<p>So what can we do about it?<\/p>\n<p>There could be a potential path to resurrect my Applet3 showcase (<a href=\"https:\/\/jogamp.org\/cgit\/jigong\/icedtea-web.git\/\">git repository<\/a>) as demonstrated on Fosdem 2014 (see below), if we could resolve the following<\/p>\n<ul>\n<li>Launch Java\u2122 Applet3 off-process from the browser via JavaScript and handle the Applet3 Lifecycle via JavaScript from the browser side<\/li>\n<li>Somehow pass windowing information to Applet3 (optional parent window handle or identification, position, ..) &#8211; optionally only overlay window position tracking<\/li>\n<\/ul>\n<p>The last part of browser window integration might be tricky, however, we could at least only track the window position and size to have an overlay solution.<\/p>\n<p>The Java\u2122 Applet3 launching part should be possible, actually I saw a reference to implement this task when I earmarked this idea &#8211; but can&#8217;t tell from memory right now.<\/p>\n<p>So in case a party is interested in this endeavor with a financial funding solution, <a href=\"https:\/\/jausoft.com\/\">contact us<\/a>.<\/p>\n<p><iframe loading=\"lazy\" title=\"Ji Gong Talk @ FOSDEM 2014, Universite Libre de Bruxelles - Full Session\" width=\"739\" height=\"416\" src=\"https:\/\/www.youtube.com\/embed\/P7likkeV7ks?start=510&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>While I was doing the admin work for the next JogAmp release 2.4.0 I added some old video teaser supporting the point of enabling high performance hardware accelerated features to anything Java\u2122&#8217;ish for any platforms. It rang some belts that all these demos were easily and interactive launched used Applets within the browser. Sadly today,&hellip; <a class=\"more-link\" href=\"https:\/\/jausoft.com\/blog\/2019\/11\/30\/resurrecting-a-dying-species-bring-back-java-to-the-browser\/\">Continue reading <span class=\"screen-reader-text\">Resurrecting a dying Species? Bring back Java\u2122 to the Browser?<\/span> <span class=\"meta-nav\" aria-hidden=\"true\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[7,3,8],"tags":[23,48,45,16,44,33,31,46,29,25,24,34],"class_list":["post-691","post","type-post","status-publish","format-standard","hentry","category-3d-opengl","category-computer-stuff","category-jogamp","tag-applet","tag-debian","tag-ios","tag-java","tag-jogamp","tag-linux","tag-mobile","tag-openjdk","tag-os-x","tag-security","tag-web","tag-windows"],"_links":{"self":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/691","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/comments?post=691"}],"version-history":[{"count":6,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/691\/revisions"}],"predecessor-version":[{"id":698,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/posts\/691\/revisions\/698"}],"wp:attachment":[{"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/media?parent=691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/categories?post=691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jausoft.com\/blog\/wp-json\/wp\/v2\/tags?post=691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}