Slide 1

Slide 1 text

Web APIs: The Past, The Present and The Future Lukáš Linhart

Slide 2

Slide 2 text

[email protected]
 @almadcz
 http://www.almad.net

Slide 3

Slide 3 text

470.000 APIs 5M+ Consumers 350.000 Developers Apiary CTO @

Slide 4

Slide 4 text

Web APIs (exchange of machine-readable, structured data where client has semantic understanding of the domain)

Slide 5

Slide 5 text

Web ~= HTTP

Slide 6

Slide 6 text

The Past-ish

Slide 7

Slide 7 text

structured; data; definition; RO

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

What went wrong? • “text” originally just ASCII • POST tunneling • Simplistic

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

What went wrong? • (in the enterprise world) Nothing!!!!!!!1111!111 • POST tunneling • Way too complex • Sharing domain dictionaries across organisations

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

What went wrong? • Easy to be done wrong • Tooling fragmentation • Be An Architect For This Simple Endpoint™

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

AJAX/AJAJ (SPAs are API clients too!)

Slide 20

Slide 20 text

The Present (based on personal perception)

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

The Rise of HTTP Contracts Swagger/OAS3, API Blueprint

Slide 23

Slide 23 text

The Fall of HATEOAS Tooling is not here. Not enough benefits in affordances vs fixed (URL) contracts

Slide 24

Slide 24 text

RPC reborn GraphQL & gRPC/protobuf rising

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Client Has The Power GraphQL, cURL, “old” REST

Slide 27

Slide 27 text

Return of the Binary HTTP/2-3, ProtoBuf, 0101s are less frowned upon

Slide 28

Slide 28 text

Real-Time Rising Protocol winner unclear

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

The Future (Questions)

Slide 31

Slide 31 text

Client generalisation Will we break out of domain-specific clients?

Slide 32

Slide 32 text

Shared semantic/ domain model It (almost always) failed. Will we succeed?

Slide 33

Slide 33 text

IoT pressure Scaling clients that can’t break, on low-power devices. Autonomy?

Slide 34

Slide 34 text

ML usefullness Will ML be usable for protocol programming?

Slide 35

Slide 35 text

Internal & External API unification Currently rarely same because of different contracts

Slide 36

Slide 36 text

@almadcz http://www.almad.net Thank You @apiaryio https://apiary.io/

Slide 37

Slide 37 text

Credits Closed eyes seagull: Photo Credit: marfis75 Flickr via Compfight cc Disaster Girl by Dave Roth, January 2004, CC BY-NC https://www.flickr.com/photos/travelingroths/2518727675/ Preacher: Photo Credit: redroofmontreal Flickr via Compfight cc tester: Photo Credit: wocintechchat.com Flickr via Compfight cc devil: Photo Credit: H.KoPP Flickr via Compfight strudelt Flickr via Compfight cc CommitStrip: https://www.commitstrip.com/en/2018/11/15/http-3/