Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20
, ,

Designing Web APIs

Building APIS That Developers Love

Paperback Engels 2018 1e druk 9781492026921
Verwachte levertijd ongeveer 16 werkdagen

Samenvatting

Using a web API to provide services to application developers is one of the more satisfying endeavors that software engineers undertake. But building a popular API with a thriving developer ecosystem is also one of the most challenging. With this practical guide, developers, architects, and tech leads will learn how to navigate complex decisions for designing, scaling, marketing, and evolving interoperable APIs.

Authors Brenda Jin, Saurabh Sahni, and Amir Shevat explain API design theory and provide hands-on exercises for building your web API and managing its operation in production. You’ll also learn how to build and maintain a following of app developers. This book includes expert advice, worksheets, checklists, and case studies from companies including Slack, Stripe, Facebook, Microsoft, Cloudinary, Oracle, and GitHub.

- Get an overview of request-response and event-driven API design paradigms
- Learn best practices for designing an API that meets the needs of your users
- Use a template to create an API design process
- Scale your web API to support a growing number of API calls and use cases
- Regularly adapt the API to reflect changes to your product or business
- Provide developer resources that include API documentation, samples, and tools

Specificaties

ISBN13:9781492026921
Taal:Engels
Bindwijze:paperback
Aantal pagina's:200
Uitgever:O'Reilly
Druk:1
Verschijningsdatum:25-9-2018
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Over Amir Shevat

Amir Shevat is the head of developer relations in Slack, working with bot developers and designers. Previously Amir managed Google Startup outreach program, helping developers around the world design and build better products. Amir has also created a product design course in Udacity, teaching product managers, designers & developers how to build products users love. Amir is the co-lead of the botness community where bot platform leads and bot developers share best practices.

Andere boeken door Amir Shevat

Inhoudsopgave

Preface
How This Book Is Organized
Conventions Used in This Book
O’Reilly Safari
How to Contact Us
Acknowledgments

1. What’s an API?
Why Do We Need APIs?
Who Are Our Users?
The Business Case for APIs
APIs for Internal Developers First, External Developers Second
APIs for External Developers First, Internal Developers Second
APIs as the Product
What Makes an API Great?
Closing Thoughts

2. API Paradigms
Request–Response APIs
Representational State Transfer
Remote Procedure Call
GraphQL
Event-Driven APIs
WebHooks
WebSockets
HTTP Streaming
Closing Thoughts

3. API Security
Authentication and Authorization
OAuth
Token Generation
Scopes
Token and Scope Validation
Token Expiry and Refresh Tokens
Listing and Revoking Authorizations
OAuth Best Practices
WebHooks Security
Verification Tokens
Request Signing and WebHook Signatures
Mutual Transport Layer Security
Thin Payloads and API Retrieval
WebHook Security Best Practices
Closing Thoughts

4. Design Best Practices
Designing for Real-Life Use Cases
Designing for a Great Developer Experience
Make It Fast and Easy to Get Started
Work Toward Consistency
Make Troubleshooting Easy
Make Your API Extensible
Closing Thoughts

5. Design in Practice
Scenario 1
Define Business Objectives
Outline Key User Stories
Select Technology Architecture
Write an API Specification
Scenario 2
Define the Problem
Outline Key User Stories
Select Technology Architecture
Write an API Specification
Validate Your Decisions
Closing Thoughts

6. Scaling APIs
Scaling Throughput
Finding the Bottlenecks
Adding Computing Resources
Database Indexes
Caching
Doing Expensive Operations Asynchronously
Scaling Throughput Best Practices
Evolving Your API Design
Introducing New Data Access Patterns
Adding New API Methods
Supporting Bulk Endpoints
Adding New Options to Filter Results
Evolving API Design Best Practices
Paginating APIs
Offset-Based Pagination
Cursor-Based Pagination
Pagination Best Practices
Rate-Limiting APIs
What Is Rate-Limiting?
Implementation Strategies
Rate Limits and Developers
Rate-Limiting Best Practices
Developer SDKs
Rate-Limiting Support
Pagination Support
Using gzip
Caching Frequently Used Data
Error Handling and Exponential Back-Off
SDK Best Practices
Closing Thoughts

7. Managing Change
Toward Consistency
Automated Testing
API description languages
Backward Compatibility
Planning for and Communicating Change
Communication Plan
Adding
Removing
Versioning
Closing Thoughts

8. Building a Developer Ecosystem Strategy
Developers, Developers, Developers
The Hobbyist
The Hacker
The Business-Focused, Tech-Savvy User
The Professional Developer
And Many More
Building a Developer Strategy
Developer Segmentation
Distilling the Value Proposition
Defining Your Developer Funnel
Mapping the Current and Future State
Outlining Your Tactics
Deriving Measurements
Closing Thoughts

9. Developer Resources
API Documentation
Getting Started
API Reference Documentation
Tutorials
Frequently Asked Questions
Landing Page
Changelog
Terms of Service
Samples and Snippets
Code Samples
Snippets
Software Development Kits and Frameworks
SDKs
Frameworks
Development Tools
Debugging and Troubleshooting
Sandboxes and API Testers
Rich Media
Videos
Office Hours
Webinars and Online Training
Community Contribution
Closing Thoughts

10. Developer Programs
Defining Your Developer Programs
Breadth and Depth Analysis
Deep Developer Programs
Top Partner Program
Beta Program
Design Sprints
Broad Developer Programs
Meetups and Community Events
Hackathons
Speaking at Events and Event Sponsorships
Train-the-Trainer and Ambassador Programs
Online Videos and Streaming
Support, Forums, and Stack Overflow
Credit Program
Measuring Developer Programs
Closing Thoughts

11. Conclusion
A. API Design Worksheets
Define Business Objectives
The Problem
The Impact
Key User Stories
Technology Architecture
API Specification Template
Title
Authors
Problem
Solution
Implementation
Authentication
Other Things We Considered
Inputs, Outputs (REST, RPC)
Events, Payloads (Event-Driven APIs)
Errors
Feedback Plan
API Implementation Checklist:

Index

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Designing Web APIs