API Vs SDK! What's the difference?

ByteByteGo · Intermediate ·🏗️ Systems Design & Architecture ·1y ago

Key Takeaways

The video explains the difference between APIs and SDKs, demonstrating how they are used in modern app development to simplify complex features and services, with a focus on REST architecture, API keys, and SDK toolboxes.

Full Transcript

modern apps are incredibly complex they need to process payments send notifications and show maps and that's just the beginning building all these features from scratch would take years that's where apis and sdks come in they are the essential tools that make a favorite apps work together seamlessly let's start with apis or application programming interfaces think of them as universal translators they let different software applications talk to each other instead of building everything from scratch developers can tap into specialized services that are already battle tested and reliable most modern API use what's called rest architecture it's a way of communicating through HTTP requests to specific URLs called endpoints the core operations are beautifully simple get fetches data from a service post creates new resources put update existing ones and delete while that removes them when we make these requests we can include specific parameters to get exactly what we need for operations I post we'll package data in the request body usually in Json format every API response comes with a status code that tells us what happened the 200s means everything went well like getting a thumbs up a 200 means okay we did it while 2011 says great we created something new the 400s are different they're telling us something went wrong on our end maybe we made a bad request or try to access something without permission and those 500 level codes that's the server raising his hands to say hey this is on us we've got a problem over here security is very important in the API World services use API keys or o off tokens to verify who's making requests think of it like a digital ID card they also keep an eye on how many requests are being made go over the limit and we might get cut off or see some extra charges on a bill let's see this in action with a food delivery app when we open it multiple apis work together behind the scenes first a map API kicks in show us all the restaurants nearby once we find a place that looks good the app's own API fetches the restaurant's manual ready to the order that's when a payment API steps in to handle our transaction after everything's confirmed a messaging API makes sure our delivery driver knows where to go now let's shift gears to sdks software development kits while apis are the raw connection points between services sdks are like pre-built toolboxes that make those connection easier to use they handle the complex technical details so we can focus on building features and SDK is a complete package it comes with tools libraries and documentation everything we need to build apps with specific platforms like Android or iOS a well-designed SDK takes all those platform complexities and simplifies them making sure our apps behaves consistently across different devices many sdks come with pre-built API clients that make integration easy these clients handle all the technical heavy lifting they manage authentication they format requests properly they turn complicated responses into Data that's easy to use in a code here's a real example Instagram's SDK instead writing hundreds of lines of code to connect with Instagram's API the SD K let us add a share to Instagram feature with minimal effort it's like they're saying don't worry about the technical details here's the simple way to do it so when should we choose between an API and SDK let's break it down direct API integration makes sense when we need complete control over our project is a good choice when we want to keep our dependencies minimal and sometimes we might be working with a platform that doesn't have an SDK that's when apis become a best friend SDK take a different approach they are fantastic when we need to move fast and get our product to Market quickly they come pack with best practices built right in saving us from common pitfalls and if we need special features for specific platforms sdks are often the way to go remember it's not always an either or Choice many successful apps use both SD cases for their main use cases and direct API access for custom features together these tools form the building blocks of mod modern software development letting us create powerful apps without Reinventing the wheel if you like our videos you might like a system design newsletter as well it covers topics and Trends in large scale system design trusted by 1 million readers subscribe that blog. bio.com

Original Description

Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter: https://bit.ly/bbg-social Animation tools: Adobe Illustrator and After Effects. Checkout our bestselling System Design Interview books: Volume 1: https://amzn.to/3Ou7gkd Volume 2: https://amzn.to/3HqGozy The digital version of System Design Interview books: https://bit.ly/3mlDSk9 ABOUT US: Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from ByteByteGo · ByteByteGo · 0 of 60

