Saiba como anda o JavaFX 2.0

Um dos anúncios mais chocantes do JavaOne de 2010 foi o fim do JavaFX Script, mas ninguém esperava uma volta tão positiva.

Com API Java e muitas melhorias no desempenho, JavaFX 2.0 já está aparecendo na blogsfera e no twitter desde o início de fevereiro, quando iniciaram as distribuições “Early Access” para parceiros da Oracle.
Adam Bien e Peter Pilgrim, dois nomes bastante conhecidos na comunidade Java, postaram importante informações sobre a versão do novo JavaFX, que deverá vir dentro da JDK 8 e ser liberado no final desse ano como uma API (um simples Jar para você colocar no seu classpath).

Quem quiser pode se inscrever no programa beta (que deve ser liberado durante o segundo quartil desse ano) da Oracle para possivelmente conseguir acesso à API:
http://www.oracle.com/dm/11q1field/javafx_beta_en.html

Para saber mais:
Screencast do Peter Pilgrim: http://www.vimeo.com/20351975
Blog do Adam Bien sobre JavaFX 2: http://www.adam-bien.com/roller/abien/entry/hello_javafx_2_back_to
Mais posts sobre o JavaFX 2 no blog de Jonathan Giles: http://jonathangiles.net/blog/
Twitter oficial do JavaFX: http://twitter.com/#!/javafx4you

Está muito boa essa versão, acredito que vai agradar a todos!

pena que a parte mobile, a qual atraiu muitas pessoas, não está inclusa :frowning: Mas faz sentido que a oracle tenho mais foco, a falta de foco fez muito mal para o desenvolvimento do JavaFX…

Gostaria de ouvir[ler] o que o pessoal acha :slight_smile:

A eliminação do fx script na minha opinião foi excelente :slight_smile:

Bom, melhor que o Swing ele tem tudo pra ser.

Agora, a área Mobile é que até agora não vi notícia.

li sobre o futuro do javame na java magazine nª 84
Parece que será lançado um acelerador java script e html5 além de ser um browser no toolkit.
O javame vai ganhar uma cara mais web

andei mexendo com esssa ferramenta …

achei muito legal seu layout.

o visual achu fo#$#%$a

package com.abien.hello;

import javafx.application.Application;
import javafx.application.Launcher;
import javafx.collections.Sequence;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;

public class Main extends Application{


    @Override public void start() {
        Stage stage = new Stage();
        stage.setTitle("Hello Java FX");
        stage.setResizable(false);

        Group root = new Group();
        Scene scene = new Scene(root,80,20);
        stage.setScene(scene);

        Sequence children = root.getChildren();
        children.add(new Label("Hello Java FX 2"));
        stage.setVisible(true);

    }

    public static void main(String[] args) {
        Launcher.launch(Main.class, args);
    }
}

Isso aqui tá muito parecido com Swing ainda na minha opinião

Tinha que ter uma DSL com as novas features do Java como Maps literais e Closures, algo parecido com o JavaFX Script, mas em Java

Ao meu ver , o JavaFX continua um vaporware…

Vai demandar mais que 10x o investimento atual para tornar-se mercadologicamente real.

Sorte do Flash e do SilverLight…

Veja o caso do SilverLight… milhares de dolares investidos para um uso praticamente ínfimo… cada vez mais o HTML5 está trucidando “flashes like”…

Sei que não faz tudo que o flash faz , mas enfim…

JavaFX na minha opiniao nasceu morto.

[quote=victorcosta][code]
package com.abien.hello;

import javafx.application.Application;
import javafx.application.Launcher;
import javafx.collections.Sequence;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;

public class Main extends Application{

@Override public void start() {
    Stage stage = new Stage();
    stage.setTitle("Hello Java FX");
    stage.setResizable(false);

    Group root = new Group();
    Scene scene = new Scene(root,80,20);
    stage.setScene(scene);

    Sequence children = root.getChildren();
    children.add(new Label("Hello Java FX 2"));
    stage.setVisible(true);

}

public static void main(String[] args) {
    Launcher.launch(Main.class, args);
}

}
[/code]

