SlideShare una empresa de Scribd logo
1 de 63
+
            no
    Ruby

    Desktop




                 Marcelo Castellani

                 Ruby + Rails no mundo real 2009
+
    Ok, Rails
+
    Por incrível que pareça, o Ruby
    existe desde muito antes do Rails !!!!
    (acredite, é verdade, Rails é apenas uma aplicação escrita em Ruby)
+
    O que será apresentado nesta
    palestra?
        FXRuby
    

        GTK
    

        RubyCocoa
    

        Shoes
    
+
    The 2008 Ruby GUI Survey
    AlexFenton
+
    The 2008 Ruby GUI Survey

        Pesquisa realizada por AlexFenton em 2008, com 399
    
        desenvolvedores de todo o mundo.

        O objetivo foi identificar o melhor, o mais simples e o mais
    
        usado toolkit para o desenvolvimento de aplicações GUI.

         Interface gráfica do usuário (GUI) é um tipo de interface do
    
        usuário que permite a interação com dispositivos digitais
        através de elementos gráficos como ícones e outros
        indicadores visuais, em contraste a interface de linha de
        comando.
+
    The 2008 Ruby GUI Survey

        A interação é feita geralmente através do mouse, teclado ou
    
        dispositivos especiais (como touchscreen), com os quais o
        usuário é capaz de selecionar símbolos e manipulá-los de
        forma a obter algum resultado prático.

        Esses símbolos são designados de widgetse são agrupados
    
        em toolkits.
+
    Widgets

        Um widget é um componente de uma interface gráfica do
    

        utilizador (GUI), o que inclui janelas, botões, menus, ícones,
        barras de rolagem, etc..

        Alguns widgets tem por objetivo receber dados do usuário e
    

        com isso gerar algum tipo de registro, como os controles de
        formulário.

        Componentes como entrada de texto, caixa de seleção,
    

        menu de seleção, botões de múltipla escolha e outros são
        capazes de definir a natureza dos dados a serem coletados,
        e dessa forma enumerar todas as possibilidades de dados a
        serem apresentados pelo usuário.
+
    O que quer dizer widget?

        A primeira referência a essa palavra vêm da peça A
    
        BeggaronHorseback (1924), escrita por George S. Kaufman e
        Marc Connelly, onde o termo representava objetos inanimados
        com um valor puramente mercantil e sem nenhuma ligação
        espiritual ou artística.
+
    Widgets e orientação a objetos

        Todo sistema baseado em interface gráfica do usuário usa
    

        widgets.

        Widgets são um dos mais perfeitos exemplos de orientação a
    

        objetos pois cada um existe isolado e pode ser aproveitado
        dentro de um contexto maior, interagindo com outros, mas
        nunca deixando de ser único → um botão é sempre um
        botão, por exemplo.
+
    Experiência em Ruby
+
    Ruby + GUI?
+
    O que procuram num toolkitRuby?
+
    Qual seu toolkit preferido/em uso?
+
    Qual seu toolkit preferido/em uso?
+
    Conclusões sobre a pesquisa

        A escolha de um toolkit para desenvolvimento de aplicações
    
        desktop usando Ruby passa primeiro pela facilidade de
        distribuição e depois pela disponibilidade de documentação.

        Hoje existe uma fragmentação muito grande, sendo o Shoes o
    
        toolkit mais usado, porém com uma proporção de menos de
        um para cada quatro desenvolvedores.

        O primeiro toolkit para desenvolvimento de aplicações desktop
    
        em Ruby, o TK, está caindo rapidamente em desuso.
+
    Comparando os toolkits

Toolkit       URL                          Recomendado para quais
                                           plataformas?

              
GTK+           http://ruby-                Ambientes baseados em
              gnome2.sourceforge.jp/       Gnome/GTK (Ubuntu e
                                           OpenSolaris, por exemplo).
              
FXRuby         http://www.fxruby.org/      Windows 2000, XP, Vista e 7


              
RubyCocoa /    http://www.rubycocoa.com/   Mac OS X
MacRuby

              
Shoes          http://shoooes.net/         Windows 2000, XP, Vista, 7,
                                           Linux diversos e Mac OS