← Previous Next →
1 What happens when you type a URL into your browser?
What happens when you type a URL into your browser?
ByteByteGo
2 System Design: Why is Kafka fast?
System Design: Why is Kafka fast?
ByteByteGo
3 System Design: How to store passwords in the database?
System Design: How to store passwords in the database?
ByteByteGo
4 Big Misconceptions about Bare Metal, Virtual Machines, and Containers
Big Misconceptions about Bare Metal, Virtual Machines, and Containers
ByteByteGo
5 FAANG System Design Interview: Design A Location Based Service (Yelp, Google Places)
FAANG System Design Interview: Design A Location Based Service (Yelp, Google Places)
ByteByteGo
6 Scan To Pay in 2 Minutes
Scan To Pay in 2 Minutes
ByteByteGo
7 Consistent Hashing | Algorithms You Should Know #1
Consistent Hashing | Algorithms You Should Know #1
ByteByteGo
8 System Design: Why is single-threaded Redis so fast?
System Design: Why is single-threaded Redis so fast?
ByteByteGo
9 HTTP/1 to HTTP/2 to HTTP/3
HTTP/1 to HTTP/2 to HTTP/3
ByteByteGo
10 What Is REST API? Examples And How To Use It: Crash Course System Design #3
What Is REST API? Examples And How To Use It: Crash Course System Design #3
ByteByteGo
11 The Secret Sauce Behind NoSQL: LSM Tree
The Secret Sauce Behind NoSQL: LSM Tree
ByteByteGo
12 Bloom Filters | Algorithms You Should Know #2 | Real-world Examples
Bloom Filters | Algorithms You Should Know #2 | Real-world Examples
ByteByteGo
13 Back-Of-The-Envelope Estimation / Capacity Planning
Back-Of-The-Envelope Estimation / Capacity Planning
ByteByteGo
14 How To Choose The Right Database?
How To Choose The Right Database?
ByteByteGo
15 How Does Live Streaming Platform Work? (YouTube live, Twitch, TikTok Live)
How Does Live Streaming Platform Work? (YouTube live, Twitch, TikTok Live)
ByteByteGo
16 Latency Numbers Programmer Should Know: Crash Course System Design #1
Latency Numbers Programmer Should Know: Crash Course System Design #1
ByteByteGo
17 What Are Microservices Really All About? (And When Not To Use It)
What Are Microservices Really All About? (And When Not To Use It)
ByteByteGo
18 How Does Apple/Google Pay Work?
How Does Apple/Google Pay Work?
ByteByteGo
19 Proxy vs Reverse Proxy (Real-world Examples)
Proxy vs Reverse Proxy (Real-world Examples)
ByteByteGo
20 What is API Gateway?
What is API Gateway?
ByteByteGo
21 What Is GraphQL? REST vs. GraphQL
What Is GraphQL? REST vs. GraphQL
ByteByteGo
22 What Is Single Sign-on (SSO)? How It Works
What Is Single Sign-on (SSO)? How It Works
ByteByteGo
23 What Is A CDN? How Does It Work?
What Is A CDN? How Does It Work?
ByteByteGo
24 What is RPC? gRPC Introduction.
What is RPC? gRPC Introduction.
ByteByteGo
25 SSL, TLS, HTTPS Explained
SSL, TLS, HTTPS Explained
ByteByteGo
26 FANG Interview Question | Process vs Thread
FANG Interview Question | Process vs Thread
ByteByteGo
27 What is OSI Model | Real World Examples
What is OSI Model | Real World Examples
ByteByteGo
28 CAP Theorem Simplified
CAP Theorem Simplified
ByteByteGo
29 Kubernetes Explained in 6 Minutes | k8s Architecture
Kubernetes Explained in 6 Minutes | k8s Architecture
ByteByteGo
30 CI/CD In 5 Minutes | Is It Worth The Hassle: Crash Course System Design #2
CI/CD In 5 Minutes | Is It Worth The Hassle: Crash Course System Design #2
ByteByteGo
31 Why Is System Design Interview Important?
Why Is System Design Interview Important?
ByteByteGo
32 8 Key Data Structures That Power Modern Databases
8 Key Data Structures That Power Modern Databases
ByteByteGo
33 System Design Interview: A Step-By-Step Guide
System Design Interview: A Step-By-Step Guide
ByteByteGo
34 Top 5 Redis Use Cases
Top 5 Redis Use Cases
ByteByteGo
35 Debugging Like A Pro
Debugging Like A Pro
ByteByteGo
36 But What Is Cloud Native Really All About?
But What Is Cloud Native Really All About?
ByteByteGo
37 Everything You Need to Know About DNS: Crash Course System Design #4
Everything You Need to Know About DNS: Crash Course System Design #4
ByteByteGo
38 The Most Beloved Burger for Developers
The Most Beloved Burger for Developers
ByteByteGo
39 10+ Key Memory & Storage Systems: Crash Course System Design #5
10+ Key Memory & Storage Systems: Crash Course System Design #5
ByteByteGo
40 Cache Systems Every Developer Should Know
Cache Systems Every Developer Should Know
ByteByteGo
41 Top 7 ChatGPT Developer Hacks
Top 7 ChatGPT Developer Hacks
ByteByteGo
42 How ChatGPT Works Technically | ChatGPT Architecture
How ChatGPT Works Technically | ChatGPT Architecture
ByteByteGo
43 10 Key Data Structures We Use Every Day
10 Key Data Structures We Use Every Day
ByteByteGo
44 Top 7 Most-Used Distributed System Patterns
Top 7 Most-Used Distributed System Patterns
ByteByteGo
45 Secret To Optimizing SQL Queries - Understand The SQL Execution Order
Secret To Optimizing SQL Queries - Understand The SQL Execution Order
ByteByteGo
46 Amazon Prime Video Ditches AWS Serverless, Saves 90%
Amazon Prime Video Ditches AWS Serverless, Saves 90%
ByteByteGo
47 Top 6 Most Popular API Architecture Styles
Top 6 Most Popular API Architecture Styles
ByteByteGo
48 Top 5 Most-Used Deployment Strategies
Top 5 Most-Used Deployment Strategies
ByteByteGo
49 How Discord Stores TRILLIONS of Messages
How Discord Stores TRILLIONS of Messages
ByteByteGo
50 Uncovering Stack Overflow's Shocking Architecture
Uncovering Stack Overflow's Shocking Architecture
ByteByteGo
51 OAuth 2 Explained In Simple Terms
OAuth 2 Explained In Simple Terms
ByteByteGo
52 Demystifying the Unusual Evolution of the Netflix API Architecture
Demystifying the Unusual Evolution of the Netflix API Architecture
ByteByteGo
53 1 Year Of YouTube | Best System Design Series
1 Year Of YouTube | Best System Design Series
ByteByteGo
54 DevOps vs SRE vs Platform Engineering | Clear Big Misconceptions
DevOps vs SRE vs Platform Engineering | Clear Big Misconceptions
ByteByteGo
55 Top 7 Ways to 10x Your API Performance
Top 7 Ways to 10x Your API Performance
ByteByteGo
56 Why Google and Meta Put Billion Lines of Code In 1 Repository?
Why Google and Meta Put Billion Lines of Code In 1 Repository?
ByteByteGo
57 Git MERGE vs REBASE: Everything You Need to Know
Git MERGE vs REBASE: Everything You Need to Know
ByteByteGo
58 Top 6 Load Balancing Algorithms Every Developer Should Know
Top 6 Load Balancing Algorithms Every Developer Should Know
ByteByteGo
59 Algorithms You Should Know Before System Design Interviews
Algorithms You Should Know Before System Design Interviews
ByteByteGo
60 Top 5 Most Used Architecture Patterns
Top 5 Most Used Architecture Patterns
ByteByteGo

