Laszlo, de looo…n…ooonge
Mas realmente de mmmmmuuuito longe.
Trabalho com o Mozilla XUL, é ótimo e tudo mais … mas o Laszlo … ganha de longe nessa categoria
ps.: de longe.
Soh Java mesmo para ter esse tipo de coisa bizarra…
Rafael
[quote=LIPE]Laszlo, de looo…n…ooonge
Mas realmente de mmmmmuuuito longe.
Trabalho com o Mozilla XUL, é ótimo e tudo mais … mas o Laszlo … ganha de longe nessa categoria
ps.: de longe.[/quote]
Lipe c tem razão mesmo… mas precisa de muita memoria pra trabalhar com ele. mas é realmente fantastico.
Para mim, Thinlet, SwiXml e Luxor parecem legais.
Ah, que preconceito bobo. Essa eh a nova salvacao da lavoura. Ate o .NET quer ter (XAML)…
Marcio Kuchma
Sobre o Thinlet:
Questões relevantes
0) É open source?
R: SIM
-
Existe uma separação bem feita entre MVC? (A necessidade de ActionEvent, Listener, etc, faz o framework perder ponto)
R: SIM -
Cobre as funcionalidades do Swing/SWT ?
R: Basicamente, SIM. -
Xml proposto pelo framework tem um dtd ?
R: Não sei, mas acho que tem. -
Quantas linhas de código são necessárias para fazer o “contador”???
R: Poucas, vide o link que você mesmo passou. -
Existe um plugin para eclipse, netbeans ou uma ide para montar a interface?
R: O programa ThinG gera a tela e o XML. Existe o Theodore também, mas é pago.
[quote=danieldestro]Sobre o Thinlet:
-
Cobre as funcionalidades do Swing/SWT ?
R: Basicamente, SIM. -
Xml proposto pelo framework tem um dtd ?
R: Não sei, mas acho que tem.
[/quote]
- NMO muito básico
- O Thinlet não usa XUL?
Bem acho que o código com Thinlet fica meio porco, eu pensava que o Thinlet era uma biblioteca de componentes cujo uso era transparente para o usuário, mas parece que tem que colocar um monte de gambiarra… Mas a idéia de construir a interface via XML em vez de via código é ótima. Acho que o que falta no Thinlet é ele se tornar mais fácil de codificar.
Thinlet usa XUL sim. Bom, não sei se é só o conceito ou se é a padronização toda. Mas, enfim…
Quer usar Thinlet de forma BEM transparente? Use com o Genesis.
Renato, o Thinlet possui uma extensão boa para resolver o problema da classe de 10mil linhas:
http://sjobic.club.fr/thinlet/owthinlet/index.html
Acho o Thinlet ótimo e cabe perfeitamente para aplicações vai-no-banco-pega-os-dados-preenche-o-formulário. Se você quer mesmo desenvolver uma aplicação Java usando xml ao invés de código, vá com ele que não tem erro.
Mas se você precisa de algo mais robusto, use Swing. Ele empresta ao desenvolvedor um poder incrível, tanto de fazer merda quanto de desenvolver um controlador de robozinhos em marte :thumbup:
Rodrigo, quem faz a separação de camadas é o desenvolvedor. Se os programas que você já viu em Swing viraram uma grande e fedida massinha de modelar, é culpa do desenvolvedor, não da tecnologia @.@
Lipe, o object wrapper que você indicou parece legal, mas achei estranho que no exemplo a janela é criada via código. Eu não entendi. Me explica?
Eu queria uma coisa: imagine seu código Swing/SWT etc…
Agora divida o código em duas partes, uma onde você monta a interface gráfica (agh!! trabalho de design via código) e outra onde você a usa. Agora imagina que você não precisa da primeira parte, porque os dados de como deve ser montada a GUI vêm de um XML. Só que a segunda parte fica inalterada, esse é o ponto que o Thinlet não oferece.
O Delphi é assim, você monta a janela graficamente, então é gerado um arquivo de descrição da janela que é linkado ao programa na compilação. O código só é alterado para montar a classe do form (janela). Assim um form com uma caixa de texto e um botão é uma sub-classe de “Janela” com esses membros.
Eu gostaria que existisse uma ferramenta que parseasse o xml e gerasse a sub-classe em tempo de compilação e inserisse o xml como um recurso embutido da classe.
Cara, não existe mágica. ALGUÉM tem que fazer a colagem (binding) entre a sua classe e a telinha. O Genesis faz isso. Não conheço Delphi, mas não creio que seja essa mágica (que eu mesmo não entendí) que você disse.
Eu to refatorando um programa meu. Tô usando Swing ainda, mas to trabalhando apenas com intefaces. Garantí independência total de interface gráfica. Seja Swing, Thinlet, Awt, SWT ou papel rascunho.
Só preciso implementar a classe que faz o link entre a tela e meu controlador.
Ou não entendi seu comentário ou você não entendeu o Thinlet hehe
A partir da classe Java é que a janela é lançada. E nesta classe Java é que ficam os métodos que respondem aos eventos dos widgets. Qual a complicação?
A segunda parte seria um front-controller ou similares, que fica inalterado de qualquer maneira oras.
Sobre o Wrapper pro Thinlet, acho que é usar Thinlet pra brincar como se brinca no Swing. Ou seja, um passo pra frente e um para trás.
Lipe, desculpe na verdade é só o primeiro parágrafo que é direcionado a você. Eu achei legal o link, mas não entendi o exemplo que monta a janela via código, aparentemente inutilizando o Thinlet.
Daniel, sobre o funcionamento do Delphi, não estou dizendo que ele é melhor, que é mágico, estou apenas dizendo como funciona: você não escreve uma linha de código para montar a GUI, apenas para usá-la.
Veja um exemplo de definição de janela (DFM) com uma caixa de texto e um botão (é texto mas não xml):
object myForm: TmyForm
Left = 246
Top = 361
Width = 162
Height = 117
Caption = 'Beautiful Window'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object btnOK: TButton
Left = 40
Top = 48
Width = 75
Height = 25
Caption = 'OK'
TabOrder = 0
end
object edtNome: TEdit
Left = 16
Top = 8
Width = 121
Height = 21
TabOrder = 1
Text = 'Some default text'
end
end
E a classe que é gerada (não há montagens estapafúrdias de janelas via código, se bem que você pode fazer isso se quiser):
type
TMyForm = class(TForm)
btnOK: TButton;
edtNome: TEdit;
end;
E o código para usar, no caso eu seto a caixa de texto com um valor ao clicar no botão OK, por exemplo:
var myForm: TmyForm;
...
procedure TmyForm.btnOKClick(Sender: TObject);
begin
myForm.edtNome.Text := 'Dolores';
end;
Olhando a classe TMyForm como você sabe a aparência da Janela? Porque o Delphi “cola” a descrição junto com a aplicação que a utiliza para montar a janela.
Resumindo o que eu queria: imagine o Swing. Imagine montar as janelas em um XML como no Thinlet. Agora imagine que você usa as classes normalmente sacaram, sem gambiarras de Object, parse etc etc. O Thinlet transforma uma forma de descrever GUIs em uma nova maneira, tosca, no código, de manipular seus botões, combos, janelas etc.
Renato, no NetBeans eu consigo a mesma coisa.
eu faço toda minha view arrastando componentes e dou um duplo clique num botão que me gera o código para um evento do botão.
A diferença é que no Delphi a definição fica num TXT e no Java o código fica junto. Mas nada impediria te ter uma IDE que já me desse uma classe para a tela e outra que responde aos eventos da tela.
Delphi e VB são muito bons para este tipo de coisa, são rápidos pra desenvolver.
Então, queria que o Java tivesse isso.
Acho que o caminho é separar a montagem da tela de seu uso. As IDEs poderiam gerar a descrição fora do código e, sugestão, em XUL ou algo do tipo.