Isso aqui tá muito parecido com Swing ainda na minha opinião

Tinha que ter uma DSL com as novas features do Java como Maps literais e Closures, algo parecido com o JavaFX Script, mas em Java[/quote]

Closures ? Vai sonhando…

Acho que o JavaFX 2.0 tem tudo para ser o novo Swing.

As aplicações com certeza passarão a ter uma outra “cara”.

Fico muito triste de o JavaFXScript ter acabado, pois sua simplicidade e naturalidade me encantam cada dia mais. Mas vem ai o Visage (do Stephen Chin) que deve cobrir esta lacuna.

Como já foi dito o JavaFX 2.0 ficou muito com cada de JAVA, muito quadradinho. O que se fazia com uma unica declaração de 3 linhas agora precisa de inumeros métodos, linhas intermináveis e as Interfaces.

O BIND com ON REPLACE e WITH INVERSE do FXScript é impagável e a maior sacada que poderia colocar no Java.

Hoje desenvolvemos as interfaces em JavaFX 1.3 e as lógicas e o trabalho sujo em Java. uma dobradinha que tem dado certo.

Se o Java ME ganhar uma cara web eu tô dentro ! =]

[quote=victorcosta][code]
package com.abien.hello;

import javafx.application.Application;
import javafx.application.Launcher;
import javafx.collections.Sequence;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;

public class Main extends Application{

@Override public void start() {
    Stage stage = new Stage();
    stage.setTitle("Hello Java FX");
    stage.setResizable(false);

    Group root = new Group();
    Scene scene = new Scene(root,80,20);
    stage.setScene(scene);

    Sequence children = root.getChildren();
    children.add(new Label("Hello Java FX 2"));
    stage.setVisible(true);

}

public static void main(String[] args) {
    Launcher.launch(Main.class, args);
}

}
[/code]

Isso aqui tá muito parecido com Swing ainda na minha opinião

Tinha que ter uma DSL com as novas features do Java como Maps literais e Closures, algo parecido com o JavaFX Script, mas em Java[/quote]

Sim, é o que vamos fazer mantendo a linguagem Visage:

code.google.com/p/visage/

E é por isso que houve bastante foco na apresentação do Jonathans e o Stephen no JavaOne: Eles focaram o desenvolvimento com JavaFX em outras linguagens na JVM, ficou legal a apresentação e a implementação em Scala melhor ainda:

http://javafx.steveonjava.com/javafx-your-way-building-javafx-applications-with-alternative-languages/

Outra coisa, esse snnipet acho que não mostrou tudo, mas o JavaFX tem muitas partes interessantes que não temos no Swing. O foco é manter simples, então metódos do tipo addAll(Node …) são muito úteis neste contexto.

[quote=chun]Ao meu ver , o JavaFX continua um vaporware…

Vai demandar mais que 10x o investimento atual para tornar-se mercadologicamente real.

Sorte do Flash e do SilverLight…

Veja o caso do SilverLight… milhares de dolares investidos para um uso praticamente ínfimo… cada vez mais o HTML5 está trucidando “flashes like”…

Sei que não faz tudo que o flash faz , mas enfim…

JavaFX na minha opiniao nasceu morto.
[/quote]

Se você diz dominar o mercado RIA infelizmente o JavaFX não conseguiu. Com o novo FX a Oracle pode conseguir muita audiência, o pessoal está se esforçando para fechar todos os buracos deixados nas versões posterior a 2…

O problema do JavaFX mesmo foram as muitas promessas não cumpridas (mobile por exemplo)… Se nascesse humilde, teria conquistado muita coisa.

[quote=jeanlopes]Acho que o JavaFX 2.0 tem tudo para ser o novo Swing.

As aplicações com certeza passarão a ter uma outra “cara”.

Fico muito triste de o JavaFXScript ter acabado, pois sua simplicidade e naturalidade me encantam cada dia mais. Mas vem ai o Visage (do Stephen Chin) que deve cobrir esta lacuna.

Como já foi dito o JavaFX 2.0 ficou muito com cada de JAVA, muito quadradinho. O que se fazia com uma unica declaração de 3 linhas agora precisa de inumeros métodos, linhas intermináveis e as Interfaces.

O BIND com ON REPLACE e WITH INVERSE do FXScript é impagável e a maior sacada que poderia colocar no Java.

Hoje desenvolvemos as interfaces em JavaFX 1.3 e as lógicas e o trabalho sujo em Java. uma dobradinha que tem dado certo.

[/quote]

ótima noticia, estava cansado de ter que aplicar look and feel, e gostaria de um visual mais RIA, alem de nao precisar integrar o Java com ferramentas intermediarias para usar o Flex,
acho que seria bacana substituir o swing pelo FX, desde que não consuma Milhoes de MB em memoria é claro.

outra coisa que ficaria legal seria o suporte mais “web” para celulares, o layout ficaria muito mais simples e bonito de se fazer

abs a todos.

É muito importante ressaltar que:

  • O JavaFX não é uma nova interface bonitinha. Ele contém um arquitetura chamada Node Scenegraph. Isso é muito interessante:
    http://www.smarks.org/svjugfx20100414/flood.html
    http://download.oracle.com/docs/cd/E17802_01/javafx/javafx/1/docs/api/javafx.scene/javafx.scene.Node.html

  • JavaFX não é Swing, não está acima do Swing e não usa nada do Swing…

  • A API nasce no contexto em que a WEB domina tudo, então, o foco na integração com a WEB é bastante visível nessa API;

  • Prism…

  • Muitas das coisas aqui estão cumpridas na nova API: http://javafx.com/roadmap/

  • A API prevê coisas que antes só eram possíveis com bibliotecas de terceiros ou com muito código. Cosias como estilo com CSS (sim, vocÊ pode setar toda a APP usando o CSS que é padrão da web…), animação (antes possível com bibliotecas como o Trident, descontinuado), efeitos built in e muitas outras coisas…

  • O que a API do javaFX não cobrir, estamos trabalhando para fazer :wink:

  • Os projetos JFXtras, Visage e RedFX estão sendo trabalhados; O criado dor RedFX adicionou suporte a annotations e disse que a API está alinhada ao JavaFX 2.0. mas eu não coloquei a mão na nova versão do projeto ainda (eu cheguei a contribuir na outra vez com um parser XML)

@Jesuino Master
mais você acredita, que no futuro o FX domine toda a area desktop e web do Java ?

[quote=Tenkara Kiddo]@Jesuino Master
mais você acredita, que no futuro o FX domine toda a area desktop e web do Java ?[/quote]

Do java sim, o Swing está estagnado e é muito pesado. Que ele se torne difundido além do mundo Java, acho difícil, mas vai crescer mais do que é hoje, com certeza.

Eu gostava do JavaFX Script, muito simples de declarar, parecido com a forma que o Delphi criava os arquivos de componentes visuais nos .dfm. É uma tecnologia que foi feita pensando em RAD, ao contrário do Swing, que quando surge um editor RAD precisa de ficar aquele código poluído e bagunçado.

[quote=marcosalex][quote=Tenkara Kiddo]@Jesuino Master
mais você acredita, que no futuro o FX domine toda a area desktop e web do Java ?[/quote]

Do java sim, o Swing está estagnado e é muito pesado. Que ele se torne difundido além do mundo Java, acho difícil, mas vai crescer mais do que é hoje, com certeza.

Eu gostava do JavaFX Script, muito simples de declarar, parecido com a forma que o Delphi criava os arquivos de componentes visuais nos .dfm. É uma tecnologia que foi feita pensando em RAD, ao contrário do Swing, que quando surge um editor RAD precisa de ficar aquele código poluído e bagunçado.[/quote]

entendi, preferia que fosse assim igual você falou
eu nunca fiz um teste com o FX Marcos, mais ele não é como o o Flex ? (no quesito de consumo excessivo de memoria ? )

a unica coisa que eu achava ruim do Delphi, igual o que você comentou, é que as ferramentas RAD sujam o código, peço desculpas aos intusiastas do Net Beans, mais acho que uma ferramenta RAD acabaria com a organização de código…

