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!

Roberto Alsina

November 19, 2017
Tweet

More Decks by Roberto Alsina

Other Decks in Technology

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! • [email protected]

    @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: •

    [email protected] • @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