Common ground
From APIDesign
(New page: Whenever one is bringing two systems together, it is good to have a common ground. We had one when we sneaked NetBeans under JDeveloper (read it here). Now we ha...) |
(→Porting JavaFX to iOS) |
||
(4 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | Whenever one is bringing two systems together, it is good to have a [[common ground]]. We had one when we sneaked [[NetBeans]] under [[JDeveloper]] (read it [[JDeveloper|here]]). Now we have [[DukeScript]] - the [[wikipedia:Lingua_franca|lingua franca]] between [[TeaVM]], [[Bck2Brwsr]] [[VM]], [[DlvkBrwsr]], | + | Whenever one is bringing two systems together, it is good to have a [[common ground]]. We had one when we sneaked [[NetBeans]] under [[JDeveloper]] (read it [[JDeveloper|here]]). Now we have [[DukeScript]] - the [[wikipedia:Lingua_franca|lingua franca]] between [[TeaVM]], [[Bck2Brwsr]] [[VM]], [[DlvkBrwsr]], and more. |
+ | |||
+ | There was a [[NetBeans]] Day Conference at Munich on Mar 31, 2016. Thomas demonstrated how easy it is to embed [[OracleJET]] into existing [[Swing]]/[[JavaFX]] application via [[JavaFX]] [[WebView]] - at that moment I hurried up to the stage and showed that [[DukeScript]] core has support for that as well and that it has so many benefits that it is clear everybody should be using the [[JavaScriptBody]] annotation all the time. However Thomas hasn't got my message - later in a pub [[I]] realized why: because when talking about [[DukeScript]] [[I]] implicitly assume people understand that it is the [[common ground]] for integration between [[Java]] and [[JavaScript]]. They don't. But they should as I am going to explain now... | ||
+ | |||
+ | == Porting [[JavaFX]] to [[iOS]] == | ||
+ | |||
+ | In 2013 I was working with the [[Prague]] team responsible for porting [[JavaFX]] to [[iOS]]. Of course, for that one needs to have a [JVM]] and yes, there was one we had access to: These days its code is [http://openjdk.java.net/projects/mobile/|open sourced as a OpenJDK subproject]. My employer seemed committed to the [[JDK]], but just in headless mode (remember the '''profiles''' of [[JDK]]8 being really hot at that time and btw. they are still the most coolest thing about [[JDK]]8 in my opinion). However my employer's attitude towards UI hasn't been that clear. While the Prague team was working hard on [[JavaFX]] port, the performance wasn't all that great. At that moment [[I]] stepped in and and offered ''lightweight JavaFX''. | ||
+ | |||
+ | |||
+ | |||
+ | [[TBD]] | ||
+ | |||
+ | == The [[Java]]/[[JavaScript]] Bridge == | ||
+ | |||
+ | Which one? | ||
+ | |||
+ | == Lightweight Protocol == | ||
+ | |||
+ | JavaScriptBody and callbacks. |
Current revision
Whenever one is bringing two systems together, it is good to have a common ground. We had one when we sneaked NetBeans under JDeveloper (read it here). Now we have DukeScript - the lingua franca between TeaVM, Bck2Brwsr VM, DlvkBrwsr, and more.
There was a NetBeans Day Conference at Munich on Mar 31, 2016. Thomas demonstrated how easy it is to embed OracleJET into existing Swing/JavaFX application via JavaFX WebView - at that moment I hurried up to the stage and showed that DukeScript core has support for that as well and that it has so many benefits that it is clear everybody should be using the JavaScriptBody annotation all the time. However Thomas hasn't got my message - later in a pub I realized why: because when talking about DukeScript I implicitly assume people understand that it is the common ground for integration between Java and JavaScript. They don't. But they should as I am going to explain now...
Porting JavaFX to iOS
In 2013 I was working with the Prague team responsible for porting JavaFX to iOS. Of course, for that one needs to have a [JVM]] and yes, there was one we had access to: These days its code is sourced as a OpenJDK subproject. My employer seemed committed to the JDK, but just in headless mode (remember the profiles of JDK8 being really hot at that time and btw. they are still the most coolest thing about JDK8 in my opinion). However my employer's attitude towards UI hasn't been that clear. While the Prague team was working hard on JavaFX port, the performance wasn't all that great. At that moment I stepped in and and offered lightweight JavaFX.
The Java/JavaScript Bridge
Which one?
Lightweight Protocol
JavaScriptBody and callbacks.