Skip to main content

Language Guidelines

The intent of the SDK is to provide a language- or platform-first developer experience, where the SDK and its API features are optimized to feel comfortable and natural to experts in that environment.

Since different languages and toolchains have their own pecularities, it's important to follow consistent patterns and not succumb to "Cargo Cult" antipatterns when applying SDK design patterns from one SDK to another.

For example, the Swift SDK has often been the trailblazer for many features within the Client SDKs, but Swift is known to have some fairly goofy features, such as:

  • Enums with Associated Values
  • Extensions
  • Protocol-Oriented-Design

This section of the documentation aims to catalog the patterns used across the various SDK features