24.11.06

Curso de Ruby On Rails em São Paulo

A Caelum está oferecendo o curso: Desenvolvimento ágil para Web 2.0 com Ruby on Rails.

Veja o conteúdo da apostila:

O nosso problema: o sistema de restaurantes
Primeira aplicação com Rails: gerando a aplicação a partir do modelo
Conhecendo o RadRails
Controllers: mudando nossa lógica de negócios
ActiveRecord: persistindo nossas informações
O RHTML
Validação
Ajax fácil com RJS
Completando nossa aplicação: mais entidades e telas
Integração com Java.
O projeto JRuby e o futuro do Ruby e Rails
(apêndice) Engines

Pré-requisitos:
lógica de programação e conhecimento de alguma linguagem procedural (visual basic, delphi, c, php, etc)

--------------------------------------------------

contato@caelum.com.br
(11) 5571-2751 ou 5083-3884
Rua vergueiro, 3185, cj 51/55/57, São Paulo. CEP 04101-300.
Próximo ao metro Vila Mariana.
Atendimento de segunda a sexta das 9:00 às 19:00 e sábados das 8:00 às 11:00



21.11.06

Começando do começo ...

A maioria das linguaguens de programação modernas adotaram o modelo da Orientação a Objetos (OOP) e com a Ruby não seria diferente. A maioria dos programadores a considera uma linguagem "elegante", fácil usar, e até prazeirosa de se programar. Tudo em Ruby é um objeto; não há nenhuma exceção.

Enquanto Ruby é orientada a objeto, você também pode usar Ruby para fazer programação processual.

Alguns detalhes sobre a linguaguem:

Programação de Interpretação
Não há necessidade de compilar arquivos; você pode editar seu arquivo e já executá-lo logo em seguida. O ciclo de desenvolvimento é mais rápido que o das linguagens já pré-estabelecidas no mercado.

Programação dinâmica
Quase tudo em Ruby roda em runtime (tempo de execução). Tipos de variáveis e expressões são determinados em runtime como as classes e definições de método. Você pode gerar programas até mesmo dentro de programas e pode executá-los.

Sintaxe familiar
Se você já tiver programado em Java, Perl, Python, C/C++, ou Smalltalk , com certeza irá aprender Ruby com maior facilidade. A seguinte função fatorial ilustra de forma simples como você pode decifrar seu significado facilmente:

def factorial(n)
if n == 0
return 1
else
return n * factorial(n-1)
end
end

Bibliotecas de Classes
Ruby vem com uma grande biblioteca de classes que cobrem uma variedade de domínios, de tipos básicos de dados (strings, arrays, e hashes) para rede e desenvolvimento. O programa logo abaixo retorna uma string com a hora atual do local host através de conexão com o sockete de rede:

require "socket"
print TCPSocket.open("localhost","daytime").gets

Portabilidade
Ruby executa nos principais sistemas operacionais como: WINDOWS, OS X, LINUX, DOS, OS/2 etc. Assim como o java, ele roda em quaisquer plataformas sem necessidade de modificações.



O que é Ruby?

Para explicar o que é Ruby, eu faço uma tradução livre do que Yukihiro “Matz” Matsumoto, seu criador, diz a respeito dela em http://www.ruby-lang.org/en/20020101.html:

Ruby é uma linguagem de script interpretada para programação orientada a objetos de um modo fácil e rápido. Ela tem vários recursos para processar arquivos de texto e para fazer tarefas de gerenciamento de sistema (assim como o Perl). Ela é simples, direto ao ponto, extensível e portável.

Oh, preciso mencionar, é totalmente livre, o que significa não só livre de precisar pagar para usá-la, mas também a liberdade de usar, copiar, modificar e distribuí-la.

Recursos do Ruby

- Ruby tem uma sintaxe simples, parcialmente inspirada por Eiffel e Ada.
- Ruby tem recursos de tratamento de exceções, assim como Java e Python, para deixar mais fácil o tratamento de erros.
- Os operadores do Ruby são açucar sintático para os métodos. Você pode redefini-los facilmente.
- Ruby é uma linguagem completa e pura orientada a objetos. Isso significa que todo dado em Ruby é um objeto, não do jeito de Python e Perl, mas mais do jeito do SmallTalk: sem exceções. Por exemplo, em Ruby, o número 1 é uma instância da classe Fixnum.
- A orientação a objetos do Ruby é desenhada cuidadosamente para ser completa e aberta a melhorias.
Por exemplo, Ruby tem a habilidade de adicionar métodos em uma classe, ou até mesmo
em uma instância durante o runtime! Então, se necessário, a instância de uma classe *pode* se comportar diferente de outras instâncias da mesma classe.
- Ruby tem herança única, de propósito. Mas entende o conceito de módulos (chamados de Categorias no Objective-C). Módulos são coleções de métodos. Toda classe pode importar um módulo e pegar seus métodos. Alguns de nós acham que isso é um jeito mais limpo do que herança múltipla, que é complexa e não é usada tanto comparado com herança única (não conte C++ aqui, pois lá não se tem muita escolha devido a checagem forte de tipo!).
- Ruby tem closures verdadeiras. Não apenas funções sem nome, mas com bindings de variáveis verdadeiras.
- Ruby tem blocos em sua sintaxe (código delimitado por ’{’. . . ’}’ ou ’do’. . . ’end’). Esses blocos podem ser passados para os métodos, ou convertidos em closures.
- Ruby tem um garbage collector que realmente é do tipo marca-e-limpa. Ele atua em todos os objetos do Ruby. Você não precisa se preocupar em manter contagem de referências em libraries externas. É melhor para a sua saúde.

Autor: Yukihiro “Matz” Matsumoto
Traduzidor por: Eustáquio “TaQ” Rangel (eustaquiorangel@yahoo.com)



Sejam bem vindos!

Olá caros amigos programadores e/ou futuros programadores.

Este blog se destina a publicação de artigos, códigos-fonte e todo tipo de material referente a promissora linguaguem orientada a objetos Ruby on Rails.

Interessei-me por ela após ficar sabendo atráves de um amigo que foi a uma palestra onde fizeram uma comparação: Ruby vs Java.

O mesmo código que foi desenvolvido em Java em 20 minutos, foi feito em 5 com Ruby. A partir de então resolvi estudar a linguagem e aprender cada vez mais sobre ela.

Vou deixar aqui a princípio algumas referências:

www.rubyonrails.com (inglês)
www.ruby-lang.org (inglês)
www.rubyonrails.com.br (português)
www.eustaquiorangel.com (portuguÊs)
http://kb.reflectivesurface.com/br/tutoriais/rubyOnRails/ (tutorial em pdf Português)
www.orkut.com (procure pela comunidade Ruby On Rails)

Existem mais algumas referências em português que não me recordo agora ... assim que for lembrando publico aqui.