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

Real Time iOS apps with PubNub

Real Time iOS apps with PubNub

Slides for a Santex Techmeetup at Lima. https://eventioz.pe/e/tech-meetup-realtime-ios-app-with-pubnub

Jose Torres Cardenas

April 28, 2014
Tweet

More Decks by Jose Torres Cardenas

Other Decks in Programming

Transcript

  1. REAL-TIME iOS APPS WITH

    View Slide

  2. who am I ?

    View Slide

  3. JOSE TORRES
    @coch3_
    B.S. in Software Engineering
    Currently making Software Products based on iOS platform
    Visual Arts passionate and French Bulldogs lover

    View Slide

  4. what is real-time
    communication
    anyway?

    View Slide

  5. Any live telecommunications that occur
    without transmission delays.
    Nearly instant with minimal latency.

    View Slide

  6. common scenario

    View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. common workarounds

    View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. WARNING TECHNICAL CONTENT

    View Slide

  31. PULL TECHNOLOGIES
    Initial request for data originates from the client, and then is
    responded to by the server.

    View Slide

  32. PUSH TECHNOLOGIES
    Request for a given transaction is initiated by publisher or
    central server.

    View Slide

  33. PUSH TECHNOLOGIES
    HTTP Server Push/HTTP Streaming, Long Polling/Polling, ...

    View Slide

  34. HALF DUPLEX
    Initial channel can send and receive, but not at the same time.

    View Slide

  35. BUT...
    All of these methods for providing real-time data involve HTTP
    request and response headers, which contain lots of additional,
    unnecessary header data and introduce latency.

    View Slide

  36. HTTP
    Simply put, HTTP wasn't designed for real-time.

    View Slide

  37. how do we achieve real-
    time then?

    View Slide

  38. WEB SOCKETS
    Allow a long-held single TCP socket connection to be
    established between the client and server which allows for bi-
    directional, full duplex, messages to be instantly distributed
    with little overhead resulting in a very low latency connection

    View Slide

  39. FULL DUPLEX
    Data can travel in both directions simultaneously. Bidirectional
    communications channel that operates through a single socket
    over the Web.

    View Slide

  40. CONTENT AS IT HAPPENS

    View Slide

  41. View Slide

  42. not at all

    View Slide

  43. WEB SOCKETS
    ARE NOT COMPLEX

    View Slide

  44. WEB SOCKETS
    ARE VERY COMPLEX

    View Slide

  45. FUNCTIONALITY = 25 %
    OPERATIONAL + SCALING = 75 %

    View Slide

  46. hopefully...

    View Slide

  47. View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. case studies

    View Slide

  56. View Slide

  57. View Slide

  58. View Slide

  59. our experience

    View Slide

  60. View Slide

  61. DEMO

    View Slide

  62. crazycolors
    https://github.com/coch3/crazycolors

    View Slide

  63. + Information
    PubNub
    PubNub documentation
    PubNub websockets
    Why your app needs real-time ?
    Websockets
    iOS SDK
    PubNub best practices
    http://www.pubnub.com/
    http://cocoadocs.org/docsets/PubNub
    http://www.pubnub.com/blog/what-are-websockets
    http://venturebat.com/2013/04/05/why-your-app-needs-to-be-real-time/
    http://www.websocket.org/quantum.html
    http://www.pubnub.com/docs/objective-c/iOS/ios-sdk.html
    https://help.pubnub.com/entries/22271342-PubNub-Best-Practices

    View Slide

  64. THANKS!
    www.josetorrescardenas.com

    View Slide

  65. www.santexgroup.com

    View Slide