APIdays Paris 2014 - The State of Web API Languages

19
The State of Web API Languages Presented by Jerome Louvel, Chief Geek

Transcript of APIdays Paris 2014 - The State of Web API Languages

The State of Web API

Languages

Presented by Jerome Louvel, Chief Geek

New API Landscape

API

project

Multiplicity of

HCI modes

Always-on and

instantaneous services

Mobile and contextual

access to services

Cross-channel user

experiences

Cloud computing & hybrid

architectures

Web of data

(semantic)

● New types of APIso internal & external APIs

o composite & micro APIs

o experience & open APIs

● Number of APIs increaseso channels growth

o history of versions

o micro services pattern

o quality of service

● → Industrialization neededo new development workflows

o importance of API languages

Impacts on API development

Infrastructure APIs

(IaaS)

Platform APIs

(PaaS)

Micro APIs

(domain data & logic)

Composite APIs

(domain services)

Experience APIs

(backends)

User Interfaces

(frontends)

Open APIs

(public)

End-users

Micro APIs

(external SaaS)

Partner devs

● 50% of classic

languages at the top

● Cobol and Assembly

are still in the top 30

● New languages

rising quickly

(Swift, Dart)

● An API language in

this list soon ?

Source: TIOBE index

Top programming languages

Languages are Abstraction Layers

Hardware

Assembly languages

System languages

Application languages

Web API languages

software level, drivers

NASM / TASM

OS level, high performance

C / C++ / C# / Go

productivity, portability, business logic

Java / PHP / Visual Basic

web scale, interoperability, integration

RAML / Swagger / API Blueprint

lowest level, machine instructions

x86 / CISC / RISC / etc.

● 1) Describe Web API contract

o endpoints, resources, HTTP methods, representations

o enable the generation of:

client SDKs

server skeletons

test suites

mock servers

● 2) Implement Web APIs

o wrap regular applications written with classic languages

o compose lower-level APIs into higher-level APIs

o integration purpose at web scale

● 3) Consume Web APIs

o to build composite APIs

o to build user interfaces or enable connected devices

Maturity levels of API Languages

Lower level

languages

Lower level

languages

● Swagger 2.0

o announced at GlueCon in May

by Tony Tam from Reverb

along with Swagger Editor

o formal JSON schema defined

o preview specification released in September

o tooling still being upgraded

o leader in term of community adoption

● RAML & API Blueprint

o maturing projects with more adoption and contributions

o new generation targets such as Postman collections

o opening beyond their initial sponsor (Mulesoft and Apiary)

o will they be able to catch up with Swagger?

● Tooling quickly maturing

What changed in 2014?

New API development workflows

● API-driven approach benefits

o a pivot API descriptor

o server skeletons & mock generation

o up-to-date client SDKs & docs

o rapid API crafting & implementation

● Code-first or API-first approaches

o can be combined using

code introspectors to extract

code generators to resync

API source code

API descriptor

introspect generate

API

docs

generate generate

Client

SDKs

Crafting an API

● Specialized API crafting toolso code editors

o visual designers

o generation of

contract

client SDKs

skeletons

● New generation of toolso IDE-type

o Web-based

● What’s missing?

o collaborative edition (GDoc style)

o writing API implementations

business logic

import of other APIs

● Browser-based IDE for API craftingo accelerate the design of APIs

o Chrome application

o compatible with other modern browsers

● Supportso visual design of APIs

o source code views

o APIs with large # of resources (sections)

o skeleton and SDK generation

o adherence to REST

o multiple API languages

Swagger & RAML initially

API Blueprint planned

first tool of this kind

http://studio.restlet.com

Launching at

APIdays 2014!

Crafting an API with Restlet

Conclusion

● APIs enable new layers of abstraction

● In the Cloud Stack○ IaaS became a game changer thanks to APIs

■ S3, EC2, Route53, etc.

■ moving up the value chain

○ PaaS is the next game changer in cloud

■ Docker containers provide one key block

■ APIs will play a strategic role again

○ Web APIs power all those layers

● In the Development Stack

○ new generation of languages

○ API-first approach emerge

○ replacing Code-first bottom-up approaches

○ still some key missing pieces in API languages

○ stay tuned for 2015 !

Thank you

Q&A