Vad är det?
Strax före jul släppte Sun en efterlängtad julklapp till alla världens Java-utvecklare. Java FX är en teknologi som har låtit vänta på sig för att bli ett konkurrenskraftigt alternativ till Adobe Flash och Microsoft Silverlight. Det är Suns sätt att låta utvecklare snabbt kunna skapa så kallade rika internet-applikationer, (Rich Internet Applications, RIA). Liksom Flash och Silverlight lämpar den sig för att bygga avancerade multimedialösningar med video, musik och animeringar.

Men Java FX är långt ifrån begränsad till egenskaper som konkurrenterna flaggar för. Sun trycker hårt på att detta är en teknik som enkelt ska kunna lanseras på flera plattformar, som desktop, webb, mobiltelefon och digital-tv. Alla plattformar kräver att användaren installerar Java FX för att kunna köra applikationer, men detsamma gäller för Silverlight och Flash.

Varför är det hett?
Teknologin har tagits emot väl av Javautvecklare över hela världen. Utvecklarna gläds åt att de kan återanvända mycket kod som de skrivit för konventionella mjukvaruprojekt när de bygger Java FX-applikationer. Det är därför också enkelt för en Javautvecklare att sätta sig in i Java FX och snabbt åstadkomma nya produkter

Sun menar att det ligger ett stort värde i att distribuera en applikation snabbt och brett. Dessutom tillför Java FX bättre sätt att bygga grafiskt tilltalande applikationer. En applikation kan visa foto, video eller spela musik oavsett om den ligger på en webbsida eller körs i en mobiltelefon vilket är kraftfullt. Den kan också kopplas ihop med externa webbtjänster till en plattformsoberoende mashup.

Sun har slutit ett avtal med On2 Technologies att integrera deras mediekonverterare för Java FX. På så sätt är det lätt att importera ett stort antal vanliga filformat för video i Java FX och spela upp dem i en applikation. Mediekonverteraren är dock en tredjepartprodukt och kommer med en licenskostnad.

Hur fungerar det?

För att skapa en applikation i Java FX måste man ladda ner ett utvecklarpaket från Sun som innehåller allt man behöver för att komma igång. Det är gratis och delvis i öppen källkod. Även här har Sun valt att göra det enkelt för utvecklare genom att paketet lätt installeras i de två ledande utvecklingsmiljöerna för Java: Netbeans och Eclipse.

I skrivande stund kan den färdiga applikationen lanseras för desktop eller till webben. Ett användbart komplement är det ramverk som Sun kallar för Java Webstart. En utvecklare kan välja att paketera sin applikation med stöd för Java Webstart. Nu kan man köra applikationen genom att klicka på en vanlig länk på en sajt. Applikationen behöver laddas ner första gången den ska köras och den laddar också ner stöd för Java om det saknas på datorn. När nedladdningen är klar kör applikationen igång med alla egenskaper hos ett installerat program.

I utvecklarpaketet finns även en emulator för att bygga mobila applikationer. Det finns inga mobiltelefoner som har stöd för Java FX idag så det går inte att testa dem live, men minst en mobiltillverkare ska lanseras som partner i april enligt Sun.

Kritiken

Det märks att Java FX är byggt för utvecklare. I sina utspel säger Sun att de har en modell som bygger på att utvecklare kan ta design från en grafiker och bygga sina applikationer på. Det är en ganska platt modell i jämförelse med de steg som Microsoft och Adobe tar. Där ligger fokus på ett nära samarbete mellan designer och utvecklare som också arbetar parallellt.

För att exportera design till Java FX kan en grafiker ladda ner plugins till Adobe Illustrator och Adobe Photoshop. Det finns inget sätt att vända på det och importera design i dessa program från en applikation. Det finns heller ingenting som liknar de verktyg som Adobe tillhandahåller för att skapa applikationer i Flash. Animationer och funktioner programmeras vilket skrämmer bort kreativa själar som är vana vid Adobes grafiska upplevelser.

