3. TOP PROGRAMMING LANGUAGES
C is still the first
language !
Assembly is still in
the top 20 !
Source: TIOBE Index
4. A TALE OF ABSTRACTION
HOP, APISpark, WebShell
Web API languages
Java, JS, Dart, Groovy
Application languages
C, C++, C#, Obj-C, Go
System languages
NASM, TASM
Intel, AMD, SPARC
Assembly languages
Hardware
Web scale, high availability, multi-tenancy
Productivity, portability, business logic
Native/OS code, very high performance
Lowest level language, tedious maintenance
5. WEB API LANGUAGES
CURRENT STATE
• Can describe Web APIs
– XML or JSON driven representations
– proper HTTP methods usage
– markup languages (XML, JSON, YAML, MarkDown)
• Can generate code
– client SDKs
– server skeleton
6. WEB API LANGUAGES
NEXT STAGE ?
• Let developers program the Web
– through web APIs instead [Java/JS] APIs
– natively speaking the HTTP semantics
– not only the API contract, also the implementation !
• Web APIs can be local or remote
– inherently component-based
– ready for load-balancing, scaling, cross-region
• Cloud-ready implementations
– multi-tenant execution
– run on-top of IaaS
– built-in persistence service (synchronized APIs life cycle)
…
JavaScript based
Internal DSL
HOP pioneer
8. API EDITOR
• Let developers code at the API level
– Visual editor
– Command line editor
• Cloud ready
– collaborative edition
• think Google Docs and GitHub style
– easy composition of multiple APIs
• via import instructions
• easy discovery mechanism (like Linux or Java package managers)
9. API COMPILER
Web API languages
Generates [Java] code
Application languages
Generates [JVM byte code]
System languages
Generates assembly code
Assembly languages
Generates CPU operations
Hardware
Compilers translate higher-level languages
into lower-level languages
10. API DEBUGGER
• Let developers debug API calls
– HTTP centric, semantics and transport data
– pause, stop, continue, set breakpoints
– works like a [Java] debugger
• Works on both server and client sides
– support both synchronous and asynchronous calls
– lot of room for innovation!
…
Interactive HTTP proxy
11. API RUNNING
• Let developers run APIs
– similar to using web API frameworks on top of
application languages (eg. Restlet Framework for Java)
– similar to API deployment (developer environment)
• Special features
– no separation between framework and actual
language for better productivity
– lot of room for innovation!
…
Restlet Framework based
Node JS based
12. API DOCUMENTATION
• Let developers document APIs
– technical documentation easy to maintain
– tools similar to Javadocs to keep documentation close
to the code
– still needs separate user guide and tutorials
• Currently mature on the API contracts
– what about the implementation details?
13. API DEPLOYMENT
• Let developers deploy APIs
– like Eclipse IDE deployment of Web packages (WAR) to remote
application servers
– as simple as pressing a button
– targets either staging or production environments
• Special features
– built on top of IaaS
– cross-region deployment as a key option
• for high-availability
• for low latency (geo-DNS routing)
20. PAAS 2.0
• IaaS is a revolution
– fully embraced web APIs
– provides a disruptive new abstraction layer
• PaaS 1.0 is just an evolution
–
–
–
–
only simplifies the deployment aspects
same application languages, similar complexity/time/cost
slow adoption compared to IaaS stellar growth
adapts existing development practices to the Web
• Time for PaaS 2.0 !
– fully embrace web APIs as a disruption factor
– cross-region deployment, zero-downtime, low latency will become standard in
SLAs your web API can’t stop your partners
– development costs and time to market can be reduced
A whole new web API game is starting !
21. BREAKING NEWS !
• Seed round recently announced
– $2M raised
• to expand our Engineering team in France
• to accelerate our Marketing efforts in the US
– Experimented board including
• Bertrand Diard, co-founder of Talend, Los Altos
• Matthieu Hug, CEO Fujitsu RunMyProcess, Paris
• Reza Malekzadeth, VP Business of Cumulus, Los Altos
– Third co-founder
• Stève Sfartz, VP Engineering (see talk tomorrow)
• APISpark Public Beta !
– starting today at APIdays Paris
– no more waiting list
– looking forward to getting your feed-back!
http://apispark.com