Wednesday September 10, 2008
The Planetarium
Filed under:
javafx
javame
javase

Each morning I check the news
wires, blogs and get the
podcasts downloading to try to stay on top of what's going on in the
world of Java for client devices from smartcards to desktops and
everything inbetween.
What I really need is one blog that pulls it all together each day.
So I made one. Its called
The
Planetarium.
Posted by dannycoward
( Sep 10 2008, 12:01:25 PM PDT )
Permalink
Friday September 05, 2008
Java Podcastapalooza !
Filed under:
javafx
javame
javase

Staying on top of what's going on in the Java world is a
part of my job I really enjoy. I have a big list of feeds for my
favorite bloggers, news sites, and forums. But I tend to skim so I
can rush to the next thing. And my emails, IM buddies, everyone's I
know's tweets and facebook statuses are just a click away, ready to
distract me at any moment.
Sound familiar ?
So I enjoy the times when I am
restricted from this skittish behavior: in the car, at the airport,
walking to the coffee shop. I enjoy them because I can focus in,
without
interruption, on some of my favorite technology podcasts.
For those of you who are interested and are looking for something new
to tune into in the area of Java and client technologies, I put
together a little survey of
the ones I subscribe to. And if you feel like it, let me know if you
have a top podcast in a comment below.
Podcast
|
Format
|
Topics
|
Length
& Frequency
|
My
likes
|
Subscribe
|
The Java Posse
|
A
quartet of hosts collectively dissect Java news, new products and get
in group conversation with movers and shakers from the Java universe.
|
Java
SE, Java EE product and technology developments.
|
Anywhere
between 45 and 90 mins, most weeks.
|
Tor, Dick, Carl and Joe's expert and merry banter
Great supporting website
|
 
|
Java Mobility Podcast
|
Double
act covering Java news and products around the mobile and
embedded community, plus a featured expert guest each cast.
|
Java
ME, mobile and embedded technologies.
|
15-30
mins, two to 4 times a month,
|
On
site (e.g. from conference floor) interviews.
Focus on adoption of technology in products, not just technology alone
|
 
|
JavaWorld Technology
Insider
|
One
on one interviews with technology leaders and creators in the Java
community and beyond. |
Java
SE, Java EE, Web Services, tools. |
30-45
mins, two or three times a month. |
Expert
guests
Interviews that dig deep - e.g. Ted
Neward on Scala
|
 
|
| This
Ain't Your Dad's Java |
Click and Clack style news
and interviews from the product marketing team for Java with some
stellar technical guests. |
JavaFX,
Java SE, Java ME |
30
to 75 mins, weekly. |
Ubergeeks
turned product marketeers go wild and occasionally say a few things
they shouldn't.
|
 
|
| Swampcast |
In
depth interviews with software luminaries, webmasters and CTOs of
popular services. And the occasional actress. |
General
software, programming languages but often Java of various SE and EE
flavors.
|
Anywhere
between 20 and 75 mins, frequency highly variable |
Quality
guests who roll up their sleeves during the day
Sheer variety of topics
|
 
|
.
Posted by dannycoward
( Sep 05 2008, 04:50:13 PM PDT )
Permalink
Wednesday August 27, 2008
Firing up the engines for multiple languages
Filed under:
javafx
javase7

Have you seen the latest update from
John on our efforts to make the
JVM run multiple
languages ? (I'm in a staff meeting writing this, but don't tell
anyone :) ).
From one to many languages
For those of you who would like a little context around
International
Invokedynamic Day, for the last few years we've been on a path
towards first class support for other languages on the JVM. No small
feat this, since the Java Platform was originally designed with one
language in mind. Now, we still believe that Java is the best language
for robust, long lived code. But we know that developers like to mix in
other languages that for special reasons: for particular applications,
for particular styles of development. Just as important, we've spent 13
years creating an incredibly scalable and high performing runtime
across a variety of operating systems. So for developers who create
applications with other languages (and we hope there will be many who
like
JavaFX
Script), we figure they would like to run those apps on the
best
runtime around.
So, as a matter of fact, do the creators of the engines for other
languages like
Ruby,
Python,
Groovy,
Scala - they started creating
the engines to run on the Java Platform.
Lining up the engines
So for Java SE 6, we provided a
framework by which
those interpreters could
plug
easily into the Java Platform. And the developer APIs by which the
code from those other languages can be asked to execute. We even
bundled a JavaScript engine into our own JDK. At the same time,
more and more
developers created the engines to run other languages on the Java
platform.
Firing up the engines
Now, many of the languages that are attracting the buzz that have been
invented since the Java language have a feature in common with each
other, but not with Java: they are
dynamically
rather than statically typed. So the types of the variables, method
parameters, return variables and so on are not known at development
time, unlike in Java where you are required to declare them. All very
nice for rapid prototyping and a more informal style of programming,
but a big problem for compiling it down to the Java bytecode because
the Java bytecode needs that type information filled out. So engines
for dynamic languages have to create artificial interfaces or classes
just to do the form filling. Making them brittle, difficult to maintain
and slower than they could be. But not if
we modify the bytecode
to remove the need to fill out all the type information.
So back to the update: John has
prototyped
support for the modified bytecode in the HotSpot JVM !
What this means is that implementors of dynamic language engines are
now free to try this out and
prove
the theory. I'm predicting that
Charlie
will be one of the first with his
JRuby
project, but the race is on.
Some of the newer languages have other features in common, like
closures for example. There may well be
other features
we will build into the Java runtime to support such features better
like tail call recursions, continuations and lightweight method
handles. But we'll see how it goes with new bytecode and get some real
data and decide how much further we need to go.
If, say,
Ruby,
Python and
Scala run faster on the
JVM than anywhere else, we may just be done. For now :)
Posted by dannycoward
( Aug 27 2008, 02:38:21 PM PDT )
Permalink
Tuesday August 19, 2008
Some of my favorite things about the JavaFX SDK Preview
Filed under:
javafx