När passar det att använda?

Sun kämpar mot de två etablerade jättarna när det gäller applikationer som körs i webbläsaren. Flash är marknadsledande och finns redan i 98 procent av alla webbläsare. Silverlight tar sig framåt och börjar få användare på främst Windows-datorer. Att användarna måset installera ett plugin för att köra Silverlight har inneburit en hög tröskel som Microsoft har tvingats leva med. Men det fungerar inte smidigare med Java FX - varje applikation i Java FX som ska startas i webbläsaren måste ta sig förbi minst ett popup-fönster som frågar om du litar på utgivaren av applikationen. Applikationen måste laddas ner första gången den ska köras och i vissa fall installeras.

Men Java FX kan med fördel komplettera vanlig desktop-utveckling. Grafiska element och stöd för multimedia ligger naturligt inbäddat. Java är också förinstallerat på de flesta datorer vilket ger en fördel för Sun. För Microsofts och Adobes desktop-applikationer måste däremot en skal-applikation installeras först.

Där Java FX verkligen kommer att kunna ha stor betydelse är i mobiltelefonen. Att ha en plattform som är i open source där det är enkelt att installera applikationer kan mycket väl innebära en stark konkurrent till Iphone. Java FX har chansen att ta marknadsandelar när det gäller strömmad video till mobila enheter. I april får vi se vilka mobila partners som Sun lyckats locka till sin teknologi.

5 webbidéer med Java FX

>>Återanvänd din befintliga Java-applikation i Java FX och lansera den som en rik internet applikation som körs från webbläsaren.

>>Bygg en videospelare som fungerar på desktop, webb och i mobiltelefoner som stödjer Java FX.

>>Koppla på en extern tjänst som Ebay och låt dina användare prenumerera på relevanta auktioner direkt till desktopen.

>>Låt din AD få fria tyglar att designa ett spel i Photoshop och exportera verket till Java FX. Sen kopplas den lätt ihop med en spelmotor i vanlig Java.

>>Bygg ett nytt grafiskt gränssnitt till ditt affärssystem. Få en bättre användarupplevelse och behåll säkerheten och stabiliteten hos ditt befintliga system.

7 skäl att använda Java FX


>> En etablerad utvecklingsmodell för applikationer som kan köras på många plattformar.
 
>> Arbetsflöde där webbdesigner kan exportera skisser direkt till Java FX-kod för utvecklare att bearbeta.

>> Etablerad kraftig motor som kör Java-applikationer i en snabb och säker miljö.

>> Färdiga Java-applikationer kan lätt distribueras som Java FX på massor av plattformar.

>>En rik plattform som gör det lätt att integrera grafik, video, ljud och programmeringskod.

>> Snabb utveckling för att bygga plattformsoberoende mashups mot andra webbtjänster.

>> Nya rika gränssnitt mot tunga system med komplicerad arkitektur för enterprise-lösningar.



Jämför jättarnas applikationer
  Sun Microsoft Adobe
Desktop-applikation Kod:Java FX-Script
Datorkrav: Java 1.5 installerat
Kod: XAML Datorkrav: Windows Presentation Foundation installerat Kod: Flash som gärna byggs med Flex
Datorkrav: Adobe Air installerat
Rik webb- applikation Kod: Java FX-Script Webbläsarkrav: Java Webstart eller Java plugin Kod: XAML
Webbläsarkrav: Silverlight plugin
 Kod: Flash som gärna byggs med Flex
Webbläsarkrav: Flash plugin
Mobil-applikation Kod: Java FX-Script
Mobiltelefonkrav: Java FX Mobile som operativsystem
 Kod: XAML
Mobiltelefonkrav: Windows mobile 6 som operativsystem
 Kod: Flash med vissa begränsningar
Mobiltelefonkrav: Flash Lite installerat (stöds bara av vissa mobiltelefoner)