8. WHY BROWSERIFY?
• Same module loading system
• Same package manager
• Same code style
• Potential for code reuse
• Many modules just work
9. DO I NEED TO BROWSERIFY?
Maybe, if your module:
• Has complimentary interfaces on client and
server (ws)
• Doesn’t just work with Browserify’s shims
10. DESIGN TO BE BROWSERIFIED
• Expose a browser-specific entry point
• Define any custom shims for dependencies as
needed
• Setup source transforms
12. USE CASE - TWILIO CLIENT (VOIP)
• Enable VoIP calling between browsers, mobile
apps, and standard PSTN phones
• Requires both a server and client component
• Lots of configuration when client and server are
disconnected
13. USE CASE - TWILIO CLIENT (VOIP)
BROWSER NODE
Request capability token
14. USE CASE - TWILIO CLIENT (VOIP)
BROWSER NODE
Hit Twilio REST API maybe,
return capability token
15. USE CASE - TWILIO CLIENT (VOIP)
BROWSER TWILIO
Ask Twilio to initiate VoIP call
16. USE CASE - TWILIO CLIENT (VOIP)
NODE TWILIO
Ask for instructions on how to
handle call
17. USE CASE - TWILIO CLIENT (VOIP)
NODE TWILIO
Return instructions for the
call
18. USE CASE - TWILIO CLIENT (VOIP)
BROWSER YOUR NANA
VoIP call connected!