Larry Myers

Daily Note

January 21, 2024

There is value in writing API clients yourself when integrating with a web service that follows a standard protocol. It forces you to understand the spec and get a deeper understanding of what you’re doing. Sometimes it can be deceptively easy to just pull in a 3rd party library that already has done much of the work for you. The other downside of using a 3rd party library is the amount of transitive dependencies you might pull in, as well as introducing another maintenance cost to your codebase.

Recently I wrote a small integration with Fastmail’s JMAP API (it’s how I’m posting this). There are 3rd party clients already, but it really wasn’t that much work to write a simple client. It only ended up being about 170 lines of code for my needs, and I don’t have to worry about yet another dependency. They add up so quickly when using node.js.