Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share

MacRuby Jogo Rapido

  • 1,161 views
Uploaded on

Uma Lightning Talk sobre MacRuby.

Uma Lightning Talk sobre MacRuby.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,161
On Slideshare
1,161
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

  • MacRuby é uma implementação do Ruby 1.9 utilizando a LLVM e tecnologias do Mac OS X. MacRuby é também um projeto open-source da Apple liderado pelo Laurent Sansonetti.

  • MacRuby é uma implementação do Ruby 1.9 utilizando a LLVM e tecnologias do Mac OS X. MacRuby é também um projeto open-source da Apple liderado pelo Laurent Sansonetti.

  • MacRuby é uma implementação do Ruby 1.9 utilizando a LLVM e tecnologias do Mac OS X. MacRuby é também um projeto open-source da Apple liderado pelo Laurent Sansonetti.

  • MacRuby é uma implementação do Ruby 1.9 utilizando a LLVM e tecnologias do Mac OS X. MacRuby é também um projeto open-source da Apple liderado pelo Laurent Sansonetti.

  • MacRuby se diferencia do Ruby “normal” porque sua máquina virtual, suas estratégias de otimização de rotinas, geração de bytecodes e compilação just-in-time são implementados usando a Low-Level Virtual Machine. Uma infraestrutura de compilação super performática que tem esse logotipo maneiro.
  • MacRubuy também é implementado utilizando os frameworks nativos do Mac OS X de uma maneira que não há uma Bridge de um objeto Ruby para Objective-C, a linguagem em que os frameworks de Mac OS X foram escritos.
  • MacRubuy também é implementado utilizando os frameworks nativos do Mac OS X de uma maneira que não há uma Bridge de um objeto Ruby para Objective-C, a linguagem em que os frameworks de Mac OS X foram escritos.
  • Em runtime...
  • Em runtime...
  • Em runtime...

  • Questão filosófica. Mas qual é o objetivo do MacRuby afinal?
  • Questão filosófica. Mas qual é o objetivo do MacRuby afinal?
  • Questão filosófica. Mas qual é o objetivo do MacRuby afinal?
  • Patrick Thomson escreveu uma pequena função para calcular a sequencia de fibonnaci. E ele fez isto nas 3 linguagens, utilizando a mesma estratégia.
  • Patrick Thomson escreveu uma pequena função para calcular a sequencia de fibonnaci. E ele fez isto nas 3 linguagens, utilizando a mesma estratégia.
  • Patrick Thomson escreveu uma pequena função para calcular a sequencia de fibonnaci. E ele fez isto nas 3 linguagens, utilizando a mesma estratégia.
  • Patrick Thomson escreveu uma pequena função para calcular a sequencia de fibonnaci. E ele fez isto nas 3 linguagens, utilizando a mesma estratégia.



















  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?
  • Como assim o MacRuby usou menos linhas se a API do Cocoa é a mesma para Objective-C?




