Slide 1

Slide 1 text

Python en el browser Mil Intentos y un Invento Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

¿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

Slide 15

Slide 15 text

¿Es importante? • Probablemente no. • Pero sí. Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

¿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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

¿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

Slide 27

Slide 27 text

¿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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Transpilers • Typescript • Coffeescript • GopherJS • Otros Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Historia <script> Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

PyJS Ultimo commit en 2015 :-( Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

Brython """Code for the clock""" import time import math import datetime Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

¿Cómo se ve? Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 44

Slide 44 text

¿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

Slide 45

Slide 45 text

¿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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

Hay Pilas ... extrañas Por ejemplo... Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

¿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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

Babylon Apretá Alt-Tab, che Python en el browser || PyCon 2017 || Querés trabajar con Python? onapsis.com/careers

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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