Flash Killers – Java FX, Microsoft Silverlight, Groovy and Xoetrope

It wasn’t meant to be this way, but I spent most of the IJTC talking to people about Flash Killers. Technologies that look good, work in any browser and are powerful enough to deliver enterprise applications with no installation.

  • Dejan Bosanac, was speaking on Scripting in the JVM. He was kind enough to give me a copy of his book which (for the first time) has got me seriously considering Groovy. Maybe I’m about 3 years behind everybody else on this , but I get there in the end! Dejan’s book (Scripting in Java: Languages, Frameworks, and Patterns) is available on Safari
  • Guillaume Laforge talking on Groovy completed what Dejan had begun. Ironically, I didn’t see the talk , but it was the reaction of the people that did that got me interested.
  • Xoetrope (an Irish Open Source company sponsoring the conference) was demonstrating the XUI framework. Initially I thought that the world did not need another Java presentation framework. What changed my mind is that this has two edges – the first is the IDE – a plugin for either Eclipse or Netbeans , similar in drag and drop style to Visual Basic but generating clean XML Files. The second is that you can deploy on the Desktop (as either SWT or AWT/Swing), or as JSP / HTML. You can download XUI (and IDE plugins) from sourceforge.
  • Richard Bair from Sun were talking about Swing and Java FX (more below). Sun is threating to deliver on the intial promise of Java Applets (Write once, deploy anywhere).
  • Strange for a Java event, but Microsoft was giving out disks containing Silverlight - a time limited Visual Studio Professional with Expression Studio (inc Web / Design / Blend / Media).

(I’m still too traumatised by James Strachan and his Corba coloured underpants to talk about Apache Camel. And that was before Mark Proctor and Emmanuel Bernard starting talking about the size of their …. audiences :-)

None of the above technologies really solve what I’m looking for; Ideally we’d have a version of Flash (that almost everybody has installed / designers know how to make look good) with Java embedded in it (we need the processing power of the client). Think modern version of Java Applets. Realistically we’ll have to go for 2nd best as such a thing doesn’t exist.

More on the Java FX Stuff: James Weaver of the JavaFX blog was good enough to talk through these requirements. I came across James blog after reading his book (cover below). While the book covers Java FX and FX alone (but does it well), I’ve been promised a blogpost on deploying a JavaFX Script via Webstart. With that, and if Sun makes good their promises on consumer usability in the next version of Java, then maybe we have a Flash Killer. While Sun has dropped the ball in the past (note that it was Microsoft and not Sun handing out CD’s) the response times for the FX team for a casual query about Webstart (which is not their area) gives me some hope.
JavaFx Book Cover

Microsoft Silverlight – Web 2 IDE – Event

Fergal Breen asked to blog about the Dublin Silverlight event, but Stephen Downey beat me to it. (Update: Ken McGuire is also writing about the event)
Microsoft silverlight logo

Microsoft Silverlight is a flash competitor; It looks good and is well worth checking out, but I’ve got my reservations if it is truely as portable as Flash (see comments on Tom Raftery’s Silverlight launch post). All the same, Silverlight is going to be big (it’s backed by Microsoft), and the IDE / Editor is setting a good standard.
Not sure? Go to the Event and make your own mind up.

OpenLaszlo – Cool Flash for Clunky Java people

Flash is created by cool people who wear black and use Apple Macs. If you’re not sure as to what flash is, the chances are that if you’ve seen something on the web recently that made you go ‘wow’ for it’s coolness, then it was built using Adobe Flash.

To add substance to this froth Java people can use Flash (instead of normal web pages) to create cool pages that do useful stuff. For example Google Analytics uses Java and Flash to create a stunning User Interface. Even though Ajax and DHTML give you a lot of interactivity on your web pages, Flash goes one better at the small cost of not being as good for SEO and requiring a plugin (that most people already have installed).

So, what are you to do if you want to combine the coolness of Flash with the heavy lifting of Enterprise Java on the Server? The two main options are:

  1. Flex from Adobe is one way for Java people to create flash. The core toolkit is free, but the editor costs about $500 and that’s before you pay for using it on your servers. More details in the previous blogposts on Adobe Apollo and Adobe Flex.
  2. Open Laszlo Project is open source all the way, but does’t have a drag and drop editor (i.e. it’s more technical than graphical). Still , it allows you to create some cool effects , such as this Flash Clock.

Which framework will win out? I don’t know , and that’s before you even consider the Standard Java Web Frameworks such as Struts 2.

More (In progess) notes on Open Java and Flash are on the wiki. In an impulse buy , I bought the OpenLaszlo in Action yesterday. As an EBook , with rebate (coupon LZ35607 before the end of August) it costs about 10 Euro. Initial impressions are good (both for the book and Open Laszlo) , but I’m still working my way through it (so don’t quote me on it).

