alguns clientes perguntam-nos porque escolhemos utilizar Ruby on Rails para desenvolver aplicações web em vez de todas as outras frameworks e linguagens web. Há muitas razões para a nossa decisão, mas antes de embarcar numa discussão sobre as vantagens (e desvantagens) do Ruby on Rails, devo primeiro explicar o que é realmente o Ruby on Rails.
Ruby on Rails
Rails é uma ferramenta de desenvolvimento que dá aos programadores web uma estrutura, fornecendo estrutura para todo o código que escrevem. A estrutura Rails ajuda os programadores a construir websites e aplicações, porque abstrai e simplifica tarefas repetitivas comuns.
Rails é escrito em Ruby, a linguagem de programação que também é utilizada juntamente com Rails. Ruby é para Rails como PHP é para Symfony e Zend, ou como Python é para Django. O apelo do Ruby aos programadores reside na elegância e concisão da linguagem.
p>Leia o nosso post no blog: 6 razões pelas quais os nossos programadores gostam do Ruby on Rails – e como isto beneficia um projecto digital
Um dos princípios chave do desenvolvimento do Ruby on Rails (doravante ‘Rails’) é a convenção sobre a configuração. Isto significa que o programador não tem de gastar muito tempo a configurar ficheiros para obter configuração, Rails vem com um conjunto de convenções que ajudam a acelerar o desenvolvimento.
Uma outra característica de Rails é a ênfase na concepção de aplicações RESTful. REST (Representational State Transfer) é um estilo de arquitectura de software baseado em torno da relação cliente-servidor. Encoraja uma estrutura lógica dentro das aplicações, o que significa que podem ser facilmente expostas como uma API (Application Programming Interface).
Do ponto de vista da gestão de projectos, a comunidade Ruby on Rails defende o desenvolvimento Agile web – um método de desenvolvimento iterativo, que encoraja uma abordagem colaborativa e flexível, que é particularmente bem adaptada ao desenvolvimento de aplicações web com requisitos em rápida mudança.
Nos últimos anos, Ruby on Rails ganhou um grande e entusiasta seguimento, mas consideremos os principais argumentos a favor e contra Rails.
Pros e contras de Rails
Porque preferimos usar Ruby on Rails:
- li>O processo de programação é muito mais rápido do que com outras frameworks e linguagens, em parte devido à natureza orientada para objectos do Ruby e à vasta colecção de código aberto disponível dentro da comunidade Rails.
- li> As convenções Rails também facilitam a mobilidade dos programadores entre diferentes projectos Rails, já que cada projecto tenderá a seguir a mesma estrutura e práticas de codificação.
- li>li>Rails é bom para o desenvolvimento rápido de aplicações (RAD), já que a estrutura facilita a acomodação de alterações.
- li>##li>código Ruby é muito legível e na sua maioria autodocumentado. Isto aumenta a produtividade, uma vez que há menos necessidade de escrever documentação separada, tornando mais fácil para outros programadores a recolha de projectos existentes.
>li>li>Rails desenvolveu um forte foco em testes, e tem boas estruturas de teste.
- li>Rails e a maioria das suas bibliotecas são de código aberto, pelo que, ao contrário de outras estruturas de desenvolvimento comercial, não há custos de licenciamento envolvidos.
Potenciais problemas e limitações Rails e como ultrapassá-los:
- >li>> nem todos os anfitriões de websites podem suportar Rails
Embora seja verdade que nem todos os anfitriões de websites suportam Rails, isto deve-se principalmente ao facto de poder ser mais intensivo em recursos do que o PHP, um facto que dissuade os fornecedores de alojamento partilhado de gama baixa. No entanto, isto não é de forma alguma um quebra de contrato, e claro que existem anfitriões Rails amigáveis, por exemplo, Heroku e EngineYard.
Alternativamente, pode alojar a sua aplicação Rails num Servidor Privado Virtual (VPS) com Amazon EC2, Rackspace, ou Linode. Terá então controlo total sobre o servidor e pode atribuir recursos suficientes para a sua aplicação.
- ##li>Java e PHP são mais amplamente utilizados, e há mais programadores nestas linguagens
O número de programadores Ruby está a crescer de ano para ano à medida que mais pessoas mudam para ele a partir de outras linguagens de programação. Uma das principais diferenças entre o Ruby e outras comunidades é a quantidade de código fonte aberto (gems) que está disponível ao público, a partir da escrita existem 63.711 gems que pode utilizar para melhorar a sua aplicação.
- li>Performance and Scalability
Há preocupações de que as aplicações Rails não sejam tão rápidas como Java ou C, o que é verdade, mas para a maioria das aplicações é suficientemente rápido. Existem muitas organizações de alto perfil que dependem de Rails para alimentar os seus sítios, incluindo AirBnB, Yellow Pages, Groupon, Channel 5, e Gov.uk.
Existe também a opção de executar a sua aplicação sob JRuby, pelo que tem as mesmas características de desempenho que Java.
Em conclusão
A nossa decisão de utilizar Rails é acima de tudo de preferência pessoal – descobrimos que funciona bem para nós ao permitir o rápido desenvolvimento de aplicações web dinâmicas.
Ler sobre os nossos projectos de desenvolvimento de aplicações web Ruby on Rails para SXT e Queen’s Awards for Enterprise.