+
    RubyGtk+
    Especialmente para ambientes Gtk, como o Ubuntu, OpenSolaris e
    BSD.
+ O que é GTK?


     GTK+ é um toolkit multi-plataforma para a criação de interfaces
 

     gráficas. Ele foi desenvolvido para o GIMP. Por isso foi batizado de
     GIMP toolkit, com abreviação GTK+.

     O GTK+ é muito popular, sendo usado em um grande número de
 

     aplicações e no ambiente de desktop GNOME (que por sua vez
     também é muito popular).

     GTK+ é escrito em C e seu design é orientado a objeto. Existem
 

     bindings para construção de programas GTK+ em
     C, C++, Pascal, Perl, Java, Python, Ruby e PHP (PHP-GTK).
+ Aparência e ambientes


     O toolkit é configurável pelo usuário e oferece muitas opções de
 

     engines. Há engines emulando a aparência de outros populares
     toolkits ou plataformas como Windows 95, Qt, ou NEXTSTEP.

     O ambiente GNOME usa GTK+ como base do seu sistema e
 

     muitos programas para GNOME usam GTK+ como seu Toolkit.

     Em dispositvos móveis, o GTK+ é usado como base de ambientes
 

     como o GPE Palmtop e o Maemo.

     GTK+ também pode ser usado no Microsoft Windows e outros
 

     menos usuais como framebuffer e ncurses.

     Apesar de ser preferencialmente usado no GNOME, os programas
 

     GTK+ geralmente rodam sem problemas em outros ambientes
     como KDE, Xfce ou FluxBox.
+ GIMP = GnuImageManipulationProgram
+ Gtk + Ruby


     Para usar o Gtk no Ruby basta usar o pacote GTK, disponível junto
 

     a maior parte das distribuições Ruby.

     Caso esteja desenvolvendo para ambiente Windows é importante
 

     instalar as bibliotecas do GTK, para que sua aplicação
     efetivamente funcione.

     Para instalar as bibliotecas do Ruby e GTK no ambiente Windows
 

     visite o link abaixo, para mais informações:

               http://ruby-gnome2.sourceforge.jp/
+ Exemplo de código
+ Resultado da execução




                      Uma janela Gtk
+ Tratando os sinais – parte 1
 # inclui suporte a Gtk no projeto
 require 'gtk2'

 # evento de exclusão de widgets
 def delete_event(widget)
   return false
 end

 # fim do programa
 def destroy(widget)
   Gtk.main_quit
 end

 # inicia o engine do Gtk
 Gtk.init

 # cria uma nova janela
 janela = Gtk::Window.new(Gtk::Window::TOPLEVEL)
 janela.set_default_size(400, 300)
 janela.title= quot;Alô, mundo => GTK + Rubyquot;
 janela.signal_connect(quot;delete_eventquot;) { delete_event(janela) }
 janela.signal_connect(quot;destroyquot;) { destroy(janela) }
+ Tratando os sinais – parte 2
 # cria uma caixa para ordenar nossos objetos
 box = Gtk::VBox.new(false, 0)
 janela.add(box)

 # cria um botão e um label
 botao = Gtk::Button.new(quot;Saudaçãoquot;)
 rotulo = Gtk::Label.new(quot;quot;)

 # adiciono o evento ao botão
 botao.signal_connect(quot;clickedquot;) { rotulo.label = quot;Olá, mundoquot; }

 # mostra os componentes e a janela
 box.pack_start(botao, true, true, 5)
 box.pack_start(rotulo, true, true, 5)
 botao.show
 rotulo.show
 box.show
 janela.show

 # passa o controle pro Gtk
 Gtk.main
+ Resultado da execução




                          Clique no botão
+ Pra onde ir agora?


   http://ruby-gnome.sourceforge.net/tutorial/

   http://ruby-gnome2.sourceforge.jp/hiki.cgi?tut-gtk

   http://www.webdotdev.com/nvd/content/view/1608/1/
+
    FXRuby
    Especialmente para ambiente Microsoft, nos Windows
    2000, XP, Vista e 7
