We use cookies to enhance your online experience and help personalize your visit so you are receiving the most relevant content. Privacy Policy

Session

Effective API Design in Go

This session is about the fundamentals of API design, both on
and off the Web. It will try to identify strategies and rules
that can help us create code libraries that are safe, effective,
and easy to use.
Most examples will be in Go, the language itself being a case study
of good API design, with clean and simple interfaces on top of a huge
complex implementation. There may also be a few examples in Java,
a language that has had more time to accumulate crud in the form of
superfluous and dysfunctional elements.

We will use the text https://github.com/yourbasic/api as a starting
point and we will look at the API design of some of these example libraries:

– https://github.com/yourbasic/fenwick is a tiny example
intended to illustrate the very basics of API design.

– https://github.com/yourbasic/bloom is a more intricate example,
with tricky semantics, performance and compatibility issues.

– https://github.com/yourbasic/graph is a full-scale library
with challenging design decisions leading to new interfaces,
complementary and auxiliary data structures, and subpackages.

Smarter Tech Decisions Using APIs

Smarter Tech Decisions Using APIs

API blog

High impact blog posts and eBooks on API business models, and tech advice

API conferences

Connect with market leading platform creators at our events

API community

Join a helpful community of API practitioners

API Insights Straight to Your Inbox!

Can't make it to the event? Signup to the Nordic APIs newsletter for quality content. High impact blog posts on API business models and tech advice.

Join Our Thriving Community

Become a part of our global community of API practitioners and enthusiasts. Share your insights on the blog, speak at an event or exhibit at our conferences and create new business relationships with decision makers and top influencers responsible for API solutions.