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

Python en el browser

Python en el browser

Podemos usar python en el browser en vez de Javascript? Veamos!

B1ff2afbfbfe88037c59978bc4c102a6?s=128

Roberto Alsina

November 19, 2017
Tweet

Transcript

  1. Python en el browser Mil Intentos y un Invento Python

    en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  2. Presentación • Hola! • Soy Roberto Alsina! • ralsina@onapsis.com •

    @ralsina en twitter • El Roberto Alsina que sale en google que no es un diputado paraguayo Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  3. Reglas • Me pueden preguntar cualquier cosa en cualquier momento

    • Si no se entiende, avisen • Si hablo muy rápido, avisen para que frene • Si digo malas palabras, mis mas sinceras disculpas Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  4. Autocrítica • Mil intentos y un invento es una película

    de 1972 • Hay que actualizar las referencias culturales Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  5. Update • Cambio de título • Python en el browser:

    Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  6. Update • Cambio de título • Python en el browser:

    • Dark knight rises? Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  7. Update • Cambio de título • Python en el browser:

    • Dark knight rises? • Era de la extinción? Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  8. Update • Cambio de título • Python en el browser:

    • Dark knight rises? • Era de la extinción? • Los juegos del hambre: Sinsajo -- Parte 1 en Real 3D Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  9. Slide Especial Para Córdoba • Soy un experto en múltiples

    temas relacionados con la informática Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  10. Slide Especial Para Córdoba • Soy un experto en múltiples

    temas relacionados con la informática • Carezco de título habilitante Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  11. Slide Especial Para Córdoba • Soy un experto en múltiples

    temas relacionados con la informática • Carezco de título habilitante • No estoy afiliado al CPCIPC Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  12. Slide Especial Para Córdoba • Soy un experto en múltiples

    temas relacionados con la informática • Carezco de título habilitante • No estoy afiliado al CPCIPC • Esta charla es técnicamente ilegal desde este momento Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  13. Esta Charla • Python en el browser: ¿Por qué? •

    ¿Es importante? • ¿Es posible? • ¿Es razonable? • ¿Cómo? Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  14. ¿Por Qué? • Porque hacer client-side es cool • Porque

    hacer server-side es aburriiiiiido • Porque web is the new desktop • Porque queremos usar chupines y tomar tragos artesanales y ser millenials Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  15. ¿Es importante? • Probablemente no. • Pero sí. Python en

    el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  16. ¿Es Posible? • Bueno, sí. Python en el browser ||

    PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  17. ¿Es Razonable? • ¡Ni ahí! • Eso nunca nos detuvo

    antes. Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  18. ¿Qué es Python? Respondamos a través de una serie de

    declaraciones cada vez más polémicas Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  19. ¿Qué es Python? CPython es Python. Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  20. ¿Qué es Python? PyPy es Python Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  21. ¿Qué es Python? Jython y IronPython son Python Python en

    el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  22. ¿Qué es Python? Nuitka es Python Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  23. ¿Qué es Python? MicroPython es Python Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  24. ¿Qué es Python? Grumpy es Python Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  25. ¿Qué es Python? Py14 es Python (bueno, casi) Python en

    el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  26. ¿Qué es Python? Cualquier cosa que puede agarrar un programa

    Python y ejecutarlo es Python Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  27. ¿Qué es Python? Todas las cosas que voy a mencionar

    después son python Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  28. JS es el nuevo ASM • Corre "en todos lados"

    Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  29. JS es el nuevo ASM • Corre "en todos lados"

    • Nadie quiere escribirlo Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  30. JS es el nuevo ASM • Corre "en todos lados"

    • Nadie quiere escribirlo • Hay un montón de lenguajes para no hacerlo Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  31. Transpilers • Typescript • Coffeescript • GopherJS • Otros Python

    en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  32. Aún JS se transpila! Babel: Transpiler de JS a JS

    Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  33. Debugging Source maps! Python en el browser || PyCon 2017

    || Querés trabajar con Python? onapsis.com/careers
  34. Historia <script type="text/javascript"> <script> Python en el browser || PyCon

    2017 || Querés trabajar con Python? onapsis.com/careers
  35. Grail La web, en 1995, en Python. Python en el

    browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  36. PyJS • Port de Google GWT a Python! • Widgets!

    • AJAX tricks! • Versión desktop! Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  37. PyJS Ultimo commit en 2015 :-( Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  38. Brython • Implementación de Python3 hecha en JS • Incluye

    una buena parte de la stdlib Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  39. Brython <script type="text/python3"> """Code for the clock""" import time import

    math import datetime Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  40. Brython • Mantenido! • Simplemente usás python en vez de

    JS! • Tiene un port de PyGame! • Tenés que cargar un runtime de 600KB Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  41. Skulpt • Muy parecido a Brython • Implementa Python 2

    • Python 2 debe morir • Skulpt debe morir • Sorry, reglas son reglas Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  42. Transcrypt • Implementa Python 3 • Hecho en Python 2/3

    (Python 0.666) • Compila Python a JS • No tiene runtime! Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  43. ¿Cómo se ve? <script src="d3.min.js"> </script> <script src="__javascript__/d3js_demo.js"> </script> Python

    en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  44. ¿Cómo se ve en tu editor? class Spawn: def __init__

    (self, width, height): self.svg = d3.select('body') .... spawn = Spawn(window.innerWidth, window.innerHeight) Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  45. ¿Cómo pasás de uno a otro? transcrypt -b -m -e

    6 -n hello.py Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  46. No Viene con Pilas • Tenés acceso al namespace global

    de JS • Podés usar cualquier cosa hecha en JS • Tu código es JS Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  47. Hay Pilas ... diferentes • No tenés json pero tenés

    JSON Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  48. Hay Pilas ... diferentes • No tenés json pero tenés

    JSON • No tenés datetime pero tenés Date Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  49. Hay Pilas ... diferentes • No tenés json pero tenés

    JSON • No tenés datetime pero tenés Date • Por suerte tenés moment.js Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  50. Hay Pilas ... extrañas Por ejemplo... Python en el browser

    || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  51. Ejemplo Usando SQLite desde Python en un browser. self.db =

    __new__(SQL.Database()) self.db.run('CREATE TABLE test (col1, col2);' self.db.run('INSERT INTO test VALUES (1,1), ( Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  52. ¿SQLite? Si, SQLite. • SQLite es C • Podés compilar

    C a JS • Una vez que es JS lo podés usar Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  53. Hay Pilas Mejores • Hacer gráficos 3D Python en el

    browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  54. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  55. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    • Con particles Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  56. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    • Con particles • Con física Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  57. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    • Con particles • Con física • Con texturas animadas Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  58. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    • Con particles • Con física • Con texturas animadas • Acelerado 3D Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  59. Hay Pilas Mejores • Hacer gráficos 3D • Con animación

    • Con particles • Con física • Con texturas animadas • Acelerado 3D • Que puedas distribuir fácil Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  60. Babylon Apretá Alt-Tab, che Python en el browser || PyCon

    2017 || Querés trabajar con Python? onapsis.com/careers
  61. Es Lo Mismo que "Python"? • Mas o menos •

    Pytónico / Javascriptoso • Uncanny Valley Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  62. Problemas Random • Usar módulos "puro python" • Distribuir tu

    app • Wrappear cosas Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers
  63. Preguntas? Si no se te ocurre ahora una pregunta: •

    ralsina@onapsis.com • @ralsina en twitter Si, en serio estamos contratando: onapsis.com/careers ;-) Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers