MacRuby permite que desenvolvedores Ruby criem aplicativos para Mac OS X usando a linguagem Ruby. O documento discute como MacRuby combina Ruby e Objective-C para permitir que desenvolvedores criem interfaces gráficas e apliquem programação orientada a objetos em aplicativos para Mac. O autor também descreve como usou MacRuby para instalar gems, criar código Objective-C no Xcode e escrever testes em RSpec para seus aplicativos.
43. Recapitulando
Usei MacRuby para instalar gems
Usei o XCode para criar código Objective -C
Para iOS, bastaria usar os ‘retain’ e ‘releases’
Criei specs no editor que já uso com Ruby
Usei a automação de Build para rodar as Specs
Talk sobre MacRuby, Sexy Specs e, dando tempo, um gostinho de HotCocoa.
Trabalho na Labone, recentemento desenvolvimento aplicações para iPad, iPhone e Android.
Existem algumas semelhanças entre as duas linguagens...
Mas com certeza essas semelhanças não estão na sintaxe.
Ruby tem esse “problema”, após ele toda syntaxe parece estranha, e não se expressar direito.
Mas com certeza essas semelhanças não estão na sintaxe.
Ruby tem esse “problema”, após ele toda syntaxe parece estranha, e não se expressar direito.
Mas com certeza essas semelhanças não estão na sintaxe.
Ruby tem esse “problema”, após ele toda syntaxe parece estranha, e não se expressar direito.
Mas com certeza essas semelhanças não estão na sintaxe.
Ruby tem esse “problema”, após ele toda syntaxe parece estranha, e não se expressar direito.
Algum código objective-c comparado com código Ruby
Breve visão sobre semelhanças/diferenças
O MacRuby é uma implementação da linguagem Ruby 1.9 sobre o Objective-C runtime.
A versão 0.6 é considerada estável, a princípio permite construir aplicações cocoa totalmente funcionais.
O projeto é liderado pela própria Apple.
O objetivo principal do projeto é a construção de aplicações para mac OS X
No site do macruby, existe alguma documentação e também o “instalador” que adiciona funcionalidade (templates de projeto) ao Xcode.
Também é possível a instação via rvm.
No site do macruby, existe alguma documentação e também o “instalador” que adiciona funcionalidade (templates de projeto) ao Xcode.
Também é possível a instação via rvm.
No macirb, é possível ver que as classes do Ruby são na verdade classes Objective-C.
Os métodos de ruby são acessíveis e também os de Objective-C.
Também é possível invocar as classes/métodos Objective-C a partir do Ruby.
Também é possível invocar as classes/métodos Objective-C a partir do Ruby.
Também é possível invocar as classes/métodos Objective-C a partir do Ruby.
Cocoa é um “ambiente” de programação baseado em Objective-C,
um conjunto de apis, frameworks...
para desenvolvimento Mac OS X. O MacRuby é “integrado” com Cocoa.
E quanto ao iOS, o s.o. que roda no iPhone no iPad?
Ainda não é possível construir aplicações para iOS usando MacRuby.
Mas os rumores já são muitos de que vem algo por aí.
Recentemente um engenheiro da apple comentou algo sobre, no twitter...
RSpec.
Existem soluções “nativas” no xcode para TDD, mas o RSpec é “outro nível”.
Vamos ver então como fazer para criar as specs executáveis “contra” nosso código Objective-C.
Instalação do RSpec via macirb.
Por enquanto ainda não me aventurei com o RSpec2, shame on me.
passos:
criar novo projeto no xcode
criar uma classe
setar as propriedades do projeto (garbage collection supported)
alterar o script de building do teste (aqui é um script ruby)
O que vou fazer é usar a automação do build que o xcode permite para executar minhas specs.
passos:
criar novo projeto no xcode
criar uma classe
setar as propriedades do projeto (garbage collection supported)
alterar o script de building do teste (aqui é um script ruby)
O que vou fazer é usar a automação do build que o xcode permite para executar minhas specs.
passos:
criar novo projeto no xcode
criar uma classe
setar as propriedades do projeto (garbage collection supported)
alterar o script de building do teste (aqui é um script ruby)
O que vou fazer é usar a automação do build que o xcode permite para executar minhas specs.
passos:
criar novo projeto no xcode
criar uma classe
setar as propriedades do projeto (garbage collection supported)
alterar o script de building do teste (aqui é um script ruby)
O que vou fazer é usar a automação do build que o xcode permite para executar minhas specs.
No diretório /specs/criei um arquivo my_twitter_spec.rb
Vejam que para escrever minhas specs posso usar meu editor favorito.
E então no X Code, ao executar o build, ele falha.
Crio uma classe MyTwitter
E o teste passa.
Agora crio um “should” para uma funcionalidade que minha classe
ainda não tem.
Notem que estou chamando uma classe que foi criada no xcode, em Objective-C (MyTwitter)
E como o esperado o teste falha.
Vejam que agora ele dá os detalhes (que nada mais é que a execução padrão do RSpec).
Implemento meu método.
E meu build fica verdinho novamente.
Testei meu “domínio” criado em objective-c usando somente RSpec! #FTW