Upgrade to Pro — share decks privately, control downloads, hide ads and more …

O que o Front end pode aprender com Rails

5a90a67fa1a92e6a4b605cfd8da5e375?s=47 Lucas Mazza
November 08, 2014

O que o Front end pode aprender com Rails

Apresentado no TablelessConf e no Front in POA.

5a90a67fa1a92e6a4b605cfd8da5e375?s=128

Lucas Mazza

November 08, 2014
Tweet

Transcript

  1. O que o Front end pode aprender com o Rails

  2. @lucasmazza

  3. http:/ /www.casadocodigo.com.br/products/livro-html-css

  4. None
  5. None
  6. None
  7. None
  8. Partials Rails Assets Bourbon CoffeScript Asset Pipeline Ember Sass Compass

    Haml Helpers Rake Variants ✗
  9. None
  10. None
  11. Comunalidade 1

  12. “We confess the fact that we are not as special

    as we like to believe.” DHH @ RailsConf 2008
  13. None
  14. None
  15. Problemas comuns & Soluções comuns

  16. Convention over Configuration

  17. Defaults over Choices

  18. Paradox of Choice “People like choices a lot better than

    actually having to choose.” DHH @ RailsConf 2008
  19. Barry Schwartz - The paradox of choice http:/ /www.ted.com/talks/barry_schwartz_on_the_paradox_of_choice

  20. Remover escolhas triviais

  21. “We want to have as much time as we can

    for the challenging tasks” Yehuda Katz @ RailsConf 2014
  22. 10 Years! - Yehuda Katz https:/ /www.youtube.com/watch?v=9naDS3r4MbY

  23. None
  24. • Package Manager?

  25. • Package Manager? • Module Loader?

  26. • Package Manager? • Module Loader? • MVC Framework?

  27. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework?
  28. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner?
  29. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner? • CSS Architecture?
  30. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner? • CSS Architecture? • …
  31. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner? • CSS Architecture? • … ??
  32. None
  33. 2 Open Source

  34. None
  35. Soluções compartilhadas para problemas comuns

  36. Open Source Seu código Webapp XYZ

  37. None
  38. Open Source Seu código Snowflake CO.

  39. None
  40. npm bower ender volo component jam duo spm jspm …

    ಠ_ಠ
  41. None
  42. “I find it frustrating and hypocritical to hear, “This is

    a great time to get involved for people who are interested in helping to shape this project…” from people who chose not to get involved–rather, choosing to do something on their own.“ Patrick Masson - Joiners, Not Starters http:/ /pmasson.wordpress.com/2013/10/16/joiners-not-starters/
  43. “[…]my point is simply, before starting a new open source

    project, please look for one to join.” Patrick Masson - Joiners, Not Starters http:/ /pmasson.wordpress.com/2013/10/16/joiners-not-starters/
  44. Disrupção e fragmentação precisam convergir em algum momento

  45. • Rails & Merb

  46. • Rails & Merb • rvm vs rbenv vs chruby

  47. • Rails & Merb • rvm vs rbenv vs chruby

    • RubySpec
  48. (não é que novos projetos não são bem vindos…)

  49. Open Source não é só código

  50. • Bug reports & troubleshooting

  51. • Bug reports & troubleshooting • Documentação

  52. • Bug reports & troubleshooting • Documentação • Tutoriais, exemplos

    e wikis
  53. • Bug reports & troubleshooting • Documentação • Tutoriais, exemplos

    e wikis • Mailing Lists & Stack Overflow
  54. “Don't feel guilty about not contributing to open source" Julia

    Evans http:/ /jvns.ca/blog/2014/04/26/i-dont-feel-guilty-about-not-contributing-to-open-source/
  55. 3 Abstrações & Frameworks

  56. “f**k jQuery, Zepto or any others javascript frameworks!” Todo mundo,

    em algum momento
  57. ❤ jQuery ❤

  58. None
  59. DOM jQuery seu código

  60. DOM jQuery seu código browser, webserver, OSs,…

  61. DOM jQuery seu código Promises

  62. ❤ Promises/A+ ❤

  63. DOM jQuery seu código Promises Service Workers

  64. DOM jQuery seu código Promises Generators

  65. DOM jQuery seu código Promises …

  66. DOM jQuery seu código Promises … …

  67. DOM jQuery Promises … … …

  68. “It's our job as modern programmers not to abandon abstractions

    due to these deficiencies, but to embrace the useful elements of them, to adapt the working parts and construct ever so slightly less leaky and broken abstractions over time. “ Jeff Atwood - All Abstractions Are Failed Abstractions http:/ /blog.codinghorror.com/all-abstractions-are-failed-abstractions/
  69. Does this make our code at least a little easier:

    • to write? • To understand? • To troubleshoot? • Are we better off with this than we were without it? Jeff Atwood - All Abstractions Are Failed Abstractions http:/ /blog.codinghorror.com/all-abstractions-are-failed-abstractions/
  70. “When you decide to not pick a public framework, you

    will end up with a framework anyway: your own.” “If you don't pick a public framework, you should commit to building one on purpose, not by accident” Ryan Florence http:/ /blog.ryanflorence.com/you-cant-not-have-a-framework.html
  71. Difícil deve se tornar fácil e fácil deve se tornar

    trivial
  72. • Proteção contra CSRF • SQL Injection • Compressão •

    Connection Pooling • XSS • …
  73. • Eventos • AJAX • Feature detection • Date/Time (╯°□°)╯︵

    ┻━┻ • …
  74. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner? • CSS Architecture? • …
  75. •Module Loader?

  76. ES 6 ftw

  77. • Package Manager? • Module Loader? • MVC Framework? •

    Test Framework? • Task Runner? • CSS Architecture? • …
  78. 4 Comunidades

  79. Rails não é uma ilha

  80. Nenhum desenvolvedor é uma ilha

  81. Nenhuma comunidade é uma ilha

  82. Tem muita coisa legal rolando por aí

  83. Elixir Go Scala Ruby Python Clojure Rust Swift

  84. Obrigado! https:/ /twitter.com/lucasmazza https:/ /speakerdeck.com/lucas