Designing and Consume APIs Like a Pro!
Elixir has three scorching hot libraries right now, Phoenix LiveView, Nerves and Scenic. It’s no accident that usage of these vastly different problem sets expose APIs with plenty in common. They are powerful for experts but friendly to beginners. In this talk, we’ll look at these frameworks through the eyes of new Elixir users, even some new programmers.
Our photo booth project, introduced in an Elixir mentoring group, used all of them to build a three-fold project, to talk to hardware with a camera and a display, take photos and present them to a user, and how to send those photos and screen them before they’re made publicly available. We’ll look at how we broke down each problem and the designs that each of those pieces has in common. The answers may surprise you.
Beginners will love seeing how to apply common problems in functional programming, primarily using reducers and functions to model state. Experts will love seeing how to expose APIs, shielding away the complexity from new users but making its full power available for experts.