Conforme tem acontecido no passado recente, o Pplware tem vindo a noticiar os sucessivos lançamentos da Revista Programar, uma iniciativa sem fins financeiros e com o objectivo de ajudar a comunidade developer deste nosso país, e quem sabe, fora fronteiras.
Assim sendo, é com enorme prazer que anunciamos o lançamento da 30ªedição da Programar.
Vamos ver um pouco mais sobre esta nova edição?
Neste mês de Agosto, por muitos aproveitado para férias, a equipa da Revista PROGRAMAR não descansa e traz-lhe uma nova edição.
Com esta edição começaremos também a premiar os autores dos três melhores artigos. E os leitores devem dar a sua opinião para que possamos premiar correctamente. Para isso vote em http://tiny.cc/ProgramarED30_V.
Por isso nesta edição trazemos até si, como artigo de capa, um artigo sobre Introdução ao Ruby on Rails para ficar a conhecer as bases da tecnologia “Ruby on Rails” para desenvolvimento de páginas web. Este artigo pretende servir como introdução à construção de websites recorrendo à tecnologia RubyOnRails. Como facilmente se entende, não é possível transmitir todos os pormenores inerentes a um processo desta complexidade num só artigo. Como tal, serão abordados alguns aspectos importantes, que permitirão a alguém com total inexperiência com esta tecnologia, construir uma aplicação web simples com acesso a uma base de dados.
Durante o artigo, e como os aspectos são focados de uma forma muito superficial, existem ligações para que os temas analisados possam ser estudados e compreendidos com maior profundidade. No final do artigo encontram-se também algumas ligações úteis, bem como o local para descarregar o código da aplicação que vai ser construída ao longo do artigo.
Ok, então o RoR é uma plataforma de desenvolvimento web, mas há muitas outras, porque é que me devo interessar em aprender RoR? Os motivos são inúmeros, por isso focar alguns que fazem parte de um conjunto bem maior, mas que ajudam a perceber que tipo de plataforma de desenvolvimento temos à nossa frente.
- É uma tecnologia livre (não estar dependente de terceiros)
- Utiliza a linguagem de programação Ruby (depois de algum tempo a programar em Ruby, apercebemos-nos da elegância da linguagem e com o tempo e o acumular de experiência torna-se um forte aliado)
- Tem uma comunidade grande e activa (é extremamente simples obter ajuda nas várias comunidades existentes, também em Portugal)
- Arquitectura “Out-of-the-box” (ao ser criada uma nova aplicação, a arquitectura está definida, bastando acrescentar os “ingredientes”)
- Sistema de “templating” robusto e versátil (não só permite a renderização de páginas web, mas também XML, JSON e até mensagens de email de uma forma simples e prática)
- Active Record (uma ferramenta de Object Relationship Mapping (ORM) perfeitamente integrada na plataforma, que permite, entre outras coisas, que a base de dados seja gerada a partir do modelo de dados da aplicação, e liberta o programador da tarefa de escrever SQL)
- Convention over Configuration (este pode parecer um ponto controverso, pois se por um lado o facto de grande parte das definições estarem perfeitamente definidas por convenção, pode parecer não existe um controlo tão apertado da forma como as coisas vão acontecer. Tal não se verifica, pois apesar de as convenções existirem para facilitar a tarefa dos Developers, podem ser facilmente substituídas, alteradas e redefinidas, adaptando a plataforma às necessidades de cada Developer e de cada situação)
De uma forma simples e rápida, Ruby é uma linguagem de programação orientada por objectos, interpretada, fortemente tipada e ao mesmo tempo dinâmica, com gestão “automática” de memória. Surgiu no Japão em 1995, pelas mãos de Yukihiro Matsumoto (também conhecido como Matz). Actualmente a plataforma mais utilizada para desenvolver RoR é Mac OS X, mas pode também ser utilizado em Windows ou Linux.A sintaxe é muito elegante e permite fazer código simples e fácil de ler como este:
maioridade = "Maior de idade" unless idade <18
A instrução “unless” funciona um pouco como o if, mas com a lógica invertida. Podemos ler a instrução anterior da seguinte forma: a variável maioridade toma o valor “Maior de idade” a menos que a idade seja inferior a 18. Simples
3.times do
puts "Portugal-a-Programar"
end
O exemplo anterior não é nada mais que um simples loop. A facilidade com que se pode ler permite que, mesmo que nunca se tenha visto Ruby, se perceba facilmente o que este pedaço de código faz. Repare-se que o número inteiro “3”, é considerado um objecto como qualquer outro, que tem métodos que podem ser invocados, como neste caso, o método “times”. Temos então, que o bloco de código ( que termina no “end”) é executado 3 vezes, tal como pode ser literalmente lido, quase como se fosse em inglês.
if pessoa.registada?
puts "bem-vindo"
else
puts "acesso negado"
end
Neste exemplo vemos a utilização do ponto de interrogação na sintaxe. Para que este snippet funcione, a classe do objecto pessoa tem de ter definido o método “registada?”. Tipicamente métodos terminados em “?” são métodos que de-volve valores booleanos. Para quem tem experiência em Java ou.NET basta pensar nestes métodos como os métodos começados por “Is” (ex: boolean IsRegistada()) que tipicamente devolvem resultados booleanos. Mas nesta edição, além do artigo completo, pode ainda encontrar os seguintes artigos:
- Lua – Linguagem de Programação (Parte 10). A continuação de um excelente artigo sobre LUA, uma linguagem de programação pouco conhecida. Nesta décima parte, saiba como embeber a linguagem LUA em programas escritos em C e C++, bem como pode utilizar co-rotinas.
- Criar um sistema RSS no Sharepoint através de uma lista de páginas. Conheça uma forma simples e eficaz de através de RSS 2.0 fazer um «response» directamente numa página ASPX com um controlo de utilizador
- Introdução ao Objective-C e à plataforma iOS. Um artigo de introdução à linguagem da Apple Objective-C e à plataforma iOS utilizada nos dispositivos iPod Touch, iPhone e iPad.
- Atributos em C#. Saiba como colocar metadados em aplicações C# através de atributos.
- VISUAL (NOT) BASIC – Tipos Genéricos. Conheça estas estruturas que possuem bastantes vantagens sobre os Arrays.
E em colaboração com a comunidade AzurePT, SQLPort, NetPonto e SharePointPT respectivamente:
- Windows Azure Traffic Manager. Conheça esta funcionalidade que possibilita a resolução de vários problemas relacionados com Cloud Computing.
- Ferramentas gratuitas de trabalho com SQL Server. Conheça algumas ferramentas gratuitas que podem facilitar e acelerar o trabalho com o SQL Server.
- NHibernate – do Import Package à primeira iteração. Como configurar e utilizar o NHibernate com FluentNHibernate para fazer a ponte entre as nossas classes em .NET e as nossas tabelas de bases de dados.
- Sandboxed Solutions em SharePoint Online 2010. Veja como criar Sandbox Solution utilizando os diversos Templates disponibilizados para o Visual Studio 2010.