Dev (Back & Front)ARTIGO

Introduzindo o e(fx)clipse

Nas últimas semanas eu investi um certo
tempo em fazer a aplicação Eclipse 4 Application rodar sob o JavaFX.

Uma das
principais tecnologias do JavaFX é que ele usa o CSS para tematizar toda a
aplicação, mas os editores padrão de CSS não são de muita ajuda porque as
propriedades utilizadas são especificas do JavaFX (leia-se: todas elas são
extensões customizadas começando com –fx).

Eu já tinha decido que precisava aprender como
escrever meu próprio DSL usando Xtext, foi a chance perfeita para criar um
Editor CSS para JavaFX usando Xtext. E
como eu viajei muito nas últimas duas semanas,
tive muito tempo livre para trabalhar em algo que eu gosto de chamar “e(fx)clipse”,
o começo de uma uma ferramenta do Eclipse para JavaFX.

Então, o
que eu tenho para o Lançamento 0.0.1 da ferramenta? Bom, tudo que eu tenho é o
começo de um Editor CSS construído usando Xtext. Aqui estão duas screenshots do atual editor CSS
rodando no Eclipse 4.1 (ele roda no 3.7 também, naturalmente). Como você
pode ver, o editor não tem muitos recursos por enquanto, mas espero melhorá-los:

  • Destaque básico de syntaxe
  • Propostas para atributos CSS
  • Suporte para propostas de
    valores para atributos

Falando
nisso, um dos principais recursos do Editor CSS é que ele permite que as
pessoas conectem suas próprias regras de propriedade, então, por exemplo, ele
poderia fazer um plug-in com suas próprias regras, da mesma forma que alguém pode fazer para
as regras especificas do mozilla, ou do webkit.

Até o
momento, eu tenho dois conjuntos de propriedades:

  • CSS 2.1
  • JavaFX

Eles
não são parte do plugin principal, apenas contribuem simplesmente com
serviços OSGi.

Se você quiser, pode testar o editor.O download do p2-repo pode ser feito na minha conta github. Por favor, note que este
é um lançamento muito novo, e atualmente o editor está registrado
apenas para .fxcss-Files.

Atualização:
Existe uma sintaxe JavaFX, que ainda não é suportada pelo editor, mostrando um
erro. O problema não é o Editor CSS, e sim a definição do spec CSS speced
pelo JavaFX. Eu já dei entrada a um Jira-Ticket, onde eu descrevo o problema e
proponho uma definição compatível ao CSS 2.1.

1	linear from( <size> , <size> ) to( <size> , <size> ) [ stop( <number> , <color> ) ]+ [ repeat | reflect ]?
2 radial [ center( <size> , <size> ) , ]? <size> [ focus( <size> , <size> ) ] ? [ stop( <number> , <color> ) ]+ [ repeat | reflect ]?
3
4 /* Example */
5 linear from(0%,0%) to(100%,100%) stop(0.0,red) stop(1.0,black)
6 radial center(25%,25%) , 50% focus(20%,20%) stop(0.0,gray) stop(0.50,darkgray) stop(1.0,dimgray) reflect

 ?

Texto original disponível em http://tomsondev.bestsolution.at/2011/06/24/introducing-efxclipse/

é cofundador e CEO da BestSolution.at, uma empresa de software que oferece consultoria e contratos de serviços em tecnologias Eclipse. Também é palestrante em eventos relacionados a Java e a Eclipse.

Ver perfil