Transcript

  • 1. MacRuby Jogo Rápido RubyConf Brasil 2010
  • 2. O que é MacRuby?
  • 3. O que é MacRuby? • Ruby 1.9
  • 4. O que é MacRuby? • Ruby 1.9 • LLVM
  • 5. O que é MacRuby? • Ruby 1.9 • LLVM • Tecnologias Mac OS X
  • 6. O que é MacRuby? • Ruby 1.9 • LLVM • Tecnologias Mac OS X • Apple Open-source
  • 7. LLVM
  • 8. LLVM
  • 9. Tecnologias Mac OS X
  • 10. Tecnologias Mac OS X • CoreFundation
  • 11. Tecnologias Mac OS X • CoreFundation • CoreGraphics
  • 12. Como Assim?
  • 13. Como Assim? • Um objeto MacRuby é um objeto Obj-C
  • 14. Como Assim? • Um objeto MacRuby é um objeto Obj-C • Uma classe MacRuby é uma classe Obj-C
  • 15. Como Assim? • Um objeto MacRuby é um objeto Obj-C • Uma classe MacRuby é uma classe Obj-C • Um método MacRuby é um método Obj-C
  • 16. Quero ver no console!
  • 17. Quero ver no console! Exemplo no MacIrb.
  • 18. Qual objetivo?
  • 19. Qual objetivo? • Desenvolver para Mac
  • 20. Qual objetivo? • Desenvolver para Mac • Usar Ruby
  • 21. Qual objetivo? • Desenvolver para Mac • Usar Ruby • Manter a Performance
  • 22. Você disse performance? C MacRuby Objective-C
  • 23. Você disse 4 performance? 3 SEGUNDOS 2 1 C MacRuby Objective-C 0 fib(40)
  • 24. Você disse 4 performance? 3 SEGUNDOS 2 1 C MacRuby Objective-C 0 fib(40)
  • 25. Você disse 4 performance? 3 SEGUNDOS 2 1 C MacRuby Objective-C 0 fib(40)
  • 26. Você disse 4 performance? 3 SEGUNDOS 2 1 C MacRuby Objective-C 0 fib(40)
  • 27. Tem mais alguma coisa?
  • 28. Tem mais alguma coisa? • Método framework()
  • 29. Tem mais alguma coisa? • Método framework() ➡ framework ‘Cocoa’
  • 30. Tem mais alguma coisa? • Método framework() ➡ framework ‘Cocoa’ • Keyed Arguments
  • 31. Tem mais alguma coisa? • Método framework() ➡ framework ‘Cocoa’ • Keyed Arguments ➡ Name.initWithFirst(“Diogo”, andLast: “Santos”)
  • 32. Tem mais alguma coisa? • Método framework() ➡ framework ‘Cocoa’ • Keyed Arguments ➡ Name.initWithFirst(“Diogo”, andLast: “Santos”) • Versão 0.7
  • 33. Tem mais alguma coisa? • Método framework() ➡ framework ‘Cocoa’ • Keyed Arguments ➡ Name.initWithFirst(“Diogo”, andLast: “Santos”) • Versão 0.7 ➡ Production-ready
  • 34. O que eu preciso?
  • 35. O que eu preciso? • Sintaxe Objective-C
  • 36. O que eu preciso? • Sintaxe Objective-C • Cocoa
  • 37. O que eu preciso? • Sintaxe Objective-C • Cocoa • XCode Tools
  • 38. O que eu preciso? • Sintaxe Objective-C • Cocoa • XCode Tools • HotCocoa
  • 39. Onde me informar?
  • 40. Onde me informar? • Google: MacRuby
  • 41. Onde me informar? • Google: MacRuby • MacRuby.com
  • 42. Onde me informar? • Google: MacRuby • MacRuby.com • @macruby
  • 43. Onde me informar? • Google: MacRuby • MacRuby.com • @macruby • developer.apple.com
  • 44. WallpaperMenu
  • 45. WallpaperMenu • InterfaceLift.com
  • 46. WallpaperMenu • InterfaceLift.com • Mac OS X menubar
  • 47. WallpaperMenu • InterfaceLift.com • Mac OS X menubar • Wallpapers maneiros
  • 48. WallpaperMenu • InterfaceLift.com • Mac OS X menubar • Wallpapers maneiros • http://github.com/diogosantos/wallpapermenu
  • 49. WallpaperMenu
  • 50. WallpaperMenu Alguém aí gritou que quer ver o WallpaperMenu rodando?
  • 51. WallpaperMenu
  • 52. WallpaperMenu Objective-C
  • 53. WallpaperMenu Objective-C • 354 linhas de código
  • 54. WallpaperMenu Objective-C • 354 linhas de código • Chato e Penoso
  • 55. WallpaperMenu Objective-C • 354 linhas de código • Chato e Penoso
  • 56. WallpaperMenu Objective-C • 354 linhas de código • Chato e Penoso
  • 57. WallpaperMenu Objective-C • 354 linhas de código • Chato e Penoso
  • 58. WallpaperMenu Objective-C MacRuby • 354 linhas de código • Chato e Penoso
  • 59. WallpaperMenu Objective-C MacRuby • 354 linhas de código • 173 linhas de código • Chato e Penoso
  • 60. WallpaperMenu Objective-C MacRuby • 354 linhas de código • 173 linhas de código • Chato e Penoso • Divertido e Inspirador
  • 61. array = [] NSMutableArray *array = [[NSMutableArray alloc] init];
  • 62. “ string”.strip [@“ string” stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]
  • 63. Mac AppStore MacRuby + Idéia Legal = Dinheiro!
  • 64. Obrigado! Diogo Santos • @diogosantos • http://blog.diogosantos.com