</p> <p>33</p>

Disclaimer: I get a rebate if you buy the book from Amazon, but not if you buy the (Cheaper) E-Book direct from Manning. I bought the E-Book this time, but have got free books from Manning in the past for having reviewed (as yet unpublished) JBoss items.

What is Adobe Apollo?

Update: Apollo has since been rename AIR – Adobe Integrated Runtime. Personally, I Preferred the ‘Flex’ name.
What is Adobe Apollo? You know, Adobe , the people that give us the PDF reader.
Is Apollo the new Java for this Decade? Will it replace Atlas and .Net? Is Apollo an answer to problems we have in building web sites that all users can see? Will Apollo replace Ajax , Flash and plain vanilla HTML? Does it play well with Ruby and JRuby?

apollo.jpg

I don’t know. And neither does the Financial Times Tech Blog. But it does say

Adobe (and incidentally eBay) looks like it has a winner – if only the company can find a better way to explain what Apollo does.

I do know that Apollo may fix the pain of cross-platform web development. So, I’m over to the Adobe Labs site to find out more. Ajaxian has the demo. Mike Chambers (Adobe product development) has the slides. According to Mike:

Apollo is a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s.

Translation into plain English:Powerful web pages,easy to build , loads of pretty colours. If it’s delivered as promised

Dear Bruce Eckel : Hybrid Java, Google Web Toolkit and Adobe Flex

Dear Bruce,

First up, thanks for the book. Yes I’m saying thank-you about 8 years too late. ‘Thinking in Java‘ is what got me going in the language and in my mind is one of the best Java books written (sorry Tim). Giving it away free only cemented your reputation as the Bono of the Java world. OK, Bono without the Guitar, the Stetson and with a couple of overloaded constructors thrown in, but a man of stature nonetheless.

Thinking in Java Front Cover

Secondly, I’ll forgive your flirtations with Python, on the basis that I’ve been having an affair myself with JRuby. I now understand the pain that you’ve been having at home, the endless repetitive arguments to get simple things done, and the temptation of a newer, younger, more flexible model.

So , I think you’re onto something here in your blogpost. I can feel the pain, the need to deliver Rich clients to users over the web. I think that Ruby / Google Web Toolkit / Struts 2 / Name your web toolkit has further to go than you may think , but eventually these ‘heroic efforts‘ (nice quote) will run out of steam. On the basis of your recommendation alone I’m willing to look at Adobe Flex, but I’m not sure if this is going to solve all the problems.

Now , a lot of us Java guys don’t like change (and as if you needed proof, just look at the comments on this O’Reilly blogpost on the Google API’s). All the same , we have a problem that gets worse every passing year. 6 Years ago we could have been sure that 90% of web sites were running Internet Explorer 4. Now we’ve got IE, Firefox, Safari (in all their different versions) as well as an explosion of mobile devices. The Windows Vista launch is only going to fragment things further with yet another platform to support.

No one web solution is going to display the same in all of these browsers. We’re not going to get a single solution from Microsoft / Sun / Adobe that everybody from developer to my Granny is going to install. So we’re going to have to take the ‘least bad’ route – something that looks great, but degrades gracefully to standard HTML on less capable devices. Excuse my ignorance, but I don’t know (yet) if Flex does this.

Yes Hybridizing open source Java is the starting point for the solution. Unfortunately we’ve a long way to go yet, and Flex is perhaps only inspiration along the way.

Yours sincerely

Paul

Applets coming back from the Dead?

If you remember Applets, then you are so 1990’s man. Right back before the dot-com boom , everybody was putting these Java programs in their web pages to do things simple things like display a financial chart (guilty as charged , my ‘lud). Oracle still uses them in some versions of it’s applications as a half-way house between it’s older desktop applications and a completely web only solution.

Trampoline Logo
Fast forward to 2006 and these ‘heavy’ applets have been replaced by light web pages using Ajax and Flash, which don’t require a user download to run. Pretty much anything a Java Applet can do can be done in Ajax (if you have enough time and patience). Ajax developers have been pretty inventive in using Flash to solve problems (e.g. allowing web pages to store information on your local PC), so it may only be a matter of time before this gets picked up.
It’s ironic then, that the very technology that is meant to replace it , ends up giving Applets a new lease of life. It won’t suit everybody or every problem. An ‘ideal’ problem for this to solve is where the user interaction, business logic or security requirements are at the ‘higher’ end of the scale. While you could solve it using Ajax (basically javascript on steroids), using Java Applets and having a nice IDE to develop and solve your problems in may pay off in the long run.

Jan of Trampoline Systems explains in more detail.

Follow

Get every new post delivered to your Inbox.

Join 725 other followers