Nodejs vs Rails, ou a ironia de quando apertam no meu calo.

{ November 27th, 2011 }


cmilfont

Autor: cmilfont

Por volta de 2007/2008 quando o Rails se popularizou no mundo inteiro, um tema comum em todas as listas de discussões era como o Rails ia matar o Java. Ficavam furiosos os mais exaltados, porém míopes, javeiros.

Claro que era uma brincadeira com um fundo de verdade, um alerta para sermos poliglotas e usarmos o melhor ambiente/plataforma/ferramenta/etc para resoluções de problemas.

Claro que a comparação era esdrúxula porque comparavam um Framework com uma linguagem, aliás, não só linguagem, mas uma plataforma. Não importa se o Rails poderia ser executado na plataforma Java, a mensagem era o alerta de que não adianta fazer tudo com apenas uma ferramenta. Naquele momento se voce era programador DotNet, voce tentaria fazer tudo com DotNet, se voce fosse programador Java, o mesmo com sua linguagem/plataforma.

Na época Java era Mainstream, Rails um Framework que trazia consigo uma linguagem “Underground” com uma comunidade ainda muito pequena, porém vibrante.

A História se repete

Hoje em dia Rails é um Framework muito popular que criou um ecossistema em sua volta, graças a ele que a linguagem Ruby tem uma certa penetração até em grandes corporações. Ouso dizer que Rails é uma “plataforma” e que tudo gira em torno dele, retire esse Framework e a linguagem Ruby dificilmente se mantém no Mainstream.

Em 2009 surgiu uma ferramenta chamada Nodejs. Um “Evented I/O for V8 JavaScript“, ou seja, uma ferramenta para fazer IO não-bloqueante usando a VM do Chrome. Em pouco tempo a comunidade em volta do Nodejs repetiu o mesmo processo que o Rails levou de 2004 a 2010 só que em menos tempo. Esse ano (2011), as duas comunidades chamam a mesma atenção do mercado, principalmente as Startups do Vale do Silício.

Nodejs criou uma comunidade em sua volta, apesar de ter um propósito bem definido. Não existe um Framework no ecossistema Nodejs que sequer chegue aos pés do Rails, o máximo é algo similar o Sinatra chamado de Express. Mas somente a possibilidade de uma comunidade/ecossistema desviar a atenção e rivalizar no efeito “Sou foda, estou na crista da onda” já deixa incomodado muitos Railers.

Pois bem, eu dizia há alguns dias para amigos e clientes que a comunidade Rails iria subir nas tamancas quando o Nodejs crescesse mais do que já cresceu. O motivo que alerto é que a comunidade se tornou tão pedante quão a comunidade Java de 2007/2008. Hoje em dia temos “Railstards” que pregam o desenvolvimento somente com Ruby ao ponto de escreverem Javascript em Ruby por conveniência de não sair da sua zona de conforto.

Há alguns dias a Nodejitsu publicou uma página para acompanhar o momento onde o número de Watchers (observadores) do projeto nodejs no github ultrapassou o mesmo número no projeto Rails.

A Notícia por si só não deveria ter nenhum significado. Comparar um Framework popular com uma Ferramenta de Evented IO?

Ops, há alguns anos comparamos uma linguagem/plataforma com um Framework, ninguém disse na época que era descabido a comparação, porque seria hoje comparar Nodejs vs Rails?

Não rir dessa piada irônica só demonstra que você deveria subir um alerta, a grande maioria dos Javeiros já calçou a sandália da humildade, acho que ta na hora de nós Railers também ;)

Como disse o @leonardoeloy: Se Java é o novo Cobol, Rails o novo Java, Nodejs o novo Rails, quem é o novo Nodejs?

Posted in Java, Rails, Ruby ~ 16 Comments

JavaCE Social

{ October 27th, 2010 }


cmilfont

Autor: cmilfont

Já há tempos eu venho afirmando que eventos gratuitos estão com os dias contados, não vale a pena realizar/organizar/participar de grandes eventos quando não cobramos pelo menos uma taxa simbólica, é impressionante como não é valorizado.

Eu e o Handerson Frota da TriadWorks ministramos diversos eventos gratuitos na célula Java da faculdade Lourenço Filho há uns anos, entre esses eventos alguns cursos e pela experiência o curso sempre tende a se deteriorar se for gratuito.

Eis que a JavaCE surge com o projeto JavaCE Social que visa destinar os valores cobrados em cursos para instituições de caridade. Esse tipo de ação a Milfont Consulting faz questão de patrocinar,  além disso vou preparar uns cursos para doar ao projeto.