+
    O que é o FXRuby

        FXRuby é uma GEM que incorpora o toolkit multiplataforma
    
        Fox, usado para o desenvolvimento de aplicações GUI em C e
        C++.

        Existem ports do Fox para outras linguagens, como o FxPy
    
        (Python) e o EiffelFox (para Eiffel).

        O Fox é um toolkit extremamente poderoso e flexível, que
    
        permite a construção de interfaces poderosas. Existem
        aplicativos complexos inteiros feitos em Ruby e FXRuby dado
        seu poder.
+
    BeERP – Sistema ERP
    Comercial
+
    BeERP – Sistema ERP
    Comercial
+
    FreeRIDE – Free Ruby IDE
+ Discretizer –
 interactivemeshcreationtool
+
    Fox GUI Builder
+
    Links

        http://freeride.rubyforge.org/wiki/wiki.pl
    

        http://www.attiksystem.ch/beerp/
    

        http://www.discretizer.org/
    

        http://fox-tool.rubyforge.org/
    
+
    Hello World
+
    Scribble
+
    Scribble – botão
+
    Scribble
+
    Imagem e Canvas
+
    FXTable
+
    FxGL

        Poderosa API para a criação de aplicações OpenGL com Ruby.
    
+
    Hello OpenGL
+
    Algo mais complexo
+
    rubyscript2exe.rb

        Script para criar “executáveis” para Win32 a partir de scripts Ruby.
    

        Ele, na verdade, cria um arquivo .exe que possui a Máquina Virtual
    
        do Ruby, as bibliotecas necessárias para execução e também o
        script.

        Integra-se perfeitamente ao FXRuby, de maneira que é possível
    
        distribuir facilmente uma aplicação inteira.

        Um inconveniente é que os executáveis gerados ficam enormes.
    
        Um script de 5KB, após ser processado, chega a 4MB.
+
    Para onde ir agora?

     http://www.fxruby.org/

     http://www.fox-toolkit.org/

     http://www.pragprog.com/titles/fxruby
+
    RubyCocoa e MacRuby
    Exclusivamente para usuários de Mac
+
    O queé Cocoa,
    RubyCocoaeMacRuby?
        Cocoa é o toolkit para o desenvolvimento de aplicações GUI
    
        para o Mac OS X, usando Objective-C e o X-Code.

        RubyCocoa é um port para o uso da linguagem Ruby para o
    
        desenvolvimento de aplicações para Mac OS X.

        MacRuby é a evolução do RubyCocoa e que será lançado em
    
        breve (em 2009, acredito).
+
    RubyCocoa versus MacRuby


    RubyCocoa




                               MacRuby
+
    O queprecisoparadesenvolverem
    Ruby parameu Mac?
        XCode
    

        Interface Builder
    

        Ruby
    
+
    XCode
+
    Interface Builder
+
    Novo projeto no XCode
+
    Para onde ir agora?

 http://www.pragprog.com/titles/bmrc/rubycocoa

 http://www.rubycocoa.com/

 http://developer.apple.com/cocoa

 http://www.macruby.org/
+
    Shoes
    Shoesis for everyone
+
    O queéo Shoes?

        É uma biblioteca gráfica criada pelo __why, theluckystiff, uma
    
        das personalidades mais conhecidas do universo
        Ruby, principalmente pelo seu excelente guia de Ruby e pelo
        TryRuby.
+
    Shoesé simples
+
    Shoesé inteligente
+
    Shoesé poderoso
+
    Shoesé multiplataforma
+
    Para onde ir agora?

 http://en.wikipedia.org/wiki/Shoes_(GUI_toolkit)

 http://shoooes.net/

 http://hackety.org/press/
+
    Obrigado.
    marcelo@hypequino.com

Más contenido relacionado

Similar a Ruby GUI toolkits comparison

Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazTchelinux
 
Linux, distribuições e comandos
Linux, distribuições e comandosLinux, distribuições e comandos
Linux, distribuições e comandosVirgínia
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010Wagner Reck
 
Criando aplicações com PHP-GTK
Criando aplicações com PHP-GTKCriando aplicações com PHP-GTK
Criando aplicações com PHP-GTKPablo Dall'Oglio
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresTchelinux
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell ScriptReinaldo Lima
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias WebRildo Pragana
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTSandro Andrade
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 

