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

rake-compiler y MiniPortile - más allá de gemas para Windows

rake-compiler y MiniPortile - más allá de gemas para Windows

Beneficios de la compilación de gemas para otras plataformas como Linux y macOS.

Charla de meetup RubyAR, 2011.

Luis Lavena

November 29, 2011
Tweet

More Decks by Luis Lavena

Other Decks in Programming

Transcript

  1. rake-compiler y MiniPortile más allá de gemas para Windows

  2. Luis Lavena Twitter: @luislavena Work: www.area17.com Blog: blog.mmediasys.com

  3. No voy a hablar de Ruby para Windows

  4. Ruby for Dummies

  5. dummies != developers

  6. dummies != developer machines

  7. dummies = [designers, servers]

  8. • Designers en OSX - Comprar Xcode? • Instalar GCC

    en los servers? • Riesgos de seguridad • (DNS hijack y gem install... boom) • Repackage de gemas • DebGem.com, Debian, muy caro.
  9. rake-compiler http://bit.ly/rake-compiler

  10. "Provide a standard and simplified way to build and package

    Ruby C and Java extensions"
  11. Permite de una manera fácil mantener extensiones de Ruby.

  12. Convention over Configuration

  13. Rake::ExtensionTask.new('myext') do |ext| end

  14. $ rake compile $ rake gem

  15. Y lo más poderoso...

  16. $ rake native gem

  17. Gemas nativas instalan mucho mas rápido (no requiere compilación)

  18. Requisito: Un equipo como el dummie machine

  19. $ rake cross native gem

  20. Q: Y si el dummie machine no tiene la lib

    XYZ?
  21. A: static libraries

  22. (hay que poner en práctica 30 años de tecnología)

  23. MiniPortile http://bit.ly/mini_portile

  24. • No necesita instalar librerias en el sistema • Compilar

    tu gema/extension haciendo target a una versión especifica • Versión especifica == 100% reproducible • Más allá del popular "Works on my machine" • Compilación estática facilita la distribución MiniPortile
  25. Distribución: Stickler http://bit.ly/stickler-server

  26. Stickler + rake-compiler + MiniPortile

  27. No necesita instalar librerias en el sistema

  28. Tu propio gem server para tu empresa

  29. Tus gemas de forma binaria que no necesitan compilación

  30. $ gem install --source http://...

  31. $ gem sources --add http://...

  32. ¿Preguntas? (seguro se entendió todo)

  33. Recordar: Ruby no es sólo Rails

  34. ¡Muchas gracias a todos! CC: attribution, non-commercial, share alike.