Ajude a melhorar e aperfeiçoar o projeto doando, participando, ministrando e divulgando entre seus amigos, empresas e comunidades que participa.

Já tem uma grade inicial, confira a lista abaixo:

Cursos

Uma Introdução ao SQL + JDBC
30/10/2010 (Sábado, 13h) – Inscrições aqui!
Nível: Iniciante
Carga Horária: 4h
InstrutorLeonardo Eloy (Participa na Coordenação da JavaCE)
Vagas: 8
Doação: 1 lata de Leite em pó + 2Kg de Arroz ou Feijão
Pré-requisitos: Saber criar programas simples com Java.
Softwares: JDK 6, Eclipse ou NetBeans e MySQL (qualquer versão).

Iniciando no VRaptor: Framework Ágil para Web
06/11/2010 (Sábado, 9h) – Inscrições aqui!
Nível: Iniciante
Carga Horária: 6hs
InstrutorHanderson Frota (Referência em DWR no Brasil)
Vagas: 8
Doação: 2 latas de Leite em pó.
Pré-requisitos: Conhecimentos em Java Web, HTML e Banco de Dados.

Iniciando no JSF
20/11/2010 (Sábado, 9h) – Inscrições aqui!
Nível: Intermediário
Carga Horária: 6 a 8h
Instrutor: Bruno SoaresRafael Ponte (Referências em JSF no Brasil)
Vagas: 8
Doação: 2 latas de Leite em pó.
Pré-requisitos: Conhecimentos em Java Web, HTML e Banco de Dados.

Posted in Java, javace ~ 2 Comments

Transparência inédita na saúde pública

{ March 7th, 2010 }


cmilfont

Autor: cmilfont

É com satisfação que vejo o trabalho da Milfont Consulting participando diretamente na transparência da saúde pública no estado do Ceará.

O governo do estado inaugurou essa semanaA Conta do Paciente“, um projeto inédito no Brasil que vai informar ao paciente quanto foi sua despesa desde a entrada no hospital até sua alta. Esse tipo de atuação aproxima o governo da agilidade que a sociedade cobra em relação à transparência nas contas públicas, antes era quase impossível saber o custo real por paciente. Fora que a secretaria vai saber precisamente e em tempo real os custos por unidade, além de facilitar a tomada de decisões que podem salvar vidas.

Esse formulário detalhado com a conta do paciente é possível graças ao ERP especialista em gestão hospitalar pública da empresa Insystem, nosso cliente e parceiro. A Insytem acreditou em nosso trabalho e é um dos maiores Cases, senão o melhor.

O ERP foi construído 100% com base em TDD em Java usando DWR, Hibernate e  Spring basicamente. Alguns requisitos necessários de usabilidade utilizam Reverse Ajax com DWR. O sistema é totalmente ajax e utiliza o Extjs seguindo a filosofia model 3. Fizemos algumas customizações no Extjs para se integrar ao DWR de forma transparente.

Fomos ágeis desde o primeiro momento, mas nunca nos preocupamos em implantação de processo, metodologia ou qualquer coisa que o foco não fosse software saudável. XP foi algo natural, valores e princípios foram assimilados desde o primeiro dia, mas foi e é o software funcionando e livre de erros [o mais livre possível] que nos moveu.

Destaque para o Felipe Andrade, funcionário da Insystem que se tornou especialista em Extjs com DWR e hoje domina e é talvez o maior conhecedor da união desses Frameworks no estado.

Agradecimentos especiais aos diretores Evando Chaves e Marcelo Meirelles que investiram nessa solução e tiveram a sagacidade de sair na frente da concorrência entendendo que software funcionando é mais importante do que processos bonitos e pomposos, afinal o barco não chega na frente por causa do tambor e sim dos remadores. A Insystem está de parabéns por ter enfrentado todas as correntes contrárias e ter chegado a essa vitória investindo e apostando no fator humano como responsável para a vitória.

Esse é um Case que entrou para a história, estamos procurando outra solução semelhante na saúde pública do Brasil e até agora não encontramos nada.

Orgulhoso por participar dessa conquista.

Posted in crowds, DWR, Engenharia de Software, Ext, Frameworks, Java, Linguagens, Melhores práticas, Metodologia, Métodos Ágeis, Model 3, Orientação a Objetos, Test Driven, web2.0, XP ~ 3 Comments