Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Talk from PharoDays 2017

Published in: Software
  • Video:
    Are you sure you want to  Yes  No
    Your message goes here


  1. 1. XmppTalk Philippe Back @philippeback
  2. 2. What is XMPP? eXtensible Messenging and Presence Protocol
  3. 3. Uses of Xmpp
  4. 4. So, I wanted an XMPP client in Pharo for the Slack Since them we moved to Discord qnd there is no XMPP there. Anyway...
  5. 5. One needs a server
  6. 6. Unpack and run OpenFire (Needs some Java)
  7. 7. One needs a non Pharo client
  8. 8. One does not want to recode the low level
  9. 9. Buiild 32 bit library for Pharo 32-bit Use a continer (LXC) Can do ith Docker as well. No need for docker with LXC.
  10. 10. One needs to bind to Pharo: UnifiedFF UFFI Binding for Libstrophe
  11. 11. Interesting... Typedefs Constants Callbacks
  12. 12. One needs a Pharo based client: XmppClient
  13. 13. One has to map callbacks
  14. 14. In order to implement XEPs
  15. 15. One has to see what is going on Modeled after ZnLogEvent thing but will move to Beacon.
  16. 16. Raw stuff can also be logged !console) and one can thus see the data stream
  17. 17. It is annoying to use test cases for interactive exploration Using RunCase approach
  18. 18. One needs a GUI, one day Using Spec Leveraging the announcements Target is have a one to one chat and a MUC (Multi User Chat)
  19. 19. Conclusion Pharo proved to be suitable for this Very easy to implement callbacks Promising for new XEPs Stable Easy to debug
  20. 20. Horizons Have a couple XMPP servers in the cloud Communicate right form the IDE