I'm
sure you all saw that our
JavaFX team
released a preview of the
SDK at the end of July. I've been happily tinkering with it for the
last few days. If you are hacking with
AJAX,
moonlighting with
Silverlight,
or fumbling with
Flex,
I think you should get up close and personal with it too, and
see what its all
about.
We've been
talking
about JavaFX in various ways for
some time now,
so you
probably already know
that its for building rich client applications, that it itself is built
using Java, and that it will span multiple devices - from small mobile
phones through TV settop boxes to the PC desktop and browser. Most
importantly, if you are a traditional Java programmer (I include
myself), you will notice there's a paradigm shift. A shift moving from
the Java programming environment, whose generality spans quite an
astonishing range of applications, to a programming
environment specially designed for those amongst us with more developed
visual design skills than technical ones (sadly, I cannot include myself).
Those who are focused on one kind of application: interactive and
fabulous looking.
Looking ahead a little,
the
plan here is to release the final version of the SDK for the
desktop at the end of this year and a preview of the mobile version
next March or so. I say or so, not just because schedules are
schedules, but because we are ready to adjust based on the
feedback
we get from this preview release.
Anyhow, some of my favorite things about this
preview release are:-
The Language:
JavaFX Script
Described in full in the
language
guide included in the SDK, this new language is highly declarative
(i.e. it says what its going to do, rather than saying how to do it),
with features like
data binding
to let you to bind one variable to another variable. Like,
let oneVariable = bind
anotherVariable;
(I did say it was declarative). Or like the
triggers feature, so that when the
value of one variable is replaced, you can have something else happen
at the same time.
attribute oneVariable
on replace
doSomethingElse();
To a Java programmer its going to be an
easy new language to pick up
because it shares much of its syntax with the Java language. To a
designer, its going to be an
easy
new language to pick up because its clean, straightforward and does
on the screen what it says in the code. And it has no
baggage
to carry.
The APIs
Neatly divided into two profiles (
which you can see
here) - the
common profile for all the APIs that will
be available on every device, and the
desktop
profile for all the APIs that make sense only for applications
on a desktop. There's a
mobile profile
to come of course in the mobile release next year, which will have the
common profile plus APIs that make sense on mobile devices.
As part of the common profile, you have the
scene graph and the media
JavaFX APIs. The GUI of an application is modeled as a graph of visual
nodes, (each node being a shape, line, piece of text, GUI widget or
embedded media), that moves, twists, rearranges as the user interacts
with it. The scene graph API in JavaFX is especially well suited to the
transition effects and animations that make all the difference between
a user experience and a captivating user experience. The media
supported in the scene graph includes a
player
control and support for OS native formats. You'll remember we
inked a deal
with On2 to provide cross device media support in May. Well that
will have to wait a little longer before we can put that in. But we're
all crossing our scene graph nodes that it will be soon.
The desktop profile includes the common profile, plus some desktop
specific extras like...many of the tried and tested Swing widgets we
know and love: buttons, combo boxes, lists and so on. So no shortage of
the basics you need there.
And of course,
being built in
Java and on Java, you can always reach down into the underlying
Java APIs for your favorite Java API if you would like to use that in
your application too.
NetBeans integration
and Project Nile Plugins
Naturally, the
SDK is available
pre-integrated with NetBeans 6.1 which is how I've been looking at
it, as
have
others. The language and APIs are supported in the IDE with all the
things you would expect like syntax coloring and checking, debugging
and so on. Together a
tutorial
and a range of samples. The samples are generally short and to the
point. Want to see how to draw polygons ? There's a sample just for
that. Want to see how to use keyframe animation to bring life to
randomly moving particles ? There's a sample just for that.
Transparency, color gradients, bounce a ball ? Check, check, check.
Also included in the SDK is a collection of plugins (
codenamed
Project Nile) to Adobe Photoshop and Illustrator so you can keep
working on the art there, and use Project Nile to export it into your
JavaFX application and bring some life to it.
My other favorite thing is that this is all running on Java SE. So
applications created in JavaFX aren't just running on any old VM, its
running on a supremely stable,
scalable
and
high
performing runtime. But I don't have time to tell you about all
that just now.
There's more to the SDK than just my favorite things. If you've been
curious about JavaFX, now is a good time to
take a look for yourself.
Posted by dannycoward
( Aug 19 2008, 07:50:01 PM PDT )
Permalink
Tuesday July 08, 2008
Ask us about the 'Consumer JRE'....all week !
Filed under:
consumerjre
javafx
Ken,
Richard and I are doing
a
special
event this week over at the SDN, and its your chance to ask us
anything you feel like about the upcoming Java SE 6 Update 10 release,
aka the 'Consumer JRE'.
Each day we answer as many of the questions people send in, and they
all get
published
online. Its like a slow motion chat !
Have you
tried
out the beta yet ? (nearly a million people already have)
Posted by dannycoward
( Jul 08 2008, 12:05:14 PM PDT )
Permalink