Slide 1

Slide 1 text

RUBY ON RAILS PERMANECENDO RELEVANTE @fnando

Slide 2

Slide 2 text

NANDO VIEIRA

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

VAMOS FALAR SOBRE O ESTADO ATUAL. Como anda o nosso ecossistema e comunidade.

Slide 6

Slide 6 text

http://rubyonrails.org

Slide 7

Slide 7 text

http://contributors.rubyonrails.org/releases/5-0-0/contributors

Slide 8

Slide 8 text

https://rubygems.org/stats

Slide 9

Slide 9 text

https://basecamp.com

Slide 10

Slide 10 text

https://www.heroku.com/home

Slide 11

Slide 11 text

https://codeclimate.com

Slide 12

Slide 12 text

https://github.com

Slide 13

Slide 13 text

https://shopify.com

Slide 14

Slide 14 text

https://travis-ci.com

Slide 15

Slide 15 text

https://kickstarter.com

Slide 16

Slide 16 text

http://trends.builtwith.com/framework/Ruby-on-Rails

Slide 17

Slide 17 text

VISIBILIDADE DO RUBY E RAILS NO MUNDO. Como está a percepção de nossas ferramentas e comunidades.

Slide 18

Slide 18 text

O RAILS JÁ TEM 10 ANOS DE EXISTÊNCIA. Não podemos negar que o Rails deixou de ser bleeding edge faz tempo.

Slide 19

Slide 19 text

FERRAMENTAS ESTÁVEIS SÃO IMPORTANTES. Muitas empresas não podem se dar ao luxo de usar tecnologias que estão em constante mudança.

Slide 20

Slide 20 text

FERRAMENTAS ESTÁVEIS NÃO GERAM HYPE. Desenvolvedores gostam de novidades e novidades geram mais barulho.

Slide 21

Slide 21 text

https://news.ycombinator.com/item?id=10600017

Slide 22

Slide 22 text

https://news.ycombinator.com/item?id=10600017

Slide 23

Slide 23 text

https://g.co/trends/wj4pw

Slide 24

Slide 24 text

ESSA PERCEPÇÃO PODE SER NEGATIVA. Menos pessoas irão adotar uma ferramenta quando elas tiverem a percepção de uma tecnologia está “morrendo”.

Slide 25

Slide 25 text

http://www.indeed.com/jobtrends/q-Ruby-on-Rails.html?relative=1 RUBY ON RAILS

Slide 26

Slide 26 text

http://www.indeed.com/jobtrends/q-Node.js.html?relative=1 NODE.JS

Slide 27

Slide 27 text

QUEM DECIDE NÃO RECEBE A MENSAGEM CORRETA. Desenvolvedores são formadores de opinião dentro das empresas e podem não estar passando a mensagem correta.

Slide 28

Slide 28 text

MITO #1 MITO #2 MITO #3 MITO #4 MITO #5 Rails não escala Ruby é lento É difícil contratar devs Devs Ruby são caros Rails/Ruby está morto FEAR, UNCERTAINTY AND DOUBT

Slide 29

Slide 29 text

POPULARIDADE AJUDA NA EVOLUÇÃO DA TECNOLOGIA. ⋆ Ferramentas populares possuem mais desenvolvedores contribuindo e mais empresas patrocinando projetos.

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

MANTER O ECOSSISTEMA NÃO É TAREFA SIMPLES. Nosso ecossistema possui muitos projetos estáveis. Também possui muitos projetos legados.

Slide 37

Slide 37 text

PRECISAMOS CONTINUAR COMPETITIVOS. E para isso precisamos manter projetos importantes de nosso ecossistema.

Slide 38

Slide 38 text

RUBY TOGETHER https://rubytogether.org

Slide 39

Slide 39 text

RUBYGEMS https://rubygems.org

Slide 40

Slide 40 text

BUNDLER http://bundler.io

Slide 41

Slide 41 text

COMO A COMUNIDADE RUBY É ESSENCIAL. Nossa comunidade tem um papel essencial na continuidade de projetos.

Slide 42

Slide 42 text

PESSOAS VEM E VÃO E O CICLO SE RENOVA. Muitos desenvolvedores que fizeram a diferença no mundo Ruby/Rails não fazem mais parte da comunidade.

Slide 43

Slide 43 text

http://elixir-lang.org

Slide 44

Slide 44 text

http://elixir-lang.org elixir

Slide 45

Slide 45 text

https://en.wikipedia.org/wiki/Jim_Weirich

Slide 46

Slide 46 text

A SAÍDA DE DEVS DE UMA COMUNIDADE É NORMAL. Ferramentas são apenas ferramentas. E elas podem não fazer mais sentido para desenvolvedores de tempo em tempos.

Slide 47

Slide 47 text

FACILITE A CONTRIBUIÇÃO DE INICIANTES. Fazer com que o processo de contribuição seja algo que inclua iniciantes irá trazer mais contribuições para o projeto.

Slide 48

Slide 48 text

https://github.com/rails/rails/issues

Slide 49

Slide 49 text