The video teaches the difference between APIs and SDKs, and how to use them in modern app development, with a focus on REST architecture, API keys, and SDK toolboxes. It provides examples of how APIs and SDKs are used in real-world applications, and offers guidance on when to use each.

Key Takeaways
  1. Understand the basics of APIs and SDKs
  2. Learn about REST architecture and HTTP requests
  3. Implement API keys and OAuth tokens for security
  4. Use API clients and SDK toolboxes for simplified integration
  5. Determine when to use direct API integration versus SDKs
💡 APIs and SDKs are essential tools for modern app development, and understanding the difference between them is crucial for building powerful and efficient applications.

Related Reads

📰
Salam is a general-purpose and systems programming language designed for efficient software development
Learn about Salam, a new general-purpose and systems programming language for efficient software development
Dev.to · John Bampton
📰
The Performance Illusion
Learn why web systems fail under real load despite good benchmarks and how to avoid this performance illusion
Medium · Programming
📰
Write-Intensive Systems: Key Challenges in Distributed Systems
Learn to tackle key challenges in distributed write-intensive systems, crucial for scalable IoT and big data applications
Dev.to · Mohammad Quanit
📰
Started a Visual System Design & AI Infrastructure Channel
Learn about a new YouTube channel focused on visual system design and AI infrastructure and how to apply these concepts in your own projects
Dev.to · Jaswanth
Up next
WordPress vs Emdash | Demo & Explainer
Matt Tutorials
Watch →