ia-Redmonk-JavaFXPreviewSDKWithNandiniRamani393

7:38 · SRT · archive.org · all RedMonk TV

0:00

We are at Sun's Menlo Park location once again and I guess the Sun living room here. We've got another special guest with us. Would you like to introduce yourself? Sure. I'm Nandini Romani from Sun Microsystems. I'm Director of Engineering for JavaFX platform. So like what can you like bring us up to date from sort of the last Java 1 there were a bunch of JavaFX things going on. Some people jokingly called it JavaFX 1. So like what's been going on in the interim? Like what's the state of the JavaFX world at the moment? So at Java 1 we, last Java 1 we launched it and we had a lot of things to do on mobile and desktop, the browser, a lot of those pieces. And this Java 1 in 2008, a lot of those pieces came together. So we do have browser, in the browser deployment, on the desktop. We also have it on running on mobile. So we have this concept of JavaFX for all screens of your life. And so we haven't gotten to all the screens yet, but we certainly can cover desktop, browser and mobile. One of the big news items, of course, is next week, July 31st, we're going to be launching our preview SDK. So it's a public launch and everyone can start downloading and playing with the SDK and creating these applications. The mobile version and other 1.0 and mobile will follow. So the preview SDK will run on desktop and browser. So what are you guys pulling together into this preview SDK? Sure. It's going to have essentially two things. One is the NetBean 6.1 IDE with JavaFX support and Project Nile, which is a tool that lets you export creative assets from design tools to JavaFX. So one of the difficult things is when I want to create something that's really fancy with a lot of vector art. It's hard to do just using coding language. Right. Impossible, nearly. And so it lets designers participate in JavaFX, which is one of the fundamental things we're trying to achieve.

2:02

With, I mean, obviously it's a preview, but sort of with this tool chain that's coming out, like what would be the typical process for designing something? The idea is, so you start with a design tool. For instance, we have the two third-party tools that we support right now are Adobe Photoshop and Illustrator. So it lets you create artwork and vector graphics. You export it as JavaFX code, import it into your NetBeans IDE, for instance. And most of this is static. They're static layers of assets. You can then script in using JavaFX script, animations, dynamic behavior to your scene. Right. So I guess there's a plug-in into Photoshop or Illustrator. Yes, there is. There's two plug-ins right now in the preview, and we're going to, at 1.0, have more tools that we support. Okay. So today it's just Photoshop and Illustrator that we have plug-ins. And then there, is there sort of a round trip sort of thing to that? Like if you need to redesign some things, can you get it back into Photoshop? You can take what you have from, we don't have a round trip, but you can certainly modify things and bring it back into the IDE. Okay. Right. And it's pretty trivial because there's a clear separation between the code and the art. Right. So like if I replace the artwork, as long as I layered it the same and retain the names, which it does because the export plug-in deals with that, it's trivial to bring it back in. And we showed demos of that where you can change the artwork and retain the code as well. That raises an interesting question as far as, I mean, you know, coming at it from a Java traditionalist mindset. I mean, there's kind of like a new artifact of development, like these resources or artwork things that you're talking about. Yes. And so does the SDK sort of help you deal with that? I mean, how does it kind of help you fool around that? So the NetBeans IDE just lets you import everything. So you export out of the third party tool, you import it in and it creates a project, JavaFX project for you. Right. And you can just run it as is and you'll see the same static image scene that you had on Illustrator or Photoshop.

4:05

And then you already have the JavaFX code so you didn't have to create the scene. For instance, you know, if you take a piece of cartoony thing where you have people in motion or something, you can then move somebody's arms and legs and things with a little bit of script code because you have access to individual layers. Right, right. And you can apply transformations. This is all new in Java. Today you have to do everything in Java code and there isn't the concept of having importing assets. So you can sort of programmatically move around the pictures. Yes. And things like that to like get the arms flailing around. Yeah, exactly. Right. And because it's, JavaFX script has, it's declarative, it makes it simple to do these things with a few lines of code. Right. As opposed to writing lots and having, handling events and threads and things. And then of course you have access to the, all the other NetBeans world of things, right? Yes. As far as version control and things like that. Yes. IDE support, code completion, all of the good stuff that NetBeans provides. Right. And then I'm always obsessed with the workflow of things. But like, so what's this next step that we've got the arms, you know, going around all crazy? Like how, with the SDK, how do you sort of like package it up and deploy it? So you can either deploy it as JNLP or as an applet. And now with the new 6U10 beta release, it's got all these really nice features. And that's the VM6 release. Yes. Right, right, right. And so the run, the first, one of the things that I forgot to mention, and I've talked about this before at Java 1. Right, right. JavaFX runs and leverages the Java runtime. Right. So it's based on that and you automatically inherit everything from Java. And the 6U10 beta lets you, for instance, it brings this capability, you deploy it from NetBeans as an applet. And you can run this in a browser. And say you really like the application, you can drag it off the browser onto your desktop. Right. And continue to have a standalone application. Right. So that's your chain.

6:05

I hope I'm addressing what you're asking. Yeah, yeah, sure. So you start with a third party tool, bring it into NetBeans, and then deploy the application. And today the preview SDK will let you do that as a desktop jar on your desktop or as a JNLP or applet so you can deploy it in a browser. Right, that makes sense. And so... And going forward, we will also support mobile phones where we'll let you deploy as a midlet or whatever. Or whatever packaging scheme they might have. Right, right. So you envision with, whether it's with mobile or whatever screen might be out there, will you have sort of like an emulator or a way of simulating things to deal with? Yes. And so our tool chain, we currently have two things, the NetBeans ID and the Project Nile tool. But going forward, we will have more mobile specific, TV is another one. There's so many of these where we'll have tool chains that simplify how you deploy. Right. That makes sense. So, so far, what sort of, what sort of applications or whatever have you seen people building with JavaFX? Like what are people using it for? So far, well, they're creating little widgets for doing, you know, monitoring the weather service for instance. Yeah. People are using it for games, small games. And then there's also, you know, fancy things with video and audio and that's what designers really want to do. Yeah. With the preview, we have some support for video and going forward at 1.0 we'll have full-fledged media support. Right. So I think it's going to open the door for really interesting applications. Great. Well, we should check out a demo of it. Sure, yeah. Sounds good.

RedMonk TV · 🍕 Get more pizza.