JSConfAr 2012

JSConfAr 2012

Viernes 13: JSON APIs y node.js

1b5777e832ade40d30aa49ca48292404?s=128

Dan Zajdband

May 20, 2012
Tweet

Transcript

  1. VIERNES 13 JSON APIs y NodeJS Dan Zajdband @dzajdband lunes

    21 de mayo de 12
  2. JSON lunes 21 de mayo de 12

  3. lunes 21 de mayo de 12

  4. Douglas Crockford lunes 21 de mayo de 12

  5. Douglas Crockford • JSON • JSLint • JSMin • YUI

    • Javascript: The Good Parts lunes 21 de mayo de 12
  6. JSON • Formato de intercambio de datos • Sintaxis estilo

    C • Fácil de entender y procesar para • Personas • Maquinas lunes 21 de mayo de 12
  7. JSON lunes 21 de mayo de 12

  8. Archirrival a.k.a. XML lunes 21 de mayo de 12

  9. JSON Estructuras de datos • Objeto • Arreglo lunes 21

    de mayo de 12
  10. JavaScript Estructuras de datos • Objeto • Arreglo lunes 21

    de mayo de 12
  11. JSON Otras Estructuras de datos • Número • String lunes

    21 de mayo de 12
  12. JavaScript Otras Estructuras de datos • Número • String lunes

    21 de mayo de 12
  13. JSON = JavaScript Object Notation lunes 21 de mayo de

    12
  14. NodeJS lunes 21 de mayo de 12

  15. NodeJS • JavaScript en el servidor • V8 • non-blocking

    I/O • Especialmente bueno para networking • Excelente sistema de módulos • Implementación JSON nativa lunes 21 de mayo de 12
  16. NodeJS JSON lunes 21 de mayo de 12

  17. NodeJS Módulo HTTP lunes 21 de mayo de 12

  18. módulos útiles NodeJS ExpressJS • Framework (El Sintatra de NodeJS)

    • Routing • Middleware (Connect) • Soporta 14 sistemas de template lunes 21 de mayo de 12
  19. módulos útiles NodeJS Superagent • Ajax with less suck (and

    node.js HTTP client with less suck) lunes 21 de mayo de 12
  20. módulos útiles NodeJS Otros • Node Oauth (npm install oauth)

    • Socket.io (npm install socket.io) • Redis (npm install redis) • up (npm install up) • mocha (npm install mocha) lunes 21 de mayo de 12
  21. Implementando una API lunes 21 de mayo de 12

  22. Ojo al piojo lunes 21 de mayo de 12

  23. lunes 21 de mayo de 12

  24. Implementando una API Ojo al piojo • Autenticación • Generar

    tokens • Hashes • Redis • OAuth • node-oauth lunes 21 de mayo de 12
  25. Implementando una API Ojo al piojo • Limitación de recursos

    • Documentar reglas de limitación • Mensajes de error expresivos lunes 21 de mayo de 12
  26. Manejando requests lunes 21 de mayo de 12

  27. Manejando requests Middleware • Express está basado (y usa) Connect

    • Ambos proyectos creados y mantenidos por @tjholowaychuk lunes 21 de mayo de 12
  28. Buscando las manos de peron lunes 21 de mayo de

    12
  29. lunes 21 de mayo de 12

  30. Manejando requests Middleware lunes 21 de mayo de 12

  31. Restringiendo recursos lunes 21 de mayo de 12

  32. Manejando requests Middleware lunes 21 de mayo de 12

  33. Manejando requests Middleware lunes 21 de mayo de 12

  34. Streams lunes 21 de mayo de 12

  35. Manejando requests Middleware lunes 21 de mayo de 12

  36. Consumiendo APIs lunes 21 de mayo de 12

  37. lunes 21 de mayo de 12

  38. Manejo de requests lunes 21 de mayo de 12

  39. Consumiendo APIs Manejo de requests • Módulo HTTP de NodejS

    • Request (npm install request) • Superagent (npm install superagent) lunes 21 de mayo de 12
  40. Consumiendo APIs Superagent • Ajax with less suck (and node.js

    HTTP client with less suck) lunes 21 de mayo de 12
  41. Consumiendo APIs Superagent • Streams lunes 21 de mayo de

    12
  42. OAuth lunes 21 de mayo de 12

  43. Consumiendo APIs Node OAuth • Implementación de OAuth en NodeJS

    • Autenticación • Manejo de requests http, https • Manejo de streams lunes 21 de mayo de 12
  44. Manejo de errores lunes 21 de mayo de 12

  45. lunes 21 de mayo de 12

  46. Endpoints lunes 21 de mayo de 12

  47. Twitter REST API ~= 100 endpoints lunes 21 de mayo

    de 12
  48. Consumiendo APIs Endpoints • Mi estrategia • Archivos de configuración

    (JSON) con endpoints • Aumentar el prototipo del objeto que exporta la librería lunes 21 de mayo de 12
  49. Una cosita más... (En realidad son 2) lunes 21 de

    mayo de 12
  50. This is Socket.IO guy... Do you still trust him? lunes

    21 de mayo de 12
  51. Preguntas? lunes 21 de mayo de 12

  52. Gracias! lunes 21 de mayo de 12