Fórum [OT] XUL - uma linguagem, um conceito, uma sigla. #323496

16/06/2006

0

Olá pessoal,

Eu aderi ao movimento software livre um tempo já. Tenho usado cada vez mais programas com licenciamento free. [url=http://br.mozdev.org/thunderbird/]Thunderbird[/url] e [url=http://br.mozdev.org/firefox/]Firefox[/url] são dois dos softwares que mais utilizo. Notei um importante diferencial nestes aplicativos que é o uso de extensões, pois facilitam a vida do programador, que não precisa se preocupar com tantos desenvolvimentos, e também a vida do usuário que tem seu leque de possibilidades aumentado.

[b:70e00121cf]Para quem não sabe o que são extensões (em aplicativos).[/b:70e00121cf]
[quote:70e00121cf=´O que são extensões´]
Extensões são pequenos aplicativos que, uma vez instalados na interface do programa, ´extendem´ as funcionalidades do aplicativo, adicionando novas janelas, novas configurações, novos recursos sem precisarem contactar o programador que desenvolve o aplicativo.
[/quote:70e00121cf]

No Thunderbird e Firefox estas extensões são desenvolvidas em uma linguagem chamada XUL [url=http://pt.wikipedia.org/wiki/XUL](XML User Interface Language)[/url]. Um padrão criado pelo grupo de desenvolvedores da [url=http://br.mozdev.org]Mozilla[/url].

[quote:70e00121cf=´XUL Brasil´]
A linguagem XUL é um padrão aberto criado pelo grupo de desenvolvedores do navegador Mozilla, implementado pela Mozilla Framework, que define janelas, botões, menus e uma grande coleção de objetos de interface de usuário para aplicações desktop em notação XML e usa JavaScript para definir roteiros e automação. Veja a história do XUL.
[/quote:70e00121cf]

O engraçado de tudo isso é ver como tem evoluído a programação em todo mundo. Hoje temos mais siglas do que programadores: XUL, CSS, HTM, JSP, ASP, PHP, DTD, RDF e etc. a abertura deste tópico é justamente pra perguntar:

[color=blue:70e00121cf][b:70e00121cf]Você já estudou isso (XUL)?[/b:70e00121cf][/color:70e00121cf]
ou
[color=blue:70e00121cf][b:70e00121cf]Você já estudou algo que nem imagina onde, como e porque irá utilizar?[/b:70e00121cf][/color:70e00121cf]


Adriano Santos

Adriano Santos

Responder

Posts

16/06/2006

Adriano Santos

Esqueci de postar algumas referências sobre XUL.

[quote:52e7c29153=´Refências sobre XUL´]
[url=http://twiki.im.ufba.br/bin/view/XUL]XUL Brasil[/url]
[url=http://br-linux.org/linux/?q=node/1315]Análise do Firefox ´Deer Park´ Alpha 2[/url]
[url=http://www.univale.com.br/livre/2_sslu_br.htm]Algumas palestras sobre XUL em Outubro[/url]
[url=http://pt.wikipedia.org/wiki/XUL]XUL no Wikipédia[/url]
[/quote:52e7c29153]


Responder

Gostei + 0

16/06/2006

Titanius

Cara... tipo... será que tem como eu usar esse XUL nas minhas aplicações!? Será que alguem já tentou isso? :D


Responder

Gostei + 0

16/06/2006

Agsilva

Pelo que deu pra entender, XUL é pra aplicações web, e não tem nenhum segredo.

Também pelo que entendi, já existe os componentes criados (botões,labels), como em Java e Delphi através de uma API (nesse XUL não sei como é que seria), basta implementá-los. O que eles fazem ou deixam de fazer é implementado via JavaScript.

Se for mesmo isso, não há necessidade de utilizá-lo, já que qualquer componente html pode ter eventos JavaScript. A não ser que haja alguma especificação importante, algumas funcionalidades extras, etc.. Darei uma pesquisadinha, quem sabe faço um exemplo aqui pra galera.

:wink:


Responder

Gostei + 0

16/06/2006

Agsilva

[quote:c1f527aa01=´Adriano Santos´][color=blue:c1f527aa01][b:c1f527aa01]Você já estudou isso (XUL)?[/b:c1f527aa01][/color:c1f527aa01]
ou
[color=blue:c1f527aa01][b:c1f527aa01]Você já estudou algo que nem imagina onde, como e porque irá utilizar?[/b:c1f527aa01][/color:c1f527aa01][/quote:c1f527aa01]

Respondendo à primeira pergunta: Não, ainda vou pegar uma noite pra estudar XUL.

Respondendo à segunda pergunta: Sim, quando comecei com Java, eu nem sabia por onde começar direito. Eram tantas coisas (j2se, j2me, j2ee). :D


Responder

Gostei + 0

16/06/2006

Adriano Santos

Cara... tipo... será que tem como eu usar esse XUL nas minhas aplicações!? Será que alguem já tentou isso? :D


É ai que quero chegar [b:1d0c166d7f]titanius[/b:1d0c166d7f]. Como podemos, em Delphi, usufruir de tecnologias como esta para melhorar cada vez mais nossos aplicativos?

Tenho participado ativamente do [url=http://forumgdh.net/index.php]FórumGDH[/url] onde existem duas comunidades que discutem sobre [url=http://forumgdh.net/viewforum.php?f=32]FireFox[/url] e [url=http://forumgdh.net/viewforum.php?f=33]Thunderbird[/url]. Perguntei por curiosidade qual linguagem são desenvolvidos os aplicativos. São em C/C++ e suas intefaces em XUL como já havia mencionado.

[quote:1d0c166d7f=´Veja mais´]

[url=http://forumgdh.net/viewtopic.php?t=294598&highlight=]Curiosidade: Em qual(s) linguagem(ns) o FF e o TB são feitos[/url]

Código que forma a base (e que precisa ser rápido) é em C++:
http://lxr.mozilla.org/mozilla1.8/source/content/base/src/nsHTMLContentSerializer.cpp

Já o que pode ser feito através da plataforma Mozilla é JavaScript:
http://lxr.mozilla.org/mozilla1.8/source/browser/base/content/browser.js

Tem tambem em C. Nesse caso o próprio JavaScript. Smile
http://lxr.mozilla.org/mozilla1.8/source/js/src/jsgc.c (foi modificado ontem)

Esses arquivos são do Fx2
[/quote:1d0c166d7f]

Imagina desenvolver sistemas onde você possa trabalhar em paralelo com XUL desenvolvendo pequenas extensões para atender um ou outro cliente? Ou seja, ao invés da manutenção ficar focada totalmente em cima do executável vc faz apenas grandes atualizações no fonte o restante fica por conta das ´interfaces´ XUL, assim vc ´personaliza´ o software a medida que seu cliente solicita. Legal a idéia né?


Responder

Gostei + 0

16/06/2006

Adriano Santos

Pelo que deu pra entender, XUL é pra aplicações web, e não tem nenhum segredo.


Não [b:041dfccfd4]agsilva[/b:041dfccfd4], não é só WEB, pois como disse o Thunderbird e Firefox utilizam XUL para modelar e até criar novas funcionalidades no aplicativo. E sabemos que ambos são aplicativos desktop. Existe um termo usado por esta técnica chamado de [url=http://pt.wikipedia.org/wiki/Widget]widget[/url] que consiste em [i:041dfccfd4]componentes de interface gráfica com o usuário[/i:041dfccfd4] (fonte: Wikipédia).

Outros trechos sobre Widget:

[quote=´Widget´]
[i:041dfccfd4]Qualquer item de uma interface gráfica é chamada de widget...[/i:041dfccfd4]
[i:041dfccfd4]Outro ponto que pode ser colocado como Widgets são pequenas janelas que ficam no desktop[/i:041dfccfd4]


Responder

Gostei + 0

16/06/2006

Adriano Santos

Sobre Widget:

http://pt.wikipedia.org/wiki/Widget


Responder

Gostei + 0

16/06/2006

Massuda

Tem algo parecido no .NET 3.0...

http://en.wikipedia.org/wiki/XAML


Responder

Gostei + 0

16/06/2006

Adriano Santos

Tem algo parecido no .NET 3.0... http://en.wikipedia.org/wiki/XAML


Ou em português: http://pt.wikipedia.org/wiki/XAML

Legal isso hein Massuda?


Responder

Gostei + 0

16/06/2006

Agsilva

[quote:64c6b85bdf=´Adriano Santos´]
Pelo que deu pra entender, XUL é pra aplicações web, e não tem nenhum segredo.


Não [b:64c6b85bdf]agsilva[/b:64c6b85bdf], não é só WEB, pois como disse o Thunderbird e Firefox utilizam XUL para modelar e até criar novas funcionalidades no aplicativo. E sabemos que ambos são aplicativos desktop. Existe um termo usado por esta técnica chamado de [url=http://pt.wikipedia.org/wiki/Widget]widget[/url] que consiste em [i:64c6b85bdf]componentes de interface gráfica com o usuário[/i:64c6b85bdf] (fonte: Wikipédia).

Outros trechos sobre Widget:

[i:64c6b85bdf]Qualquer item de uma interface gráfica é chamada de widget...[/i:64c6b85bdf] [i:64c6b85bdf]Outro ponto que pode ser colocado como Widgets são pequenas janelas que ficam no desktop[/i:64c6b85bdf]
[/quote:64c6b85bdf]

Opa, foi falta de atenção minha mesmo quanto a utilização em desktop.

Só não entendi uma coisa: qual seria a utilização/benefício dessa tecnologia? Haveria um melhor separação de camadas da aplicação, não misturando negócios com visualização (isso acontece com Java utilizando o padrão de arquitetura MVC)?

:wink:


Responder

Gostei + 0

16/06/2006

Agsilva

[quote:f596dd16ef=´Adriano Santos´]
Cara... tipo... será que tem como eu usar esse XUL nas minhas aplicações!? Será que alguem já tentou isso? :D


É ai que quero chegar [b:f596dd16ef]titanius[/b:f596dd16ef]. Como podemos, em Delphi, usufruir de tecnologias como esta para melhorar cada vez mais nossos aplicativos?

Tenho participado ativamente do [url=http://forumgdh.net/index.php]FórumGDH[/url] onde existem duas comunidades que discutem sobre [url=http://forumgdh.net/viewforum.php?f=32]FireFox[/url] e [url=http://forumgdh.net/viewforum.php?f=33]Thunderbird[/url]. Perguntei por curiosidade qual linguagem são desenvolvidos os aplicativos. São em C/C++ e suas intefaces em XUL como já havia mencionado.

[quote:f596dd16ef=´Veja mais´]

[url=http://forumgdh.net/viewtopic.php?t=294598&highlight=]Curiosidade: Em qual(s) linguagem(ns) o FF e o TB são feitos[/url]

Código que forma a base (e que precisa ser rápido) é em C++:
http://lxr.mozilla.org/mozilla1.8/source/content/base/src/nsHTMLContentSerializer.cpp

Já o que pode ser feito através da plataforma Mozilla é JavaScript:
http://lxr.mozilla.org/mozilla1.8/source/browser/base/content/browser.js

Tem tambem em C. Nesse caso o próprio JavaScript. Smile
http://lxr.mozilla.org/mozilla1.8/source/js/src/jsgc.c (foi modificado ontem)

Esses arquivos são do Fx2
[/quote:f596dd16ef]

Imagina desenvolver sistemas onde você possa trabalhar em paralelo com XUL desenvolvendo pequenas extensões para atender um ou outro cliente? Ou seja, ao invés da manutenção ficar focada totalmente em cima do executável vc faz apenas grandes atualizações no fonte o restante fica por conta das ´interfaces´ XUL, assim vc ´personaliza´ o software a medida que seu cliente solicita. Legal a idéia né?[/quote:f596dd16ef]

Não conheço a linguagem C, mas pelo que parece ela não tem suporte/componentes para interface gráfica com o usuário. O resultado é em linha de comando, ou estou enganado? Se isso for verdadeiro, então fica fácil entender a adoção do XUL em aplicações desenvolvidas em C. Agora, em C++, não vejo real necessidade, bem como em Delphi, Java, etc.. Agora, a coisa muda se o que você disse é verdadeiro, isto é, você importa-se apenas com as regras de negócio da aplicação, enquanto o XUL cuida da interface com o usuário pra você.

:roll:


Responder

Gostei + 0

16/06/2006

Adriano Santos

Opa, foi falta de atenção minha mesmo quanto a utilização em desktop.

Sem problemas. :wink:

Só não entendi uma coisa: qual seria a utilização/benefício dessa tecnologia? Haveria um melhor separação de camadas da aplicação, não misturando negócios com visualização (isso acontece com Java utilizando o padrão de arquitetura MVC)?


A separação de regras de negócios e design seria uma das vantagens, isso se o programador não estiver usando n-tier (multi-camadas) porque neste caso não seria interessante.

Porém vejo de outra forma. Vou dar um exemplo de utilização de extensões no Thunderbird.
Recebo um grande volume de emails diariamente e por isso necessito ter o leitor aberto o dia todo.

Preciso ter no mínimo Delphi, IbExpert e o Thunder abertos. O Thunder não tem um esquema para minimizar a aplicação para a bandeja do Windows, por isso existe uma extensão que agrega esta funcionalidade ao TB. Basta abrir o programa e mandar minimizar. Show, tenho uma janela aberta a menos e ainda por cima recebo minhas mensagens tranquilamente.

Essa é uma funcionalidade simples, e talvez desnecessária para alguns. Mas em um software comercial poderia significar uma nova funcionalidade para um determinado cliente. Vc manda somente a extensão para o cara e ele instala, sem precisar alterar e enviar o executável original.


Responder

Gostei + 0

16/06/2006

Adriano Santos

[b:e20b6d667f]agsilva[/b:e20b6d667f] foi mais rápido que Eu, estava respondendo a sua pergunta anterior quando confirmei e chegou esta. A resposta será parecida.

Não conheço a linguagem C, mas pelo que parece ela não tem suporte/componentes para interface gráfica com o usuário. O resultado é em linha de comando, ou estou enganado?

Conheço bem pouco de C, pra falar a verdade só o conceito e a sintax.
Até onde sei você está correto. Não há suporte a componentes visuais.
Se não me engano o [b:e20b6d667f]Massuda[/b:e20b6d667f] conhece C, não tenho certeza.

Se isso for verdadeiro, então fica fácil entender a adoção do XUL em aplicações desenvolvidas em C. Agora, em C++, não vejo real necessidade, bem como em Delphi, Java, etc.. Agora, a coisa muda se o que você disse é verdadeiro, isto é, você importa-se apenas com as regras de negócio da aplicação, enquanto o XUL cuida da interface com o usuário pra você.


Veja, novamente o caso aqui não é só Visual, não é só design. Não estudei XUL ainda, estou lendo algumas coisas. O pouco que li me diz que posso não somente desenvolver um novo layout como também janelas com funções e procedimentos novos.

[quote:e20b6d667f=´Dois tópicos que postei na comunidade da Mozilla´]
[url=http://forumgdh.net/viewtopic.php?t=294598&highlight=]Curiosidade: Em qual(s) linguagem(ns) o FF e o TB são feitos[/url]
[url=http://forumgdh.net/viewtopic.php?p=2275254#2275254][OT] Desenvolver Plug-ins, como?[/url]
[/quote:e20b6d667f]


Responder

Gostei + 0

16/06/2006

Titanius

Se conseguisse isso no Delphi ficaria muito bom... :D

agora mexer com .NET.. vixi... outra historia... hehe...

[]s


Responder

Gostei + 0

16/06/2006

Adriano Santos

...vixi... outra historia... hehe...


[b:365efa5066]titanius[/b:365efa5066] o q vc quis dizer com o ´vixi...outra historia...´? :lol:
Depois que participei do evento Webdays e vi .NET e como desenvolver com ele, fiquei com uma visão bastante diferenciada sobre o assunto. Hoje vejo a tecnologia com outros olhos, não que eu vá migrar agora ou daqui 10 anos, mas está tudo mais claro.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar