É interessante observar os ciclos que as linguagens de programação, IDEs, frameworks e metodologias de desenvolvimento sofrem na indústria da computação. Em média, a cada 10 anos alguns paradigmas mudam, aparecem novidades que prometem solucionar todos os problemas e tornar o resto obsoleto, além de pessoas alfinetando tecnologias ditas ultrapassadas.
Fato é que ninguém está certo, e ninguém está errado. As tecnologias avançam de acordo com o momento e com a necessidade. Há um tempo, linguagens como Basic, Clipper e VB eram o auge da informática. Quantas locadoras e supermercados não foram abastecidos com sistemas em Clipper, por exemplo? O mundo evolui, a internet apareceu e com isso linguagens orientadas para essa conectividade também apontaram (ou despertaram), como Java, .Net, php, Ruby e etc.
Vale uma pausa para pensar que as linguagens “desktop” quase morreram entre os novos desenvolvedores, o pessoal que está saindo das faculdades a partir do ano 2000. Esse pessoal já nasceu profissionalmente na era da Internet, dos servidores de aplicação, DNS.
Com isso chegamos ao ponto principal desse artigo, os frameworks ágeis para projetos de web2.0. Cada vez mais vemos sistemas online, dos mais simples (p.ex. twitter, orkut, facebook, etc) até o mais complexos (cms, e-commerce, pacotes de produtividade empresarial, etc). Plataformas como Python+Djando (www.djangoproject.com) e Ruby on Rails (rubyonrails.org) ganham notoriedade entre os programadores, e alguns inclusive arriscam falar que podem, com o tempo, substituir a linguagem Java.
Modismos a parte, o conjunto Ruby on Rails (RoR) tem ajudado muitas empresas a darem o pulo do gato, onde time-to-market é vital para o negócio da empresa. Ruby é uma linguagem de programação totalmente orientada a objeto, e Rails é um framework desenvolvido especialmente para projetos de web2.0 criado por David Heinemeier Hansson, e já faz parte do currÃculo de serviços como o Twitter (www.twitter.com), Yellow Pages (www.yp.com), MTV Style (http://style.mtv.com), e os brasileiros Blogblogs (www.blogblogs.com.br), Pagestacker (www.pagestacker.com) e Webmail do UOL / BOL. Outras empresas digitais como o portal iG (www.ig.com.br) estudam a adoção da tecnologia em questão.
RoR facilita muito a vida do desenvolvedor web, automatizando funções triviais em seu framework e liberando o profissional para se preocupar em melhorar o negócio e detalhes das funcionalidades. Aliada com metodologias ágeis como Scrum e Extremme Programming, visa reduzir o tempo de desenvolvimento do projeto. É interessante notar que RoR utiliza o DRY (Don’t Repeat Yourself) e Convention over Configuration, onde utilizamos as convenções da programação para ganhar tempo.
Tudo isso para aumentar a agilidade do time.
Vale ressaltar que tecnologias como Java e .Net também são ágeis. Vamos pensar nos frameworks Struts, Spring, Hibernate, e todas as soluções da Microsoft. Elas visam facilitar a vida do desenvolvedor, melhorar o desempenho e a qualidade. Mas por que será que os projetos nessas tecnologias demoram e tem tantos problema? Será que o problema é da tecnologia? Fica a pergunta para pensar.





Bom dia Guillherme tudo bem, primeiro te parabenizar pelo blog, ja esta assinado nos meus feeds e queria te fazer uma pergunta a respeito do Ruby.
Eu ja trabalho com PHP, FLEX, ja tenho algumas aplicações comerciais, porém lendo alguns textos, percebi que o PHP não é muito visado em empresas, você acha que o ruby tem chance de se tornar uma das linguagens principais para web, ele é bem aceito com flex, tendo como exemplo o treina Tom? E seria muito complicado a migração de PHP pra Ruby?
Agradeço as informações.
Uma grande Abraço…
Oswaldo Gusmão