APIdays Paris 2014 - The State of Web API Languages
Transcript of APIdays Paris 2014 - The State of Web API Languages
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 !