PHP, Java, Ruby on Rails – Existe um vencedor?

Olá,

Primeiramente quero dizer que este post não tem como finalidade criticar ou apoiar nenhuma linguagem/framework, mas sim demonstrar produtividade entre elas.

1 – Um pouco do que dizem:

Tenho ouvido muito o pessoal falar sobre produtividade, tempo de desenvolvimento e implementação, XP, testes e tudo mais, já ouvi até falarem que o que importar é funcionar e dinheiro no bolso – qualidade fica para depois.

Muitos já ouviram(obviamente) falar do Rails, um framework construído na linguagem Ruby com alto índice de produtividade.

Eu tenho um site que fiz usando ele (www.preventos.com.br) e achei ele normal, não mudou muito minha maneira de desenvolver os sites, eu pessoalmente não vi uma GRANDE mudança. Claro que tem seus pontos positivos e negativos, e uma certa facilidade para a criação de novas áreas e tudo mais, mas não vi por exemplo uma forma de compartilhar os modelos entre aplicações diferentes, ou seja, usar os mesmos modelos em diferentes aplicações onde na mudança de um modelo as outras aplicações já estarão atualizadas.

Mas enfim, o que quero mostrar é que o desenvolvimento ágil e produtivo que tenho visto o pessoal fazer é um CRUS em Rails, porque o resto é somente exibição de dados, rotas amigáveis, etc. Mas parece que as pessoas estão tão cegas que não pesquisam na internet (www.google.com) para saber se na linguagem que elas usam também existe essa possibilidade e vão logo migrando.

E é através deste post que vou mostrar algumas das inúmeras possibilidades de desenvolvimento ágil com PHP e JAVA e seus frameworks  já que para o framework RAILS temos ai no Google tutoriais de criação de blog a vontade.

2 – Desenvolvimento ágil com PHP + ZendFramework

2.1 – Para quem gosta da criação via linha de comando do RAILS ai vai o que existe em PHP, a criação de toda a aplicação via linha de comando, incluindo a estrutura básica, controles, modelos, views e até as actions das views(inglês).

http://devzone.zend.com/article/4524-Zend-Framework-1.8.0-Released

2.2 – Artigo interessante mostrando que o PHP é um framework (apesar de um não concordar com a comparação a framework)(inglês):

http://www.artfulcode.net/articles/php-is-a-framework/

2.3 – Artigo mostrando como usar o REST com o Zend Framework(inglês):

http://blog.astrumfutura.com/archives/245-RESTful-Web-Services-with-Zend-Framework.html

2.4 – Artigo mostrando a criação de webservices REST com Zend Framework(inglês):

http://inchoo.net/zend/getting-started-with-rest-using-zend-framework/

2.5 – Centenas de tutoriais sobre Zend Framework(inglês):

http://www.zftutorials.com

2.6 – Integração com Google(inglês):

http://www.ibm.com/developerworks/br/library/os-php-zend-google-pt2/index.html

2.7 – Teste unitário(inglês):

http://devzone.zend.com/article/2772

2.8 – Mais teste unitário(inglês):

http://www.alexatnet.com/node/12

3 – Desenvolvimento ágil com Java:

3.1 – Desenvolvimento ágil com Java máis rápido que Rails (muito interessante – inglês):

http://j2ee.ulitzer.com/node/965189

3.2 – Pair programming remoto com Eclipse(inglês):

http://blog.felipecoury.com/jep/2008/06/pair-programming-remoto-usando.html

3.3 – Slides sobre desenvolvimento ágil com JSF:

http://www.slideshare.net/rponte/javaserver-faces-desenvolvendo-aplicaes-web-com-produtividade

3.4 – XSeam:

http://www.jroller.com/rafaelbenevides/entry/screencast_xseam

3.5 – XSeam:

http://blog.aspercom.com.br/2008/07/07/desenvolvimento-agil-com-seam/

3.6 – GWT(Google Web Toolkit) – Para mim esta foi uma das invenções mais sinistras do Google, onde você desenvolve uma aplicação 100% ajax, sem programar 1 linha de javascript/html/css, tudo 100% java. Tudo é objeto no GWT, e cada objeto tem seus eventos e métodos especiais. É a biblioteca com maior grau de produtividade e usabilidade com todos os elementos de RIA (http://pt.wikipedia.org/wiki/Internet_rica):

http://code.google.com/intl/pt-BR/webtoolkit/

3.7 – Não posso deixar de falar do ZK Framework:

Um trecho retirado do site a seguir:

ZK é uma framework web ajax open source, que pemite o desenvolvimento de interfaces ricas para aplicações web com pouca programação e um custo de desenvolvimento reduzido, tal como as antigas aplicações desktop.

ZK foi o primeiro projecto ajax no SourceForge.net, acumulou 450.000 downloads e 800.000 visitantes, e foi referenciado por mais de 4.000 websites desde o lançamento da primeira versão em 2005.

http://www.urubatan.com.br/review-zk-framework-%E2%80%93-o-modo-mais-simples-de-fazer-uma-aplicacao-web-rica/

Bom, é isso, mostrei ai que desenvolvimento ágil, testes e facilidade não faltam com as outras linguagens, e acho que são até mais poderosas, principalmente o Java com o GWT ou ZK.

Um fato importante a ser analisado é que o Twitter que antes era feito em Rails, passou a ser feito em Scala, segue o link:

http://unlimitednovelty.com/2009/04/twitter-blaming-ruby-for-their-mistakes.html

http://www.artima.com/scalazine/articles/twitter_on_scala.html

Um outra ponto a levar em conta é o MVC 2:

http://www.javafree.org/topic-849941-Diferenca-entre-MVC1-e-MVC2.html

O Rails tem o modelo de aplicação onde TODOS devem fazer da mesma forma, isso é muito bom, pois todos são obrigado a ver no padrão MVC, e não há como fujir, pois ele já nasceu assim, do contrário é melhor usar o Ruby puro (para quem pretende usar o Rails um dia).

Mas cada um com seu cada um, aplicações de qualidade ricas VS modelo de aplicação único.

Bom, espero que tenham gostado e como disse, só estou mostrando as opções de desenvolvimento ágil com frameworks que estão no mercado a anos em aplicações e empresas grandes (IBM, Google, Oracle, …) .

Uma Resposta

  1. Jhonathas Disse:

    Vc é uma figura :)

    Programação é igual carro, apesar de todos nos levarem, temos o preferido :)

    Um dia vamos marcar pra eu te mostrar oque é o Rails de verdade, vc está trabalhando muito braçal, e lembro, se aparecer um sistema que tiver que ser em PHP e isso for me dar dinheiro, pode ter certeza, to dentro, programo pra sobreviver :) o dia que eu tiver muitooo dinheiro não irei programar eu seria burro, eu iria é viajar, curtir a família, e não ficar que nem um nerd na frente de um computador as vezes dia e noite pra estudar tecnologias e tentar com isso tirar meu sustento :)

    Um abraço parceiro :)

Deixe um comentário

Obs: A moderação de comentários está ativa e seu comentário pode demorar a aparecer. Não é necessário enviar seu comentário novamente.