Your SlideShare is downloading. ×
NoFlo - Flow-Based Programming for Node.js
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

NoFlo - Flow-Based Programming for Node.js

5,741
views

Published on

Published in: Technology

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,741
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
66
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Flow-Based Programming for Node.js
  • 2. http://bergie.iki.fihenri.bergius@iki.fi @bergie
  • 3. Call-Return
  • 4. Continuation-Passing Style
  • 5. JavaScript, the Ugly Parts
  • 6. Promises
  • 7. Hooks
  • 8. How to make your code manageable?
  • 9. Clean separation of concerns
  • 10. Visualized connections between components
  • 11. Flow-based programming“Flow-based programming (FBP) is a programmingparadigm that defines applications as networks of blackbox processes, which exchange data across predefinedconnections by message passing, where the connectionsare specified externally to the processes. These blackbox processes can be reconnected endlessly to formdifferent applications without having to be changedinternally. FBP is thus naturally component-oriented.” - Wikipedia
  • 12. Flow-based programming
  • 13. “Flow-Based Programming was invented byJohn Paul Morrison [from IBM] in the early1970s, and an early implementation of thistechnology has been in continuous productionuse at a major Canadian bank since that time.” - Wikipedia
  • 14. Softwarearcheology?
  • 15. “This is the Unix philosophy: Write programsthat do one thing and do it well. Writeprograms to work together. Write programsto handle text streams, because that is auniversal interface.” - Doug McIlroy
  • 16. “I thought of objects being like biologicalcells and/or individual computers on anetwork, only able to communicate withmessages (so messaging came at the verybeginning -- it took a while to see how to domessaging in a programming languageefficiently enough to be useful).” - Alan Kay
  • 17. send options a, u & x to command ps,send option firefox to command grep direct standard output of ps to grep
  • 18. NoFlo components
  • 19. Using NoFlo in your Node.js app
  • 20. Using NoFlo in your Node.js app
  • 21. DSL for specifying flows
  • 22. DSL for specifying flowssend string package.json to source port of Read send output of Read to Split (by lines) send output of Split to Count send output of Count to Display
  • 23. NoFlo shell
  • 24. NoFlo in integration email External partners CouchDB + CouchApp Project NoFloController External systems github.com/iks/proggis
  • 25. NoFlo in integrationgithub.com/iks/proggis
  • 26. NoFlo in real world
  • 27. What happens next?● Web-based drawing ● Hook.io support● Web-based ● Component loading monitoring & debug from NPM
  • 28. Flow-Based Programming, the book amzn.com/1451542321
  • 29. Flow-Based Programming for Node.jsgithub.com/bergie/noflo
  • 30. github.com/bergie/noflo Screenshot: github.com, couple of weeks ago