veronicaveronica:
O Ruby tem alguma coisa no meio do caminho chamdo RAILS ROUTER, o que é isso?
Ele é como se fosse uma JVM?
Obrigada,
Bom, vamos lá. Nessa sopa de letrinhas nós precisamos diferenciar linguagem de framework.
Ruby é uma linguagem de programação como outra qualquer. Você pode escrever aplicativos console, com interface gráfica etc.
Ruby on Rails é um framework Web desenvolvido sobre a linguagem Ruby. É um conjunto de bibliotecas, padrões e ferramentas que formam o “esqueleto” de uma aplicação completa. Os frameworks trazem uma série de funcionalidades prontas que são comuns a qualquer aplicação, do contrário, você precisaria refazer essas funcionalidades a cada aplicação.
Uma delas seria o mapeamento entre URLs e as classes e métodos da sua aplicação.
Vamos tomar como exemplo um site comum www.veronica.com.br, em um servidor Web “seco”. Imagine que você faça a seguinte navegação: www.veronica.com.br/secoes/fotos.html.
O navegador gera a seguinte requisição:
GET /secoes/fotos.html
Host: www.veronica.com.br
Ao chegar no servidor, este vai procurar no sistema de arquivos algum diretório que corresponda ao site, e dentro desse diretório ele vai procurar o sub-diretório /secoes e em seguida o arquivo fotos.html.
Pois bem, uma aplicação Web precisa mais do que servir arquivos. Da mesma maneira que um servidor Web comum faz o mapeamento de um endereço URL para um arquivo no servidor, uma aplicação Web precisa fazer o mapeamento entre um
endereço URL e uma sub-rotina, geralmente uma classe e um método. Você poderia, apenas com a linguagem Ruby abrir a
porta TCP 80, receber o texto da requisição e fazer esse mapeamento com if’s e else’s. Porém, para grandes aplicações o
código ficaria ilegível, além de você ter que refazer essa tarefa para cada nova aplicação. Já os frameworks incluem bibliotecas
pra fazer essa tarefa pra você, tudo o que você tem que fazer é aprender o padrão utilizado no framework.