Servers & Side Effects
updated 10 months ago; latest suggestion 9 months ago
This proposal has been withdrawn...
Most apps talk to a server. Most apps do so using code that is tightly coupled to the endpoints that server provides. The functionality is largely the same – log in the user, fetch their profile, add a comment – yet we write it over and over again.
Turns out, by using the power of functional programming to separate server calls from their side effects, we can greatly reduce how much code we need to write.
After this talk, you'll be able to: - Use code from one API for a completely different one - Add a new, reusable call with only a few lines of code - Click through your app even when you don't have internet - Stub all your calls with one line of code - Quickly test a variety of scenarios for better code coverage
We'll show how to accomplish this by separating concerns more than is commonly done – into truly basic building blocks. Specifically, here are some buzzword-filled details: we'll separate calls into independent, modular (but related) classes, divide host server specifics from the endpoints the provide, elegantly handle errors, iteratively parse responses, and allow for simple call stubbing, all the while maintaining composability using the magic of functional programming.
Don't be overwhelmed! We'll show real life examples throughout – you'll be amazed at how much more you (and your code!) can accomplish.
@previous suggestion, yes! I'll be able to get into some depth. The key (in my experience) is great illustrative examples and enough humor to keep people engaged, both of which I hope to employ :)
This seems like a lot to cover in 30 minutes in any depth. Are you quite certain you'll be able to address all this material without losing the audience?