[quote=Tenkara Kiddo][quote=jeanlopes]Acho que o JavaFX 2.0 tem tudo para ser o novo Swing.

As aplicações com certeza passarão a ter uma outra “cara”.

Fico muito triste de o JavaFXScript ter acabado, pois sua simplicidade e naturalidade me encantam cada dia mais. Mas vem ai o Visage (do Stephen Chin) que deve cobrir esta lacuna.

Como já foi dito o JavaFX 2.0 ficou muito com cada de JAVA, muito quadradinho. O que se fazia com uma unica declaração de 3 linhas agora precisa de inumeros métodos, linhas intermináveis e as Interfaces.

O BIND com ON REPLACE e WITH INVERSE do FXScript é impagável e a maior sacada que poderia colocar no Java.

Hoje desenvolvemos as interfaces em JavaFX 1.3 e as lógicas e o trabalho sujo em Java. uma dobradinha que tem dado certo.

[/quote]

ótima noticia, estava cansado de ter que aplicar look and feel, e gostaria de um visual mais RIA, alem de nao precisar integrar o Java com ferramentas intermediarias para usar o Flex,
acho que seria bacana substituir o swing pelo FX, desde que não consuma Milhoes de MB em memoria é claro.

outra coisa que ficaria legal seria o suporte mais “web” para celulares, o layout ficaria muito mais simples e bonito de se fazer

abs a todos.[/quote]

Tenkara,

Aqui uns exemplos de tela de um sistema de CRM que estamos desenvolvendo que usa RMI + Observables + JPA e JavaFX.

Todas as telas, cores, efeitos, fontes são controladas por CSS e todos os textos de Labels são configuráveis e internacionalizados por arquivos de propriedades e o esquema ## do JavaFX.

Como produtor de interface o JavaFX deve se tornar a opção mais interessante.

[quote=jeanlopes][quote=Tenkara Kiddo][quote=jeanlopes]Acho que o JavaFX 2.0 tem tudo para ser o novo Swing.

As aplicações com certeza passarão a ter uma outra “cara”.

Fico muito triste de o JavaFXScript ter acabado, pois sua simplicidade e naturalidade me encantam cada dia mais. Mas vem ai o Visage (do Stephen Chin) que deve cobrir esta lacuna.

Como já foi dito o JavaFX 2.0 ficou muito com cada de JAVA, muito quadradinho. O que se fazia com uma unica declaração de 3 linhas agora precisa de inumeros métodos, linhas intermináveis e as Interfaces.

O BIND com ON REPLACE e WITH INVERSE do FXScript é impagável e a maior sacada que poderia colocar no Java.

Hoje desenvolvemos as interfaces em JavaFX 1.3 e as lógicas e o trabalho sujo em Java. uma dobradinha que tem dado certo.

[/quote]

ótima noticia, estava cansado de ter que aplicar look and feel, e gostaria de um visual mais RIA, alem de nao precisar integrar o Java com ferramentas intermediarias para usar o Flex,
acho que seria bacana substituir o swing pelo FX, desde que não consuma Milhoes de MB em memoria é claro.

outra coisa que ficaria legal seria o suporte mais “web” para celulares, o layout ficaria muito mais simples e bonito de se fazer

abs a todos.[/quote]

Tenkara,

Aqui uns exemplos de tela de um sistema de CRM que estamos desenvolvendo que usa RMI + Observables + JPA e JavaFX.

Todas as telas, cores, efeitos, fontes são controladas por CSS e todos os textos de Labels são configuráveis e internacionalizados por arquivos de propriedades e o esquema ## do JavaFX.

Como produtor de interface o JavaFX deve se tornar a opção mais interessante.

[/quote]

com certeza achei interessantissimo,
layout muito bonito alem de ser internacionalizavel

"Como produtor de interface o JavaFX deve se tornar a opção mais interessante. "

eu gostaria de perguntar Jean, em relação ao layout bonito, você acabou perdendo performance (em relação a custo de memoria a maquina) ??
e o trabalho é muito mais "arduo " do que em relação ao Swing
??