DIVERSIDADE E INCLUSÃO SÃO IMPORTANTES. Outra maneira de trazer mais pessoas para a comunidade é criar um ambiente que facilite a inclusão e diversidade.

Slide 50

Slide 50 text

http://railsgirls.com

Slide 51

Slide 51 text

http://contributor-covenant.org

Slide 52

Slide 52 text

http://www.rubyconf.com.br/pt-BR/codeofconduct

Slide 53

Slide 53 text

COMO ANDA A EVOLUÇÃO DO RUBY E RAILS O que está acontecendo com as tecnologias que usamos.

Slide 54

Slide 54 text

RUBY

Slide 55

Slide 55 text

MITO: RUBY É LENTO E NÃO FAZ SENTIDO USÁ-LO. O Ruby é rápido bastante para a maioria das aplicações.

Slide 56

Slide 56 text

O RUBY FICA DE 5-10% MAIS RÁPIDO A CADA VERSÃO. O objetivo é que o Ruby 3 seja 3 vezes mais rápido que o Ruby 2.0.

Slide 57

Slide 57 text

https://m.signalvnoise.com/ruby-has-been-fast-enough-for-13-years-afff4a54abc7

Slide 58

Slide 58 text

“Um dos conselhos que damos na YCombinator é fazer coisas que não escalam. Recrutar usuários manualmente é a coisa que não escala mais comum que founders tem que fazer no início.” http://paulgraham.com/ds.html

Slide 59

Slide 59 text

START-UPS: ITERAÇÕES RÁPIDAS E CONSTANTES. Com seu ecossistema completo, start-ups podem implementar funcionalidades rapidamente.

Slide 60

Slide 60 text

RAILS

Slide 61

Slide 61 text

No content

Slide 62

Slide 62 text

O RAILS ESTÁ EM PROCESSO EVOLUTIVO CONSTANTE. Os desenvolvedores do core implementam a visão que DHH julga ser a melhor para o framework e comunidade como um todo.

Slide 63

Slide 63 text

O RAILS É ESFORÇO DE TODA UMA COMUNIDADE. Os desenvolvedores do Core implementam, em grande parte, a visão que DHH julga ser a melhor para o framework e comunidade como um todo.

Slide 64

Slide 64 text

NEM SEMPRE ESSA VISÃO FAZ SENTIDO PARA TODOS. Desenvolvedores que tem voz na comunidade fazem bastante barulho.

Slide 65

Slide 65 text

http://solnic.eu/2016/05/22/my-time-with-rails-is-up.html

Slide 66

Slide 66 text

STACK OMAKASE Minitest, eRb, MySQL, Fat Models, Skinny Controllers STACK PRIME RSpec, Haml, PostgreSQL, Skinny Models, Service Layer http://words.steveklabnik.com/rails-has-two-default-stacks

Slide 67

Slide 67 text

SÓ QUEREMOS ESCREVER APLICAÇÕES MELHORES Muita gente está tentando atingir o estado da arte criando novas técnicas.

Slide 68

Slide 68 text

http://trailblazer.to

Slide 69

Slide 69 text

http://cbra.info

Slide 70

Slide 70 text

http://confreaks.tv/videos/rubymidwest2011-keynote-architecture-the-lost-years

Slide 71

Slide 71 text

BOM DESIGN DE APLICAÇÕES É DIFÍCIL. Não existe apenas um jeito certo de fazê-lo. O que funciona para alguns casos, não funcionará em outros.

Slide 72

Slide 72 text

PRÓS E CONTRAS DEVEM SER CONSIDERADOS. A decisão deve pesar experiência do time e o quanto de flexibilidade e rapidez você precisa para desenvolver.

Slide 73

Slide 73 text

PODE FAZER UM RESUMO PARA MIM? tl;dw

Slide 74

Slide 74 text

2005 2010 2014 2015 Rails veio para matar o Java Node.js veio para matar o Rails Elixir veio para matar o Ruby Phoenix veio para matar o Rails LINGUAGENS E FRAMEWORKS

Slide 75

Slide 75 text

2006 2010 2011 2014 jQuery veio para matar o Prototype Angular veio para matar o jQuery Ember veio para matar o Angular React veio para matar o Ember BIBLIOTECAS CLIENT-SIDE

Slide 76

Slide 76 text

HYPE CYCLE

Slide 77

Slide 77 text

1 2 3 4 5 Visibilidade Tempo Technology Trigger Peak of Inflated Expectations Trough of Disillusionment Slope of Elightment Plateu of Productivity

Slide 78

Slide 78 text

O RAILS SEMPRE BUSCOU A PRODUTIVIDADE. Quando você tem produtividade constante, você consegue focar em seu produto e adicionar valor ao negócio.

Slide 79

Slide 79 text

RUBY ON RAILS Plateau of Productivity

Slide 80

Slide 80 text

NO FINAL, NÃO É ISSO O QUE QUEREMOS? Código bom é código em produção, rodando com usuários reais.

Slide 81

Slide 81 text

@fnando OBRIGADO.