[023.5] Elm Weekly Drip #23 and Exercise: Remember Auth Token


Links on SVG, TDD, designer-love, and easy elm app bootstrapping. Also an exercise, to store auth tokens in localStorage.

Subscribe now

So I just got back from ElmConf (which was amazing) and expect to have a bunch of great videos in a week or two. In the meantime, though, there are lots more awesome links to share.

Richard Feldman: From jQuery to Flux to Elm - Forward 4 Web Summit

In this video, Richard evaluates jQuery, Flux, and Elm across various considerations in a real-world (but simple and funny) application - generating band names randomly, given 2 genres. He adds just enough requirements to make it able to tease out a real issue, without building a large enough app that things get confusing to follow.

Once again, this is probably primarily useful for help proselytizing Elm, but it's also good to revisit the benefits from time to time.

[ from @rtfeldman ]


ahultgren/emmet-elm

At elm-conf, someone mentioned that designers really wanted to be able to use their tried-and-true tools and that this was potentially a problem for Elm with respect to collaborating with your design team. Hopefully emmet-elm is one of many solutions to this concern :)

[ from @andreashultgren ]


TDD-ing an URL encoding/decoding library with Richard Feldman and Luke Westby

Richard and Luke TDD'ed some work on an URL encoding and decoding library. The ultimate takeaway was that maybe this library doesn't need to exist, but the session itself is great fun to watch.

[ from @rtfeldman and @luke_dot_js ]


svg-path-dsl

SVG paths are easy to read for computers, but not for humans. This package provides a nicer way to create paths, providing safety (no runtime exceptions!) and less room for typos.

[ from @flokkievids ]


How to Create Elm App

Create Elm App is a command-line tool to ease getting started-experience and help you bootstrap and develop your Elm applications without any configuration done from your side, so you can focus on the code!

[ from @eduardkyvenko ]

Exercise

This week we introduced authentication. On one hand, this is great because we obviously need it. On the other hand, it's basically the worst thing because it breaks our hot module replacement for the most part as we always get redirected to login when we change something.

For this week's exercise, store the auth token and load it up when the app is booting.

In a few weeks (hopefully), the persistent-cache package should be released - but it isn't yet, as of this writing. Consequently, you can just use localStorage over a port in the same way that we did in drip 005.2.

To have this work smoothly, you'll probably want to use programWithFlags to boot the app with the auth token provided at launch where possible. We haven't covered that yet, so I'll make sure to show it in the solution next week. See you soon!

Published on 09.19.2016