Similar a Ruby GUI toolkits comparison (20)

Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
 
Linux, distribuições e comandos
Linux, distribuições e comandosLinux, distribuições e comandos
Linux, distribuições e comandos
 
Php Gtk
Php GtkPhp Gtk
Php Gtk
 
Qt tchelinux-2010
Qt tchelinux-2010Qt tchelinux-2010
Qt tchelinux-2010
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
Criando aplicações com PHP-GTK
Criando aplicações com PHP-GTKCriando aplicações com PHP-GTK
Criando aplicações com PHP-GTK
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
Programação em Shell Script
Programação em Shell ScriptProgramação em Shell Script
Programação em Shell Script
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Intro linux
Intro linuxIntro linux
Intro linux
 
Aplicações com Tecnologias Web
Aplicações com Tecnologias WebAplicações com Tecnologias Web
Aplicações com Tecnologias Web
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
 
Delphi6bd
Delphi6bdDelphi6bd
Delphi6bd
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 

Ruby GUI toolkits comparison

  • 1. + no Ruby Desktop Marcelo Castellani Ruby + Rails no mundo real 2009
  • 2. + Ok, Rails
  • 3. + Por incrível que pareça, o Ruby existe desde muito antes do Rails !!!! (acredite, é verdade, Rails é apenas uma aplicação escrita em Ruby)
  • 4. + O que será apresentado nesta palestra? FXRuby  GTK  RubyCocoa  Shoes 
  • 5. + The 2008 Ruby GUI Survey AlexFenton
  • 6. + The 2008 Ruby GUI Survey Pesquisa realizada por AlexFenton em 2008, com 399  desenvolvedores de todo o mundo. O objetivo foi identificar o melhor, o mais simples e o mais  usado toolkit para o desenvolvimento de aplicações GUI.  Interface gráfica do usuário (GUI) é um tipo de interface do  usuário que permite a interação com dispositivos digitais através de elementos gráficos como ícones e outros indicadores visuais, em contraste a interface de linha de comando.
  • 7. + The 2008 Ruby GUI Survey A interação é feita geralmente através do mouse, teclado ou  dispositivos especiais (como touchscreen), com os quais o usuário é capaz de selecionar símbolos e manipulá-los de forma a obter algum resultado prático. Esses símbolos são designados de widgetse são agrupados  em toolkits.
  • 8. + Widgets Um widget é um componente de uma interface gráfica do  utilizador (GUI), o que inclui janelas, botões, menus, ícones, barras de rolagem, etc.. Alguns widgets tem por objetivo receber dados do usuário e  com isso gerar algum tipo de registro, como os controles de formulário. Componentes como entrada de texto, caixa de seleção,  menu de seleção, botões de múltipla escolha e outros são capazes de definir a natureza dos dados a serem coletados, e dessa forma enumerar todas as possibilidades de dados a serem apresentados pelo usuário.
  • 9. + O que quer dizer widget? A primeira referência a essa palavra vêm da peça A  BeggaronHorseback (1924), escrita por George S. Kaufman e Marc Connelly, onde o termo representava objetos inanimados com um valor puramente mercantil e sem nenhuma ligação espiritual ou artística.
  • 10. + Widgets e orientação a objetos Todo sistema baseado em interface gráfica do usuário usa  widgets. Widgets são um dos mais perfeitos exemplos de orientação a  objetos pois cada um existe isolado e pode ser aproveitado dentro de um contexto maior, interagindo com outros, mas nunca deixando de ser único → um botão é sempre um botão, por exemplo.
  • 11. + Experiência em Ruby
  • 12. + Ruby + GUI?
  • 13. + O que procuram num toolkitRuby?
  • 14. + Qual seu toolkit preferido/em uso?
  • 15. + Qual seu toolkit preferido/em uso?
  • 16. + Conclusões sobre a pesquisa A escolha de um toolkit para desenvolvimento de aplicações  desktop usando Ruby passa primeiro pela facilidade de distribuição e depois pela disponibilidade de documentação. Hoje existe uma fragmentação muito grande, sendo o Shoes o  toolkit mais usado, porém com uma proporção de menos de um para cada quatro desenvolvedores. O primeiro toolkit para desenvolvimento de aplicações desktop  em Ruby, o TK, está caindo rapidamente em desuso.
  • 17. + Comparando os toolkits Toolkit URL Recomendado para quais plataformas?  GTK+ http://ruby- Ambientes baseados em gnome2.sourceforge.jp/ Gnome/GTK (Ubuntu e OpenSolaris, por exemplo).  FXRuby http://www.fxruby.org/ Windows 2000, XP, Vista e 7  RubyCocoa / http://www.rubycocoa.com/ Mac OS X MacRuby  Shoes http://shoooes.net/ Windows 2000, XP, Vista, 7, Linux diversos e Mac OS
  • 18. + RubyGtk+ Especialmente para ambientes Gtk, como o Ubuntu, OpenSolaris e BSD.
  • 19. + O que é GTK? GTK+ é um toolkit multi-plataforma para a criação de interfaces  gráficas. Ele foi desenvolvido para o GIMP. Por isso foi batizado de GIMP toolkit, com abreviação GTK+. O GTK+ é muito popular, sendo usado em um grande número de  aplicações e no ambiente de desktop GNOME (que por sua vez também é muito popular). GTK+ é escrito em C e seu design é orientado a objeto. Existem  bindings para construção de programas GTK+ em C, C++, Pascal, Perl, Java, Python, Ruby e PHP (PHP-GTK).
  • 20. + Aparência e ambientes O toolkit é configurável pelo usuário e oferece muitas opções de  engines. Há engines emulando a aparência de outros populares toolkits ou plataformas como Windows 95, Qt, ou NEXTSTEP. O ambiente GNOME usa GTK+ como base do seu sistema e  muitos programas para GNOME usam GTK+ como seu Toolkit. Em dispositvos móveis, o GTK+ é usado como base de ambientes  como o GPE Palmtop e o Maemo. GTK+ também pode ser usado no Microsoft Windows e outros  menos usuais como framebuffer e ncurses. Apesar de ser preferencialmente usado no GNOME, os programas  GTK+ geralmente rodam sem problemas em outros ambientes como KDE, Xfce ou FluxBox.
  • 21. + GIMP = GnuImageManipulationProgram
  • 22. + Gtk + Ruby Para usar o Gtk no Ruby basta usar o pacote GTK, disponível junto  a maior parte das distribuições Ruby. Caso esteja desenvolvendo para ambiente Windows é importante  instalar as bibliotecas do GTK, para que sua aplicação efetivamente funcione. Para instalar as bibliotecas do Ruby e GTK no ambiente Windows  visite o link abaixo, para mais informações: http://ruby-gnome2.sourceforge.jp/
  • 23. + Exemplo de código
  • 24. + Resultado da execução Uma janela Gtk
  • 25. + Tratando os sinais – parte 1 # inclui suporte a Gtk no projeto require 'gtk2' # evento de exclusão de widgets def delete_event(widget) return false end # fim do programa def destroy(widget) Gtk.main_quit end # inicia o engine do Gtk Gtk.init # cria uma nova janela janela = Gtk::Window.new(Gtk::Window::TOPLEVEL) janela.set_default_size(400, 300) janela.title= quot;Alô, mundo => GTK + Rubyquot; janela.signal_connect(quot;delete_eventquot;) { delete_event(janela) } janela.signal_connect(quot;destroyquot;) { destroy(janela) }
  • 26. + Tratando os sinais – parte 2 # cria uma caixa para ordenar nossos objetos box = Gtk::VBox.new(false, 0) janela.add(box) # cria um botão e um label botao = Gtk::Button.new(quot;Saudaçãoquot;) rotulo = Gtk::Label.new(quot;quot;) # adiciono o evento ao botão botao.signal_connect(quot;clickedquot;) { rotulo.label = quot;Olá, mundoquot; } # mostra os componentes e a janela box.pack_start(botao, true, true, 5) box.pack_start(rotulo, true, true, 5) botao.show rotulo.show box.show janela.show # passa o controle pro Gtk Gtk.main
  • 27. + Resultado da execução Clique no botão
  • 28. + Pra onde ir agora?  http://ruby-gnome.sourceforge.net/tutorial/  http://ruby-gnome2.sourceforge.jp/hiki.cgi?tut-gtk  http://www.webdotdev.com/nvd/content/view/1608/1/
  • 29. + FXRuby Especialmente para ambiente Microsoft, nos Windows 2000, XP, Vista e 7
  • 30. + O que é o FXRuby FXRuby é uma GEM que incorpora o toolkit multiplataforma  Fox, usado para o desenvolvimento de aplicações GUI em C e C++. Existem ports do Fox para outras linguagens, como o FxPy  (Python) e o EiffelFox (para Eiffel). O Fox é um toolkit extremamente poderoso e flexível, que  permite a construção de interfaces poderosas. Existem aplicativos complexos inteiros feitos em Ruby e FXRuby dado seu poder.
  • 31. + BeERP – Sistema ERP Comercial
  • 32. + BeERP – Sistema ERP Comercial
  • 33. + FreeRIDE – Free Ruby IDE
  • 34. + Discretizer – interactivemeshcreationtool
  • 35. + Fox GUI Builder
  • 36. + Links http://freeride.rubyforge.org/wiki/wiki.pl  http://www.attiksystem.ch/beerp/  http://www.discretizer.org/  http://fox-tool.rubyforge.org/ 
  • 37. + Hello World
  • 38. + Scribble
  • 39. + Scribble – botão
  • 40. + Scribble
  • 41. + Imagem e Canvas
  • 42. + FXTable
  • 43. + FxGL Poderosa API para a criação de aplicações OpenGL com Ruby. 
  • 44. + Hello OpenGL
  • 45. + Algo mais complexo
  • 46. + rubyscript2exe.rb Script para criar “executáveis” para Win32 a partir de scripts Ruby.  Ele, na verdade, cria um arquivo .exe que possui a Máquina Virtual  do Ruby, as bibliotecas necessárias para execução e também o script. Integra-se perfeitamente ao FXRuby, de maneira que é possível  distribuir facilmente uma aplicação inteira. Um inconveniente é que os executáveis gerados ficam enormes.  Um script de 5KB, após ser processado, chega a 4MB.
  • 47. + Para onde ir agora?  http://www.fxruby.org/  http://www.fox-toolkit.org/  http://www.pragprog.com/titles/fxruby
  • 48. + RubyCocoa e MacRuby Exclusivamente para usuários de Mac
  • 49. + O queé Cocoa, RubyCocoaeMacRuby? Cocoa é o toolkit para o desenvolvimento de aplicações GUI  para o Mac OS X, usando Objective-C e o X-Code. RubyCocoa é um port para o uso da linguagem Ruby para o  desenvolvimento de aplicações para Mac OS X. MacRuby é a evolução do RubyCocoa e que será lançado em  breve (em 2009, acredito).
  • 50. + RubyCocoa versus MacRuby RubyCocoa MacRuby
  • 51. + O queprecisoparadesenvolverem Ruby parameu Mac? XCode  Interface Builder  Ruby 
  • 52. + XCode
  • 53. + Interface Builder
  • 54. + Novo projeto no XCode
  • 55. + Para onde ir agora?  http://www.pragprog.com/titles/bmrc/rubycocoa  http://www.rubycocoa.com/  http://developer.apple.com/cocoa  http://www.macruby.org/
  • 56. + Shoes Shoesis for everyone
  • 57. + O queéo Shoes? É uma biblioteca gráfica criada pelo __why, theluckystiff, uma  das personalidades mais conhecidas do universo Ruby, principalmente pelo seu excelente guia de Ruby e pelo TryRuby.
  • 58. + Shoesé simples
  • 59. + Shoesé inteligente
  • 60. + Shoesé poderoso
  • 61. + Shoesé multiplataforma
  • 62. + Para onde ir agora?  http://en.wikipedia.org/wiki/Shoes_(GUI_toolkit)  http://shoooes.net/  http://hackety.org/press/
  • 63. + Obrigado. marcelo@hypequino.com