Fui assistir esta palestra do Nando Vieira por normalmente curtir o ponto de vista dele e por abordar um assunto que nos deparamos da Vizir:  com a “modinha” do Rails passando, como ficará o cenário para a tecnologia?

Ah, na verdade só  fui ver a palestra dele porque nos idos de 2009 e 2010 eu acessei este post mais de uma vez: https://nandovieira.com.br/executando-sql-no-rails. Nestes anos todos foi o melhor post que ele fez (brincadeira, mas que eu usei, eu usei!).

O Nando fez uma palestra completa e objetiva, focando nos prós e contras do cenário atual desta tecnologia.

Rails não é mais modinha, não é cool, não é  a última bolacha do pacote. E agora? Vamos para Elixir, Phoenix, Crystal ou Node.js. Mas o ponto é, sabemos porque estamos indo para outra tecnologia?

Aqui na Vizir já nos fizemos este questionamento e já fomos questionados por cliente. Vale a pena começar um projeto em Rails agora? Não é melhor em ir em Node? Temos tanta coisa em outras plataformas como temos em Rails?

Segue abaixo minhas anotações, quase uma transcrição da palestra. E a foto em destaque foi roubada do Facebook da Locaweb.

Qual o estado atual do Ruby?

Por mais que existam exceções, podemos afirmar que Ruby sem Rails praticamente não existe. Tá, até existe, mas não é largamente utilizado. E a dupla Ruby e Rails já está há 10 anos juntos.

Para muitos, o Rails chegou para matar o Java, depois Rails seria morto por Node.JS, Phoenix, Elixir e por aí vai. E no fim, continua todo mundo no mercado. Há espaço para todos.

Vamos a alguns números atuais em torno do Rails

947 pessoas contribuiram com Rails de alguma forma na versão 5. São mais de 10 bilhões de instalações no Ruby Gems e 123 mil gems.

O Rails surgiu em torno do Basecamp, mas criou-se um ecossistema muito grande, como o próprio Heroku onde o Nando trabalha. Surgiu o Code Climate, Travis CI, Shopify e Kickstarter foram feitos em Rails. São mais de 1.2 milhões de sites, cerca de 1,3% dos sites do mundo.

É um número gigante? Não, mas tem muitas startups e sites de qualidade.

E fica dica, para descobrir as tecnologias mais usadas, teste o site trends.buildwith.com.

Como esta a visibilidade do Ruby on Rails no mundo?

Atualmente não é revolucionário. Não vai atender aos desenvolvedores que estão em busca de coisas novas. Mas não podemos esquecer que ferramentas estáveis são importantes.

Nos últimos 5 anos tem tido uma queda no interesse pelo Rails, afinal ferramentas estáveis não geram hype e desenvolvedores gostam destas novidades e barulho.

Mas então isso é só mimimi e não afeta o Rails? Errado, claro que afeta. Se uma pessoa tem que escolher uma tecnologia para um projeto, não vai apostar numa tecnologia que alguém disse para ele que está morrendo. Principalmente se compararmos com Node.Js.

Isto porque quem decide não recebe a mensagem correta. E quem passa esta mensagem são os próprios desenvolvedores. Durante sua vida, Ruby tem convivido com vários mitos:

  • #1: Rails não escala. Este item acho que não vale nos alongarmos muito, mas foi mais propagado durante as baleiadas do Twitter.
  • #2: Ruby 1.8 era lento. Ele teve significativas melhoras de performance.
  • #3: É difícil contratar desenvolvedores Rails. Na verdade é difícil contratar desenvolvedores bons.
  • #4: Devs Ruby são caros. Mesmo item do 3.
  • #5: Rails e Ruby estão morrendo. Como o Nando estava dizendo acima não é que está morrendo, está com menos hype e mais estável. Mas este mito ajuda as pessoas a não optarem por Rails em um novo projeto.

Isso acaba gerando um cenário de FUD: Fear, Uncertainty and Doubt. Confundindo o decisor.

E o que a queda de popularidade pode afetar o Rails?

É fato que uma tecnologia popular terá mais chances de evoluir melhor. E Rails não tem nenhuma grande corporação por trás, tem uma grande comunidade. Se menos gente se interessar por Rails, podemos perder força.

  • Google banca o Go.
  • Oracle banca o Java.
  • O ecossistema de navegadores banca o JavaScript.

E manter o ecossistema Ruby funcionando bem não é é uma tarefa simples, temos muitos projetos estáveis, mas também muitos legados. Por isso surgiu a iniciativa RubyTogether. Se você trabalha com Rails ou numa empresa que utiliza Rails, considere fortemente colaborar!

E como Ruby / Rails pode ser popular ou agradável a novas pessoas? 

Grande parte do sucesso se deve a comunidade que se formou. Pessoas vem e vão e o ciclo vai ter que se renovar. A saída de devs de uma comunidade é normal, as  pessoas vão tendo outros interesses e outras necessidades. Ou as vezes a saída pode não ser programada como a morte de Jim Weirich.

Pessoas vem e vão e o ciclo se renova. Por isso, temos que criar um ambiente inclusivo, que facilite a contribuição de iniciantes. Mesmo no projeto do Rails, temos poucas issues marcadas como good-first-patch. O próprio Nando, nos projetos que fez, não parou para pensar em ajudar outras pessoas. É preciso criar um ambiente seguro para quem quiser contribuir.

Quando for considerar Rails para meu projeto, o que devo considerar? 

Como toda boa análise, prós e contras devem ser considerados. Devemos pesar a experiência do time, flexibilidade e rapidez que você precisa para desenvolver. Se você tem um time repleto de iniciantes, considere uma arquitetura mais simples, porque as vezes nos esquecemos que quando estamos começando tudo é mais difícil.

Se a sua preocupação for velocidade, Ruby tem sido rápido o bastante por 13 anos. Ele não tem tido problemas de performance e em uma startup dificilmente ele vai ser o seu gargalo. No final, tudo vai gerar HTML, só queremos aplicações melhores e que gerem mais dinheiro.

Um dos conselhos que Paul Graham dá no YCombinator é fazer coisas que não escalam. Recrutar usuários para o seu serviço é a coisa que não escala mais comum que os founders irão se preocupar no início. Se preocupe com isso!

Qual o resumo desta história? 

As tecnologias passam por hype Cicles. E a Gartner fez um estudo onde definiu os pontos de grande interesse durante um Hype.

hype cycle
A Gartner definiu alguns pontos chave: Começa em um trigger, que cria um ponto de grande interesse. Vai para o pico das expectativas infladas, atraindo empresas dispostas a correr o risco, mas ai a coisa começa a ficar feia: pessoas começam a falar mal, a ter suas expectativas frustadas.

As coisas vão caindo até que chega o fim da desilusão e o começo da esperança, onde pessoas consegue ser produtivas e satisfeitas com a tecnologia. Passando por todas estas fases, até o plateau da produtividade. Na visão do Nando ( e do Bruno Cartolari da Vizir), o Rails está neste ponto.

Afinal, código bom é codigo rodando em usuários reais!