Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reactive Programming: experimentando un poco con RxJS #36

Closed
AlgusDark opened this issue Nov 21, 2016 · 16 comments
Closed

Reactive Programming: experimentando un poco con RxJS #36

AlgusDark opened this issue Nov 21, 2016 · 16 comments

Comments

@AlgusDark
Copy link

Title

Reactive Programming: experimentando un poco con RxJS

Background

Mi nombre es Carlos Pérez Gutiérrez, últimamente me ha llamado la atención de Functional Programming y fue cuando descubrí Reactive Programming, actualmente estoy estudiando/usando RxJS en experimentos para recrear el juego de "SNK VS Capcom: Card Fighters Clash" de NeoGeo Pocket (con WebRTC).

Agenda

1.- Streams (a.k.a Observables)
2.- Observers/Subscribers/Subscriptions
3.- Operators
4.- Putting All together...
5.- A little demo
6. QA

Take Away

Se aprenderán los conceptos básicos para programar en RxJS y algunos tips para que pueden ayudar a utilizar el esquema EventDriven que RxJS nos facilita.

Demo

Algunos ejemplos sencillos para pensar en Streams.

@sirgalleto
Copy link
Contributor

@AlgusDark Tu plática podría estar para este mes? teniendo en cuenta que sería en una semana.

@AlgusDark
Copy link
Author

Así es, la charla tendría una duración de unos 12-15 minutos para finalizar
con la demo y sesión de preguntas y respuestas. Estará lista para el día 29
sin problema alguno.

2016-11-22 12:18 GMT-06:00 Sebastián Osorio notifications@github.com:

@AlgusDark https://github.com/AlgusDark Tu plática podría estar para
este mes? teniendo en cuenta que sería en una semana.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#36 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAx-qCNWu2_egltFHdRXD94PuKUVqYcqks5rAzHtgaJpZM4K4wyG
.

Carlos Pérez Gutiérrez

@orlando
Copy link
Member

orlando commented Nov 22, 2016

@AlgusDark vamos a necesitar la charla lista para el Jueves como maximo. tenemos que revisarla y ver que todo este bien. Puedes entregarla para entonces?

@AlgusDark
Copy link
Author

@orlando que sería necesario? slides y el demo?

@orlando
Copy link
Member

orlando commented Nov 22, 2016

yes both @AlgusDark

@AlgusDark
Copy link
Author

@orlando Si, creo que es posible. Haré los slides en www.slides.com y voy a crear un proyecto de ejemplos en mi github. Escribiré aquí cuando tenga ambos.

@orlando
Copy link
Member

orlando commented Nov 22, 2016

Cool, thanks @AlgusDark

@AlgusDark
Copy link
Author

@orlando

Los slides los tengo en: https://docs.google.com/presentation/d/1C6L6jS_j6iR6pq-GTEZsy9znOs112ZAoUaUMoX1p7gQ/edit?usp=sharing

Y unos demos:
Example of how to manage state: https://jsbin.com/lilufa/3/edit?js,output
Example of how to manage sequential time: https://jsbin.com/zapoguf/2/edit?js,output
Example of how to manage streams: https://jsbin.com/zezucu/2/edit?js,output
Something more complex: https://jsbin.com/mafuma/12/edit?html,css,js,output

Dependiendo del tiempo es en el que escogeré los demos. Son muchos slides, pero los de operadores no se explicarán y sólo es para mostrar que si son muchos.

@rbdr
Copy link
Contributor

rbdr commented Nov 23, 2016

Viendo los slides, veo que cubren mucho del API, y del 31 al 39 son puros operadores, podría estar muy técnica la plática, los slides explican que son streams, observables y cómo funcionan en RxJS pero poquito tiempo explicando que tipo de problemas resuelven: Creo que está más interesante ver que tipo de problemas podemos resolver con este tipo de programación que los métodos que te ofrece RxJS. (eg. Puedo saber que existe "materialize", pero que problemas resuelvo con esto)

La pregunta principal que tratamos que se responda en la plática es "que problemas podemos solucionar con esto", o "que problemas no". La idea del demo es profundizar esos temas técnicos que no hay tiempo para cubrir en una plática de 15m y para dejar que los asistentes puedan forkearlo y profundizar en el tema.

@AlgusDark
Copy link
Author

Si, pensé dejar los detalles de "que problema soluciona" para las preguntas y respuestas (y decirlo entre slides), lo técnico y los pequeños demos para que se familiarizaran poco a poco con la creación de streams y que virtualmente (casi) todo puede ser un stream, como convertir código de un "addEventListener" a un "Observable".

@orlando
Copy link
Member

orlando commented Nov 24, 2016

@AlgusDark como dice @rbdr tratamos de que la platica contenga la menor cantidad de codigo posible, para eso esta el demo.

Los demos normalmente son cosas praticas que puedas forkear y usar. Tenemos varios ejemplos en el repo de GDLJS, pero siempre son mas completos que algunos snippets de jsbin. Puedes hacer un app sencilla que use RxJS.

Acá algunos ejemplos

https://github.com/gdljs/ullala
https://github.com/gdljs/webworker-demo
https://github.com/gdljs/twitter-speech
https://github.com/gdljs/coregan

Saludos!

@AlgusDark
Copy link
Author

AlgusDark commented Nov 24, 2016 via email

@sirgalleto
Copy link
Contributor

@AlgusDark veo que los slides tienen un título diferente al issue, podrías hacer un update con el título que desees?

@AlgusDark
Copy link
Author

AlgusDark commented Nov 24, 2016 via email

@orlando
Copy link
Member

orlando commented Nov 27, 2016

Hey @AlgusDark ya tienes el demo arriba en github para checarlo?

Thanks!

@AlgusDark
Copy link
Author

@orlando Acabo de terminar la presentación: https://docs.google.com/presentation/d/1Rz9pN1Kr1mrrFMq_3DWbEZfJ0fF50JsULEm4nU0OwH4/edit?usp=sharing

Del demo, como es "experimentando un poco con Rxjs", hice un sencillo TODO app y tengo otro experimento con promesas, que aunque no forma parte del demo, tiene algunas bases que pueden ayudar a los interesados.

@orlando orlando removed the scheduled label Dec 1, 2016
@orlando orlando closed this as completed Dec 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants